L is a programming language started by
Larry McVoy, with help with help from
Jeffrey Hobbs, Oscar Bonilla, and Tim Daly, Jr.
(2009) That's not quite accurate, says
lm. I, through BitMover, provided the funding and the overall direction. The initial coding was done by Oscar, Tim, with help from Jeff and hand waving (aka "you're doing it wrong") from me. Miguel Sofer did the first implementation of "deep dive" which was the logic needed get at various elements of complex structures (a hash of structs which contain an array - think
int x = h{"key"}.list[12]). That was some complex work.
Tim got it partially working and then moved on to Yahoo. After Tim left, we coaxed Rob Netzer into coming back to work at BitMover and he's done a tremendous job of moving the language forward. As of June 2009 the line counts on the code look like:
8 damon
9 jeffh
400 lm
20 mig
88 ob
16896 rob
688 tim
996 wscottand the line counts on the tests look like:
21 damon
10 jeffh
24 lm
336 mig
72 ob
69 ob/tim
12953 rob
1472 timso you can get an idea of who is doing the heavy lifting.
General description of the language
Roughly speaking, it's an attempt to wrap C-like syntax around core Tcl functionality. It's described as a language "designed to peacefully coexist with Tcl rather than replace Tcl".
As of late 2006, an introductory paper is at:
http://www.bitmover.com/lm/papers/l.pdf
and as of mid-2009 there is a rough programmer's guide at:
http://www.bitmover.com/lm/L/L.html
(which is written in perl POD markup and includes the L code that converts from pod to html).
A mailing list is available. The archives are at:
http://lists.bitmover.com/pipermail/l/
As of late 2006, a related IRC channel named "##l" existed on the irc.freenode.net network.
A seminar on the language was presented in 2006 at the
Thirteenth Annual Tcl/Tk Conference.
Availability
PT 07-Nov-2007: I built some tclkit executables that contain
L for Windows - see [
1]
(June-2009): If people want more recent drops based on 8.6b1 ping the L mailing list, we're looking for a few beta testers.