As of two hours ago, if you set the PUGS_EMBED environment
variable to "parrot" and run perl Makefile.PL, Pugs will
build and link against Parrot, and provide a require_parrot()
primitive for you. JIT works as one owuld expecte, too.
Jeff Horwitz (of mod_parrot and more recently, mod_pugs fame)
is now hacking away on hooking Pugs's IMC generator with
the embedded Parrot, so we can have on-the-fly compilation
without the need to call external "pugscc".
In other news, the Grin intermediate language used by JHC
Haskell compiler looks very promising:
http://repetae.net/john/computer/jhc/jhc.html
Jhc's Grin -> C compiler is only some 300 lines long, and
unlike GHC, it does not link against a runtime system (RTS),
so it should be relatively straightforward to make a
Grin -> Parrot compiler -- or even a Grin -> Perl 6 compiler.
Once that happens, we can then recompile Pugs with it, and
finish the circle of bootstrapping. There are many other
bootstrapping routes, but this one looks interesting. :-)
Thanks,
/Autrijus/
Rob
Please go ahead -- pugscc will still be needed to create
native executables without using parrot.
Thanks,
/Autirjus/