By matt, on May 29th, 2002%
With Brooke’s help, we now have a Scheme compiler that can take a small program
(for example, the Scheme program ’75′), and expand it into an executable Forth
program approximately 2.5K in size. Keep in mind, that Scheme program (the number
’75′) is CPSed in the final output; it’s tail recursive, guaranteed!
But the important thing: IT WORKS! . . . → Read More: Phase I Complete
By matt, on May 22nd, 2002%
The impending move to UKC has been keeping us busy, and I suppose relates to the notes
I would be jotting on this site in a way. This post isn’t really about research per se, though (the move itself),
although research is a significant part of the motivation for the move.
I will point out the Southeast . . . → Read More: Big moves…
By matt, on May 22nd, 2002%
It compiles to Forth code, and that code is syntactically correct.
Granted, the Forth code doesn’t run. A few things jump out from initial testing:
I have no idea how to go about debugging a Forth program.
I really don’t want this compiler to have to run past register allocation
just to compile to . . . → Read More: Does it have to be semantically correct?
By matt, on May 20th, 2002%
It wasn’t an infinte loop. When writing a ‘meta-circular compiler,’ so to speak,
you have to be careful where the language of the compiler begins and your
implementation ends. In particular, there are some macros that (under Chez Scheme)
implement the semantics of the predicate ‘begin?’ for the last few passes of the compiler.
These same macros do not work . . . → Read More: Success!
By matt, on May 20th, 2002%
The “silliness holding up the Scheme compiler” is a difference between Chez and MzScheme
regarding when macros are expanded and top-level defines are expanded into the namespace.
While I’m confident there is good reason for separating out the stages of definition and
macro expansion, it is frustrating, because things that work in Chez _don’t_ work in Mz, . . . → Read More: Silliness == Two Schemes
By matt, on May 20th, 2002%
Last week was a “down” week. Instead of trying to fight it, I took some time to re-read
the Lord of the Rings, and got the apartment cleaned up for a visit by the ‘rents.
It was good to see them, although it was too short.
My goals this week:
Get past the silliness that is holding . . . → Read More: Doldrums
By matt, on May 13th, 2002%
I’m tying all the passes together, and right now the compiler isn’t even generating good C code.
The bootstrapping code provides a “heap” and “stack” for us to play with (a couple of character arrays),
and provides some rudimentary bounds and alignment checking. All the code being produced right now
right now violates the alignment conditions we have on . . . → Read More: Grr
By matt, on May 7th, 2002%
I think I need to follow up with Tammy and Andy… looks like they aren’t here yet…
While I think the hack to the update script to report “Empty Blog” was nice, I’d rather they weren’t empty.
. . . → Read More: New participants?
By matt, on May 7th, 2002%
Let the record show that a 32x10x40 CDRW (WritexRewritexRead) is really fast.
The implication here is that 600MB of data can be written to disc at 32x
the speed audio is played at. Or, since audio is roughly 10MB/minute, a
1x CDR takes 60 minutes to write a disc. A 32x writer should take, oh…
Chez Scheme . . . → Read More: 32x is fast!
By matt, on May 6th, 2002%
Wow. The harassment begins. Looks like my delta for posts before harassment begins is 4 days…
Here’s whats up:
CPS: I CPSed the subset of Scheme we’re working with high up in the compilation chain;
this way, closure building and representation decisions that get made late in the chain will take care of the
procedural representation of . . . → Read More: No peace unto the wicked…
|
|
|