[IronPython] Pondering Monad/MSH and IronPython

Keith J. Farmer kfarmer at thuban.org
Mon Jul 25 19:50:51 CEST 2005


I haven't used Ruby, but my experience with Python would say the syntaxes are very different.  In particular, I don't know of syntax in Python that says: 
 
* "Take a stream, apply lambda to each element, and send the output to a stream."
* "Attach the output of this stream to the input of this other stream."
 
The streams may be stdIn, stdOut, errOut, objIn, and objOut, more or less.  It's the last two that MSH focuses on.
 
In the Unix world, tradition has us parsing stdin and sending stuff to stdout (an attempt to be lenient) whereas MSH abandons the custom parsing in favor of streams of objects (an attempt to be precise).  Formatting and parsing happen only when absolutely necessary, such as when you write a parser to convert the lines in a file into objects (leniently creating precision), or at the end of execution, when you can optionally specify that the output is to be a list, or a table, or some other format you create a definition for such as an Email Format.  I think this pipeline is fairly key to MSH's identity.
 
MSH is fairly much a shell/language bundle, where Python is a language with an external shell to it.  As Python is often seen as the glue between platform modules, I think you could see MSH as the glue between scripts.
 
You *could* make a new shell that used Python as a base language, and introduced the pipeline syntax; I think it'd be interesting to see someone make a generic shell that could take a plug-in compiler.  In any case, you will be able to extend MSH with functions you create in IronPython, once (I think) IronPython has attributes and static compilation available.  If you do so, I think you'll make make Mono users very happy.
 
The MSH Wiki is here.. there's some documentation to be found here, as well as in the team blogs.  I'd definitely recommend the latter, particularly http://www.proudlyserving.com/, which has a 5-part series on Monad and RSS starting 25 June, which touches on many of the bits.
 
Of course, these are my views.  I'm no language-design expert. ;)

________________________________

From: users-ironpython.com-bounces at lists.ironpython.com on behalf of John Lam
Sent: Mon 7/25/2005 9:21 AM

 
I haven't had a chance to look at the MSH language yet - apparently something is keeping my betaplace application from being accepted (or my spam filter is eating the reply - not sure :)) but for those who have seen it, can python or ruby-isms produce more or less the syntax?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 6048 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20050725/0ced8fd4/attachment.bin>


More information about the Ironpython-users mailing list