Discussion:
[9fans] make-shells that create a file for you
(too old to reply)
Jason Catena
2012-08-30 20:36:36 UTC
Permalink
anyway, a meld of Rc shell and mk? crazy idea.
Inferno (Vitanuova) released a "mash" a ways back, but apparently the sources were lost. It was mind-bogglingly interesting!
http://www.vitanuova.com/inferno/man/1/mash.html
I kept expecting to see the make-shell act proactively to create a
file, if the shell encountered a reference to a file that did not
exist in the filesystem, but for which it had a matching creation
rule. For example, presume someone wants to cat a formatted man page
file, but only the .1 sources exist, and the make-shell knows how to
create the file. When the make-shell sees that the user wants to
reference a file that does not yet exist, it will go ahead and create
the file (kind of like how the plumber does things, including creating
new files, based on the patterns it gets).

This completely hides the make step execution, but still allows the
user to (re)define how files are made, and requires integration with
the shell. On the other hand, mash, as I understand it, forces the
user to type make and a file target. This to me is not different from
the current way files are made with make tools, so I'm not sure what
was gained by bundling it into the shell.

Of course, the suggested feature does slow down the shell when it
encounters a file that does not exist, since it has to scan through
its rules for a possible creation rule, rather than just exit with an
error.

Jason Catena
dexen deVries
2012-08-30 20:50:39 UTC
Permalink
Post by Jason Catena
anyway, a meld of Rc shell and mk? crazy idea.
Inferno (Vitanuova) released a "mash" a ways back, but apparently the
sources were lost. It was mind-bogglingly interesting!>
http://www.vitanuova.com/inferno/man/1/mash.html
I kept expecting to see the make-shell act proactively to create a
file, if the shell encountered a reference to a file that did not
exist in the filesystem, but for which it had a matching creation
rule. (...)
plumb(7), to some extent.
--
dexen deVries
Charles Forsyth
2012-08-30 20:54:38 UTC
Permalink
The observation was that people at the time were adding clumsy
programming-language features to make,
which then executed commands it didn't really understand (ie, couldn't even
parse them),
and might it not be better just to add dependency operators (and others as
needed) to a well-designed command language.
Post by Jason Catena
This to me is not different from
the current way files are made with make tools, so I'm not sure what
was gained by bundling it into the shell.
Continue reading on narkive:
Loading...