Friday, March 11, 2005

Other LILs

I have recently blogged in my MSDN blog about LIL (Low-level Intermediate Language). In my research LIL was used to design a better interface between a JIT compiler and the rest of the virtual machine. But I just searched for other uses in a similar context and I found others who have used the same acronym:
  • The Little Implementation Language. This seems to be the oldest use of the term LIL. The work was done around 1974 in Bell Labs. Its goals were to provide the efficiency of the assembler but at a slightly higher-level language. Since C compilers eventually produced very good code quality, the performance benefit of using this LIL became small. Note that the goal of our project was different: we needed a language that could express things that C cannot express.
  • Low-level Intermediate Language is a name of a compiler IR that is opposed to MIL (Medium-level Intermediate Language). Also read this paper: Low-level Intermediate Language.
  • Lispy implementation language is the low-level implementation language of the Scheme 48 system. This language had Lisp-like syntax but because it was used to implement the virtual machine itself, it didn't rely on features like GC. One way to view it is as "C with Lisp syntax". This language was later renamed to Pre-Scheme and this is the more well-known name for it.
Some of these LILs are related enough to our work that we should have mentioned them in our paper for completeness. I wish I thought of searching the web for "LIL" when we wrote the paper.

Comments: Post a Comment



Links to this post:

Create a Link



<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]