3 ms·
> I fall heavily into the use less powerful languages "liberties constrain, constraints liberate" camp. For what it's worth, so do I. That's why my build syste
by ghoward 4y ago
> I fall heavily into the use less powerful languages "liberties constrain, constraints liberate" camp.
For what it's worth, so do I. That's why my build system will allow users to set those constraints. It's a great idea.
> I'd be very interested in a real world example of this, though I know that class of examples is hard to come by.
There are many, but I'll say one: anything that requires iteration until a fixed point is reached. A concrete example of this is building documentation in LaTeX.
Or it may even be simpler than that. Maybe your build requires some sort of special code should two arguments have specific values. In other words, edge cases often require Turing-compete power to resolve.
- HowTheStoryEnds 4y agoWould you consider lisp to be (possibly) declarative?
- ghoward 4y agoNo, it is Turing-complete. I was going off of the article and Nix documentation that says Nix is declarative. But if it actually is not, then there shouldn't be a problem with power. However, Nix proponents shouldn't claim it is declarative either.
- theCodeStig 4y agoLaziness, and purely functional go a long way toward declarative.
- ghoward 4y agoDeclarative has a few definitions with respect to computer languages, and the Nix community seems to be using one and ignoring others. When I think of declarative, I think of a language that has less power than a Turing-complete language. Think Make without bash or any shell. Or HTML without CSS. In other words, the Nix community seems to use "declarative" as meaning "without side effects" where some programmers, like myself, hear "declarative" and think of something like HTML without CSS or JSON.
- theCodeStig 4y agoNot all lisps are declarative, but a lisp certainly can be declarative.
- theCodeStig 4y agoOk then, would you consider markup languages declarative, XML... XSLT?
- ghoward 4y agoYes. They are declarative.