Exupery is not JIT (was Re: Cryptographic Primitives)

bryce at kampjes.demon.co.uk bryce at kampjes.demon.co.uk
Sat Oct 7 14:00:54 UTC 2006

tim Rowledge writes:
 > Actually I don't think JIT is a sensible description at all; it isn't  
 > accurate and it doesn't really indicate the advantages that Exupery  
 > could have. For example, no extra startup costs, easier extension/ 
 > maintenance/optimising because it is written in a sensible language,  
 > access to all of the reflexive capabilities of the system, trivial  
 > fallback  if the system is run on an unsupported platform  (it just  
 > doesn't do the compiles and leaves everything to the interpreter),  
 > potential for using a spoon-like inter-image communication system to  
 > allow the compiles to run in a different image/machine, and... well I  
 > could probably go on.

Well, most people only really understand the static compilation model
of C/C++, and the dynamic compilation model of VisualWorks and Java.
They call any form of dynamic compilation a JIT. Many so called JITs
compile in the background. I think IBM's Jalapino does background
thread compilation.

Exupery is in some ways closer to a Lisp compiler written in Lisp than
a Deutsch-Schiffman influenced JIT. So, you could say it's drawing on
a tradition that goes back to at least the '70s.

Help is always appreciated. Exupery is a test heavy project, this
should help people get up to speed. Tests are required for everything.

If anyone would like to help please join the Exupery mailing list
and ask.


There's a list of things to do before 1.0 here:


If you're thinking of writing hundreds of primitives for speed then
helping out with Exupery is probably the best use of your time. If
you're thinking about writing tens of primitives then it's
debatable. If you're only thinking of writing a handful of primitives
the just write the primitive unless working on a compiler is it's own

Going back to crypto. From what I understand about SSL writing the
streaming cyphers as primitives should make sense for the next few
years. Writing public key primitives would require some serious
profiling first as they're only used once per session. But we all vote
with our time. Just don't get upset if in 5 years time you're
rewriting cyphers into Smalltalk from primitives for speed.


More information about the Squeak-dev mailing list