Thursday, October 28, 2010

Still not pleased

I am still not programming. The thing which bothers me the most is that I don't feel too much like going in the direction of a 'classical' VM -i.e. a VM with primitive types, loads, stores, a calling mechanism and a garbage collector- and generating code for that. Why? My gut feeling tells me I will generate just too much code in the conversion from combinator to the code for a classical VM, rewriting a combinator expression just entails producing code with lots of allocations, and copying of pointers/slots from the term being rewritten to the term being produced.

What I want is a translation scheme to some Graph Rewrite System, or abstract machine, with a high level instruction set which avoids the current explosion when going from combinator to instructions. I am wondering whether the current scheme is just too concrete in its naive translation. Can I get rid of explicit data nodes? Can I translate to, not a graph machine, but trivial combinators on a stack machine?

4 comments:

  1. Marco,

    could you contact me at the e-mail address in my LtU profile? [first name] [last name] at yahoo dot com

    ReplyDelete
  2. hmm, i dont think i got pinged. might've gotten put in spam. i just emptied spam so i can't test that theory.

    could also just be that mail is store-and-forward and takes awhile to shuffle through the intertubes.

    ReplyDelete
  3. I tried it again. Otherwise, just send me a mail at marco (dot) devillers (at) gmail (dot) com.

    ReplyDelete