This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

TCL->Scheme as it stands


I've been busily working away at the translator, but mostly battling
with the partial evaluator.  I think it won.  Even if it has tamed me
(no more programming tricks for me!) it is working again.

So I've got a bit of something working.  Right now it can
translate/compile Tcl (I guess translation and compilation are the
same thing) to a limited degree.

If anyone wants to look at it, you can get it at:

http://www.cs.earlham.edu/~bickiia/tcl-scheme/tcl-scheme.tar.gz

It includes installation/usage instructions.  The interpreter form
works in Guile, but I can't get Similix to work in Guile, so you have
to use Scm for actually compiling Tcl.

At least on my system the slib module wasn't working, with this error:

/usr/local/share/guile/1.3a/ice-9/slib.scm:145:9: In procedure error in expression (error "Could not find slib/require.scm in " %load-path):
/usr/local/share/guile/1.3a/ice-9/slib.scm:145:9: Could not find slib/require.scm in  ("/usr/local/share/guile/site" "/usr/local/share/guile/1.3a" "/usr/local/share/guile" ".")

What's this require.scm?

Anyway, for now Scm works fine.  Probably this slib thing is the only
thing needed to port Similix, though.

It doesn't do any interaction with Scheme at the moment.  It lacks
associative arrays, bunches of primitives, and probably a lot of the
stuff that would make for interesting tests.  There are lots of things
I haven't properly tested yet because there's so many different ways
to compose Tcl code.  The TODO lists a lot of the stuff I haven't
implemented yet.  Most Tcl code you can currently write is very
static, and there's little that can depend on runtime.  This makes for 
less-than-interesting compiling.

If you try it out, I'd be interested in any bugs you find in the
interpreter (which aren't obvious omissions or incorrect tcl code,
which the interpreter does not parse elegantly).  

I should probably stop working on it for the next week or so, because
I've neglected my studies and big deadlines for other projects are
coming up.  But I probably won't enjoy them as much, so I'll end up
working on it anyways...


<------------------------------------------------------------------->
< Ian Bicking                 |  bickiia@earlham.edu                >
< drawer #419 Earlham College |  http://www.cs.earlham.edu/~bickiia >
< Richmond, IN 47374          |  (765) 973-2824                     >
<------------------------------------------------------------------->