HN user

oalessandr

181 karma
Posts2
Comments13
View on HN

I get your point, but you don't need to run imports over the network (local imports are fine).

Also, if you were to import over the network, by running `dhall freeze` a semantic hash of the content is computed so you are 100% sure that what you are importing is not going to change. Moreover, files that have a hash value will be cached by dhall.

If you don't want to bother with copying over Prelude and you don't trust the cache, you can also normalize the code before pushing it to the network. This will flatten all your imports and reduce your file to normal form.

You might be interested in what they say about imports here: https://github.com/dhall-lang/dhall-lang/blob/master/standar...

I'm trying to use it for Kubernetes since it can both work like helm (paramerizing functions) and kustomize (using the merge // operator). Moreover it has (safe) imports which make defining constants quite easy.

There are already kubernetes bindings available https://github.com/dhall-lang/dhall-kubernetes .

The syntax in the examples looks a bit more verbose and less readable than yaml but I think building sensible abstractions on top of it will alleviate the pain (abstractions here are innocuous since you can 'normalize' the code and they disappear)

I'm not too happy with the default formatting though. I think if the formatter indented nested values similar to yaml that would look better to the human eye.

Also from a user's perspective, I'd prefer everything that doesn't need to be a native app to be a pwa. They are much more lightweight and more limited in permissions. Probably those apps don't need to be submitted to the store either, except for discoverability (users are now used to search for apps on the store)

I know it's not in the options you listed, but why not Scala?

It has the nice things of the languages above, combined together:

- a concise high-level programming language

- a compiler that helps avoiding bugs

- fast runtime

- access to a great ecosystem of libraries

(In better words: https://github.com/scala/scala-lang/pull/852#issuecomment-37...)

Moreover, if you work with Data Scientists you might find convenient working in Spark's native language.

A great thing about Scala is that you can either use as a better Java (availability of developers) or go fully functional-category theory like Haskell with libraries such as Cats.