From mboxrd@z Thu Jan 1 00:00:00 1970 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> In-reply-to: Your message of "Tue, 28 Aug 2012 21:39:06 EDT." References: <68ce90976b22bdb0929ccccafef4b7d0@kw.quanstro.net> <3330200.XJjoRb8JbZ@blitz> <5538fcd345a73fc294c6ee568f2fcdb4@kw.quanstro.net> <20120828201430.0C490B827@mail.bitblocks.com> Date: Tue, 28 Aug 2012 19:13:30 -0700 From: Bakul Shah Message-Id: <20120829021330.B4245B827@mail.bitblocks.com> Subject: Re: [9fans] rc's shortcomings (new subject line) Topicbox-Message-UUID: b30dec36-ead7-11e9-9d60-3106f5b1d025 On Tue, 28 Aug 2012 21:39:06 EDT erik quanstrom wrote: > > The feature I want is the ability to pass not just character > > values in environment or pipes but arbitrary Scheme objects. > > But that requires changes at the OS level (or mapping them > > to/from strings, which is a waste if both sides can handle > > structured objects). > > !? the ability to pass typed records around is an idea that was > tarred, feathered, drawn and quartered by unix. files, and therefore > streams, have no type. they are byte streams. I was not talking about "records" but s-expressions. "json" is kind of sort of the same thing. Without a generally useful and simple such mechanism, people end up devising their own. The 9p format for instance. And go has typed channels. > rc already passes structured data through the environment. > rc variables in the environment are defined as > > var: [^ctl-a]* > | ([^ctl-a]*) ctl-a list > > so there is precident for this in shells. And this.