From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <24eb2801abe768758f7a60b2b15df709@coraid.com> References: <773C7824-C50D-49EE-9CF8-74E91515F2F3@corpus-callosum.com> <201011051807.53647.dexen.devries@gmail.com> <201011051832.14379.dexen.devries@gmail.com> <50204b4f64941301a658e83f9bf6d1be@coraid.com> <24eb2801abe768758f7a60b2b15df709@coraid.com> Date: Mon, 8 Nov 2010 11:04:59 +0000 Message-ID: From: roger peppe To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] Plan9 development Topicbox-Message-UUID: 790d47b2-ead6-11e9-9d60-3106f5b1d025 On 5 November 2010 19:06, erik quanstrom wrote: >> > ('&', '&&', '||', if, '|', 'and '`{}') with something general >> > enough to replace mk, you'd be on to something. >> >> i did a mash-inspired version of mk as an inferno shell module once. >> it required no new syntax (although it could be confused by >> files named ":"...) > > what you did was very cool, but iirc this was in addition > to, not replacing the standard && || ... bits. =C2=A0one > could build pipelines and specify command order in one > unified way, no? well, all it knows about are commands, fds and environment variables. if, && and || are all defined externally. a "mkfile" using the sh mk module looked something like this: #!/dis/sh load mk metarule %.dis : %.b { limbo -gw $stem.b } TARGETS=3Dx.dis y.dis z.dis rule -V all : $TARGETS { echo done } mk it'd be trivial to add a bit of syntactic sugar a la mash, to make the syntax more mk-like, but it seemed better just to port mk itself.