Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

100% Positive

Analyzed from 228 words in the discussion.

Trending Topics

#maak#file#command#run#makefile#data#drake#why#runners#quick

Discussion (4 Comments)Read Original on HackerNews

wwfnabout 1 hour ago
It looks like maak does not have a mechanism for specifying file dependencies (run recipe when dependent file is newer than output file). I'd love to be wrong. I try to use Makefile to document data pipelines, but it's easy for it to become spaghetti. [Edit: There's the decade-stale https://github.com/factual/drake "Drake is similar to GNU Make, but designed especially for data workflow management". I can't remember why I bounced off it.]

For command line runners like maak and just, why not use small cli scripts (`quick-math 23 42` instead of `maak quick-math 23 42`)? I think I'm missing the bigger picture.

phtrivierabout 1 hour ago
Seconding that. From the doc, maak is much more related to other general purpose tasks runners (a la "rake" for ruby) than as a replacement for the core usage of Makefile on a C / Fortran / whatever-project (as in "define rules to specify the dependency chain declarively, and a tool will traverse the graph to only run the required commands".)

Which is not a criticism of the tool, if that was their goal !

But it's not obvious from the doc if the maak scheme libraries provides anything to replace the tedious rules that everyone write ("compile x.o when x.c or x.h change", etc...)

In many languages more modern than C, the compiler already has the info needed to know what needs to be compiled or not (or, does not really care, and just recompile everything all the time) ; Makefiles for projects in such language end up being full of ".PHONY" clauses - I see how writing those in lisp could be seen as an improvement.

mepianabout 2 hours ago
What does it have to do with the Lisp machine?
tom_about 2 hours ago
Presumably it's a machine command runner (like shell commands and whatnot - as opposed to an Emacs command runner, perhaps).