Replies: 2 comments 1 reply
-
Namespaces/modules are not planned currently, but it's not out of the question either. In one direction, Nickel ought to stay as simple as possible, at least in a simple setting, that is, the actual configuration data: the fact there is a non trivial type system with polymorphism and whatnot is not required knowledge for someone writing a config file. What's important is that they get good error messages when they do something wrong. On the other hand, a unified and principled way to write and consume libraries could surely pay for the additional complexity. Just to fuel the discussion, what are e.g. the features your miss from a module system (say, the one of Guix) vs simply using record, imports and destructuring? |
Beta Was this translation helpful? Give feedback.
-
I also think a principled and standardized approach for code organization will benefit the developing nickel ecosystem greatly. For example with nix, due to the absence of such an approach, each flake also develops its own organizational scheme. This leads to niche solutions like divnix/std that propose such schemes (which also have to be learned). Ultimately fragmenting the flake ecosystem as flakes only work nicely with specific other organizational schemes. Generally, any project getting big enough would want to organize the code into multiple files, so code organization libraries would develop anyway. So before the ecosystem has time to fragment, I think nickel should provide a unified approach. |
Beta Was this translation helpful? Give feedback.
-
It seems nickel only has imports just as nix... Are proper modules/namespaces definition and usage/import not in the plans? Guix/Guile has this and it is a boost in usability/organization. In Nix people do hacks to get similar namespace functionality; it is bad usability having to deal with the import/filesystem approach.
Beta Was this translation helpful? Give feedback.
All reactions