3 ms·
It looks great but most of make-like tools are not functionnal. So yeah functionnal everything is better but nothing is functionnal right now.
by Ceezy 8y ago
It looks great but most of make-like tools are not functionnal. So yeah functionnal everything is better but nothing is functionnal right now.
- colanderman 8y agoMake itself is largely a functional/declarative language. Beside the recipes (which aren't Make but actually shell, though you can use Haskell if you want), the only non-functional feature I can think of are the global variables, which most makefiles generally don't modify in a non-lexical manner anyway.
- Ceezy 8y agoI was talking about tool like rake in ruby and scons in python. they are not declarative at all. But most important is that if what your are building needs you to set env variable ect... I don t see how it could really be done in a functionnal way(without side effects).
- loup-vaillant 8y agoWhat does this has to do with anything? It's not like new build systems have to follow the paradigms of the old ones. Why do you think they write a new build system in the first place?
- Ceezy 8y agoIf you use a fonctionnal tool on top of a non functionnal one you will end up with a non fonctionnal tool. And make is not functionnal whatever you put on top of it won't make it functionnal.
- loup-vaillant 8y agoI thought they replaced make, not used their tool on top of it… And even then, make is mostly declarative. And even then, Haskell is totally implemented on top of imperative tools (formerly C, C--, and now LLVM bytecode). It's still a functional language.
- Ceezy 8y agoHaskell standard library mostly use haskell and NOT C or C--. If you use C to implement your language any small language in C can strongly impact yours, nobody wants that. By the way the purpose of C-- is the GHC(because you don't want to be tightly coupled with C). All variables in make which are not target-specific, are global. That 100 % non functionnal. > And even then, make is mostly declarative. The docker API is declarative but the reality is not, so everybody somehow use docker shell to do dirty stuff.
- deleted 8y ago[deleted]