Day 128: First day at Leo's

autrijus on 2005-06-11T21:24:13

iblech just implemented rudimentary macro support in Pugs.

pugs> macro test ($x) { say "macro"; "100$x" }
pugs> say 2; test 3
2
macro
'1003'
As seen on #perl6:
22:53 < nothingmuch> my god, you go for 10 minutes, and pugs gets macros
00:11  * putter thinks "macros !?!" O.O ;)
00:12 < iblech> Yeah, and the tests pass! :)

In other news I submitted hw2005.pdf (tex, ps), two hours before the extended deadline. Sadly I don't fully grok how BibTeX works yet, so it's missing references; also many unfinished paragraphs in the final section and conclusions are mercilessly cut out. I'll see if can still fill in tomorrow.

...except putter just offered to do all the bibtexing for me. putter++ jens++ iblech++ leo++ for getting my paper in shape just when I'm about to give up all hope.

Great progress at hackathon too. We figured out:

  • Compilation strategy of PugsExp->PugsAST->PIR->PBC (a small part of it is in the paper; more is written on the whiteboard scratchpad thing here.)
  • Leo wrote down some notes in perlcabal.org:~lt/docs/STM.txt that talks about how to implement STM in Parrot.
  • I also got to the end of the serialised interpreter context -- that is to say continuation -- implementation problem; it's basically the same problem Pugs faces when reifying the interpreter states, so we have a pretty good chance of sharing the solutions -- that's section 5.3 in my paper.
  • We started to review and purge misleading PDDs. Lots of things gets excised, rewritten, and generally improved to stay up to date with the current code.
  • How to support for runtime-added attributes for ParrotObjects, that can be shared among PythonObject and Pugs's VObject interfaces.

nothingmuch's Harrorth journal is very helpful -- Leo mentioned it's the first Haskell text that actually makes sense to him.

Oh, and #parrot now has a commit bot, svnbot6, that is, of course, powered by Pugs. I look forward to compile it to PBC. :-)

Check Chip's APW presentation slides (pdf) too. I think it's a much needed attempt at at least some underpromising, and the refocus on PIR level stability for compiler authors is certainly a welcome change.

There's also extensive discussions on generational GC, unifying PMC interface with ParrotObject, and unifying ParrotString with PMCs, etc. Lots of handwritings covered several large scratch papers -- expect more tomorrow when I actually get to code!