[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-register-public] [task #6356] Submission of L

From: Matthieu Lemerre
Subject: [Savannah-register-public] [task #6356] Submission of L
Date: Thu, 04 Jan 2007 22:05:08 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20060830 Firefox/ (Debian-1.5.dfsg+


                 Summary: Submission of L
                 Project: Savannah Administration
            Submitted by: racin
            Submitted on: Thursday 01/04/2007 at 22:05
         Should Start On: Thursday 01/04/2007 at 00:00
   Should be Finished on: Sunday 01/14/2007 at 00:00
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00



A new project has been registered at Savannah 
This project account will remain inactive until a site admin approves or
discards the registration.

= Registration Administration =

While this item will be useful to track the registration process, *approving
or discarding the registration must be done using the specific Group
<> page*,
accessible only to site administrators, effectively *logged as site
administrators* (superuser):

* Group Administration

= Registration Details =

* Name: *L*
* System Name:  *l-lang*
* Type: non-GNU software & documentation
* License: GNU Lesser General Public License


==== Description: ====
My project is the implementation of a novel language, L.
L takes features from C and Lisp: it has low-level capabilities (like
handling) like C, and high-level macros like Lisp.
However, unlike Lisp, L is statically and strongly typed (and the macros 
can take advantage of type information).

L uses a conventional syntax, like C, but is an extensible language, like
Lisp.  Even the syntax can be redefined dynamically; this allows
to write code that mixes different syntaxes like:

XML_Node test(void) {
let node = XML(<foo>bar baz ${3 + 4}</foo>); print(node); node}

For examples, see the regression_test/ directory.

The current implementation is written in C, but L should be self-hosting. 
The compiler is dynamic and outputs x86 code in memory; 
I'm also writing a L->C converter. It also features a dynamic lexer
generator, that compiles a list of regexpes into assembly.

L is now mature enough to accept contributions; I'm in the process of
cleaning up the code for helping people to contribute.  The following
URL ( points to a not-yet-cleaned implementation,
but I give it to you now so that it will be cleaned when you have finished
the review process.

L is licensed under the Lesser GPL, version 2 or later.  


==== Other Software Required: ====
GNU lightning
Judy (
In the near future: boehm-gc


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]