4 ms·
Dhall[1] also usually gets mentioned in the same sentence as CUE. As for Nickel, I have mixed feelings about it of the same kind as about ES6 classes and perha
by mananaysiempre 2y ago
Dhall[1] also usually gets mentioned in the same sentence as CUE.
As for Nickel, I have mixed feelings about it of the same kind as about ES6 classes and perhaps modules—we’re taking a simple language (an extremely simple one, in the case of Nix) and baking into it some stuff that the original had as a completely satisfactory library, in the name of discoverability resp. uniformity. Seems a bit sad and unnecessary to be honest. (The problem of Nixpkgs and NixOS, IMO, is not Nix the language, which is fine for the most part, but the fact that they’re a single giant monorepo with comparatively very little documentation even for the parts that basically serve as the Nix standard library.) Looks like my design sensibilities just align much better with PhD-student Eelco than with Tweag-engineer Eelco.
[1] https://dhall-lang.org/ https://dhall-lang.org/
- kevindamm 2y agoDhall does seem to have more integrations but I really like the amount of thought that has gone into Cue's types and operational semantics.
- mananaysiempre 2y agoI agree. If only they wrote down the typechecking/evaluation semantics, even if it’s in the traditional form of a page’s worth of cryptic deduction rules.
- kevindamm 2y agoI think [1] is a good summary of the types and [2] to be a good explanation of their philosophy, but I had some experience with lattice theory and typed feature structure grammars which helped a lot. There are a couple of papers cited in [2] that would help a lot in providing background. Not quite a one-pager! Maybe it would make a good blog post... [1]: https://cuelang.org/docs/concept/the-logic-of-cue/ https://cuelang.org/docs/concept/the-logic-of-cue/ [2]: https://github.com/cue-lang/cue/blob/master/doc/ref/impl.md https://github.com/cue-lang/cue/blob/master/doc/ref/impl.md
- Smaug123 2y agoIs there a particular feature in Nickel you object to? When I think of Nickel I imagine the merging of contracts (and not much else really - that seems like its big flagship feature to me), which seems to me like a pretty minimal necessary feature to model Nixpkgs idioms; is that one of the features you don't like?