The Tunes LLL Subproject


Contents of the LLL Subproject

Here are the current contents of this LLL project:
  • Firstly, the goals of the subproject
  • Second, the requirements for this LLL's semantics
  • Then, a first sketch of the LLL semantics
  • A list of difficulties about the LLL
  • Still no syntax
  • Even less examples
  • Not to talk about actual implementation code !
  • However, there is already a list of Sub-Subprojects below the LLL.

    As you see, the HLL subproject is still in a draft process :(
    Feel free to contribute !

    You may also want to look at other related works (including implementations of other systems) or go back to the main Tunes page, or to the Tunes Subproject page.


    Goals for the Low Level Language

    The goal of this Subproject is a find a language that will fulfill all the requirement to be used as for Tunes, or design a new one if none is found.


    LLL requirements

  • see in the Tunes Identity FAQ...
  • see the HLL page...
  • portability accross different architecture
  • local (real-time ?) and distributed higher-order GC
  • annotations (typing is done through them)


    LLL Semantics

    The LLL system is centered around the object/annotation paradigm

    Low-level objects

    Annotations


    LLL Difficulties

  • See HLL difficulties...
  • Having some efficient hardware-independent stuff.
  • Garbage Collecting
    • Infix pointers (that do not point at some globally constant offset to the beginning of an allocation unit) greatly complicate the GC. They should be forbidden whenever possible.
    • "C" like infix pointers can still be simulated with a segment-offset pair, with an aligned pointer and an offset inside the segment.
    • The GC may have to accept infix pointers as for code return addresses.
      I propose that code "segments" should not cross, say 4K or 8K boundaries, so that finding the right code segment is just a matter of checking the list of segments in the segment obtained by masking the right bits.


    To Do on this page

  • Find all LLL requirements.
  • Find all implementational problems.
  • Make first proposals.
  • Divide into subfiles.
  • Define separately semantics & representation
  • Find out how multiple architectures can be made interoperable...
  • Find some nice implementation for annotations...
  • Separate annotation mechanisms from annotation resolving policies...
  • Open a "GC" subproject ?


    Back to the Tunes Home page.


    Page Maintainer:
    Faré -- rideau@clipper.ens.fr