4 ms·
Every time I see Nickel, I get teleported back to my days unraveling thousands of lines of Nix code in a company that used it to configure everything. I know th
by aliasxneo 2y ago
Every time I see Nickel, I get teleported back to my days unraveling thousands of lines of Nix code in a company that used it to configure everything. I know they are trying to improve the situation, but I really don't see how this doesn't encourage the same behavior of over-engineering configuration.
- unshavedyak 2y agoHonestly i agree. It feels wrong to me that i can't easily ask the system "What is the value of the object here?" because it's a lazily evaluated almost infinitely deep stack. Still, that's what i want. Give me types (like Nickel) to validate APIs, but also give me easy inspection of values without manually jumping through pointers (function calls) like it's 1985 or something. Ps, please for the love of god give me the ability to use Nickel instead of Nix. It's been such a long wait.
- IshKebab 2y agoFirst I've heard of Nickel - a more user friendly version of the Nix language would be amazing but I skimmed their syntax and in seconds found some really bizarre choices. Multiline strings are m%" ... "% - why? having to match reversed difficult to remember magic glyph sequences is such an arse. Like C++'s raw strings. Awful. Python clearly got this right. Or you could just copy Rust and not even have special syntax for multiline strings. Why do you need it? String interpolation is "... %{foo} ..." - why? Do they take delight in avoiding what other people chose? What was wrong with "... ${foo} ..."? You just wanted to make me have to remember 3 different string interpolation syntaxes? They still inexplicably use `let ... in` rather than the much more beginner friendly and just plain nicer `let ...;` I've only scratched the surface of course but the surface wasn't encouraging. Let me see if you still declare functions in a weird way... checks Well, it's a lot better but they still have inexplicably avoided separating arguments with commas which is obviously going to bite them in the arse when they want to add type annotations. Still, I've been following Dhall, Jsonnet, Cue and all of them seem to have big issues too so I won't count Nickel out.
- unshavedyak 2y agoFor me i'd be "okay" with Nix, i just want types and validation natively. The big blob of unknown types that i get with Nix is just too much.