Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-16 Thread roger peppe
2009/4/6 Bakul Shah bakul+pl...@bitblocks.com: On Thu, 02 Apr 2009 20:28:57 BST roger peppe rogpe...@gmail.com  wrote: a pipeline is an amazingly powerful thing considering that it's not a turing-complete abstraction. f | g is basically function composition, where f and g are stream

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-16 Thread Bakul Shah
On Thu, 16 Apr 2009 18:24:36 BST roger peppe rogpe...@gmail.com wrote: 2009/4/6 Bakul Shah bakul+pl...@bitblocks.com: On Thu, 02 Apr 2009 20:28:57 BST roger peppe rogpe...@gmail.com =C2=A0w= rote: a pipeline is an amazingly powerful thing considering that it's not a turing-complete

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-06 Thread erik quanstrom
Nitpick: the output type of one command and the input type of the next command in the pipeline has to match, not every command. i think this is wrong. there's no requirement that the programs participating in a pipeline are compatable at all; that's the beauty of pipes. you can do things

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-06 Thread erik quanstrom
If program A outputs numbers in big-endian order and B expects input in little-endian order, A|B won't do the right thing. non-marshaled data considered harmful. film at 11. ☺ what i said was not that A|B makes sense for all A and B and for any data but rather that using text streams

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-06 Thread Bakul Shah
On Mon, 06 Apr 2009 12:02:21 EDT erik quanstrom quans...@quanstro.net wrote: If program A outputs numbers in big-endian order and B expects input in little-endian order, A|B won't do the right thing. non-marshaled data considered harmful. film at 11. ☺ In effect you are imposing a

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-06 Thread John Stalker
but forcing compability seems worse. where are these decisions centralized? how do you change decisions? can you override these decisions (cast)? how does the output of, say, awk get typed? The output of awk is a byte stream, same as its input. The same holds for any program. If you

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-05 Thread Bakul Shah
On Thu, 02 Apr 2009 20:28:57 BST roger peppe rogpe...@gmail.com wrote: 2009/4/2 fge...@gmail.com: i wanted to go a little beyond sh while stopping short of the type profligacy of most other languages, hoping to create a situation where many commands used exactly the same types, and hence

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-02 Thread roger peppe
2009/4/2 fge...@gmail.com: On Thu, Apr 2, 2009 at 8:41 PM, John Stalker stal...@maths.tcd.ie wrote: What I most often miss in shell programming is a proper type system. You should have a look at alphabet. It is cool. http://www.vitanuova.com/inferno/man/1/sh-alphabet.html i certainly enjoyed

Re: [9fans] typed sh (was: what features would you like in a shell?)

2009-04-02 Thread tlaronde
I don't know if others have already hit this kind of problematic, but I was dealing with a fair amount of C code, usable both as a library and accessible by a shell. Plus debugging needs. So I was, again and again, writing a wrapper to access a C function from the shell. So I ended concluding