On Wed, Feb 17, 2010 at 3:16 PM, EBo <e...@sandien.com> wrote:

> Nathaniel W Filardo <n...@cs.jhu.edu> said:
>
> > On Wed, Feb 17, 2010 at 03:06:57PM +0100, Gorka Guardiola wrote:
> > > > * each module may have an entry point (main module w/o is allowed,
> > > >  even if it wouldn't make much sense ;-o), these are called after
> > > >  relocation, along the dependency tree, from leaf to root.
> > >
> > > no modules.
> >
> > That's not entirely true; there's (experimental ?) work for dynld(2), and
> > the shipping compilers can already produce DLMs.  (That said, libdynld is
> > not yet part of the base system.)  dynld(2) provides a system reminiscent
> of
> > dlopen() and dlsym(), but no dynamic linkage is supported (only dynamic
> > loading).  It is quite tastefully done and is useful to have for some
> > applications (the python port springs to mind).
>
> Is dynamic loading and linkage something that people want?  I have some old
> experimental code written in Spirit++ (a C++ template library which
> functionally replaces lex and yacc, and reads like EBNF).  The old code is
> for
> a runtime polymorphic parser for RS274 (CNC g-code).  I was experimenting
> with
> parsing historic CNC code, and play with different geometry engines.  This
> old
> project is WAY down on my to-get-around-to list, but it might be an
> interesting testbed for something later on.  This would be useful for stuff
> like a motion controller for the RepRap and DIY 3D Fab machines.
>
> For that matter, is there anything like Spirit++ <http://boost-spirit.com>
> in
> Plan9/Limbo?  When I developed the code for my fist thesis I developed a
> parser for some oddball finite difference equations produced by some
> modeling
> software.  It was nice to have the code read like EBNF.
>
>
Spirit is pretty amazing in that you can write very succinct and powerful
code with it, and yet it is terrible in that when you get an error message
you can end up with quite a disaster (due to the templates).  I particularly
like the Phoenix submodule in the new boost libraries for writing little
functional tidbits with STL looping constructs and iterators.

Speaking of which, Spirit appears to borrow pretty heavily from Parsec which
is a monadic parser combinator framework for Haskell that I believe will
work with Hugs, that also works on Plan 9.  (I think Andrey ported Hugs a
long time ago).

I'd LOVE to have GHC on Plan 9, but my first attempts to get anything
building with it were pretty frustrating.

There's scheme language implementations available for plan 9, and I think
one could either find or come up with a parsing framework like spirit for
scheme that relied on continuations (more "native" to scheme than monads,
though you could use monads too).

Dave


>  EBo --
>
>
>

Reply via email to