On Sun, 3 Aug 2003, K Stol wrote: > > What do you think? Want to try squishing pirate/python > > and pirate/lua together? :) > > Yeah, I like the idea. Let's try this out.
Well, I finished reading your report[1] and posted some of my (rather unorganized) thoughts up at [2] It does seem like there are some snags getting languages to talk to each other, even with the calling conventions, but even so, I'm even more convinced now that a generic, overridable code-generator is the way to go. It seems to me that if we want to maximize the number of languages using it, the generic compiler shouldn't depend on anything but C and parrot... But until we get it working, I'd like to stick to a dynamic language like python/perl/lua/scheme. And, well, my code's already in python... :) [though I'd actually love to try out some lua 5] What I'm picturing is a template system for specifying chunks of IMCC. Something like this: ast generic: on @while(test, body): % while = gensym("while") % endwhile = gensym("endwhile") % test = gensym("$I") {while}: {test} = @expr unless {test} goto {endwhile} @body {endwhile}: on @if(test, elif*, else?): ... ast python(generic): on @while(test, body, else?): ... Okay, I don't have a good syntax in mind yet, the point is it's a template language and you can subclass/override/extend the template. Maybe there's no syntax and it just uses cleanly coded classes in some oo language. Or perl6 with it's grammars and rules. I don't know. Once the templates are defined, you pass the compiler your AST and it walks it and applies the template. So the C api basically is just about building the tree and saying "generate with this language file". Then the language designer's job is just to transform an outside ast into a generic ast. Anyway, I'm talking a lot of nonsense. I'd rather just see what I can do about decoupling my code generator from python and sharing it with another language instead. [1] lua report: http://members.home.nl/joeijoei/parrot/report.pdf [2] http://pirate.versionhost.com/viewcvs.cgi/pirate/INTEROP?rev=1.1 Sincerely, Michal J Wallace Sabren Enterprises, Inc. ------------------------------------- contact: [EMAIL PROTECTED] hosting: http://www.cornerhost.com/ my site: http://www.withoutane.com/ --------------------------------------