[IronPython] Pondering Monad/MSH and IronPython
ken.manheimer at gmail.com
Mon Jul 25 13:58:26 PDT 2005
On 7/25/05, Keith J. Farmer <kfarmer at thuban.org> wrote:
> 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.
i haven't yet seen the language, but the sound of it is quite exciting.
> 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
> 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.
i seem to recall someone who used overloading on bitwise-or to provide
pipeline-style activity in expressions. yeah - there it is -
far from ideal, however - you have to define an __ror__ special method
for each class you want to use on a pipeline. as an enthusiastic sh
scripter, and with the addition of generator expressions, it's
enticing to think about heading down this path. but ultimately i
think it may be too much of a stretch - sees like there's a
fundamental impedence mismatch between the way you want to connect
things together in a command shell and the way you connect things
together in a procedural language.
then again, it might have seemed that way in general until someone
came up with the filter/pipelines model, eg in bourne shell...
> 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.
thanks for the leads!
> Of course, these are my views. I'm no language-design expert. ;)
More information about the users-ironpython.com