-
Notifications
You must be signed in to change notification settings - Fork 21
Ideas to consider: Mk #3
Comments
Paul - thanks for the tip, I've spent some time investigating Mk - I know about Plan 9 of course but didn't know about Mk. Really learned a lot reading about it.
As a Lisp guy, I'm not a fan of indentation, commas, semi-colons and other syntactic devices for grouping, hence I've gone with a Lisp style for Mach. As always with these things, the point isn't to encourage widespread adoption but more to create a tool with a syntax that fit well with Clojure and ClojureScript.
Totally agree - I've separated the concept of a target from the idea of a target file or files. That seems like a good simplification.
Attributes look interesting - definitely worth considering.
See the last point below.
In Mach, every rule is a ClojureScript expression. Those could get unwieldy eventually but I'm holding off sprinkling any syntactic sugar for now, it might be premature at this stage. Targets and dependencies can be computed (or at least that's the idea).
I've separated rules and targets with Mach, so there can be a one-to-many correspondence.
That's a good idea.
Lisp can do it (with eval).
That's the idea of the
That's currently the behaviour in Mach, but the scoping is primitive and currently based on a simple clojure.walk postwalk, replacing symbols with those in scope - that would play havoc with complex recipes so I'll replace this with something less brutal. |
All sounds lovely to me! Thanks for taking the time. |
Plan 9's Mk has a lot going for it and you might find a lot inspiration from studying the design decisions.
Consider looking at this recent port and the original overview doc
The text was updated successfully, but these errors were encountered: