L is a programming language invented by Oscar Bonilla, Tim Daly, Jr., and Larry McVoy from COMPANY: BitMover. L is a compiled-to-byte-code language compiling to Tcl byte codes and thus leveraging the entire Tcl runtime.
L is designed to peacefully coexist with Tcl. L functions may call Tcl procs and vice versa. They may also coexist in the same source file.
L is a static weakly typed language with int, float, string, struct, array, and hash as first-class objects. The L syntax is reminiscent of C with a tiny bit of C++ thrown in.
Home Page: http://l.bitmover.com/ (redirects to the L wiki)
Paper: http://www.bitmover.com/lm/papers/l.pdf (November 2006)
Mailing List: http://lists.bitmover.com/cgi-bin/mailman/listinfo/l (recently this has mostly carried automated messages from the BitKeeper repository; some months there has been a lot of spam; other traffic is low)
bkf clone bk://tcl.bkbits.net/tcl_with_L tcl
copies the source code to directory tcl
After building Tcl, check the version with
and build a compatible version of Tk. On 2008-01-01 the public release was still based on Tcl 8.5b2.
AMG: Has anyone played with L who would like to share his or her experiences?
RLH Is there anything in L that we can co-opt for Tcl?
AMG: Wasn't it the other way around? :^) Seriously, it should be very possible to embed L in a Tcl script, similar to how C can be embedded using critcl. And since L compiles down to the same bytecodes as Tcl, it should be able to eval a Tcl script. Tcl quoting is easier to use than C quoting, so let's hope that L has a Tcl quote mechanism, or else it could be quite difficult to embed a script. (I know; I've made the mistake of writing Tcl script inside C double quotes.)
slebetman: What about top level byte-code compilation? L not only does this but for L to work Bitmover modified their Tcl interpreter to also do top level byte-code compilation. Any reason why this isn't done in the regular Tcl core? Bitmover's version of Tcl already does it.
Interestingly the L interpreter is also a full Tcl interpreter. All they've done is added a second parser/compiler without removing the Tcl parser. The interpreter looks at the file extension to decide whether to start in Tcl or L mode. But you're allowed to switch to either mode explicitly in your programs by using the pseudo-comments #lang L and #lang tcl (in earlier versions these were #lang(L) and #lang(tcl)).
L looks and feels a lot like C with some Perl thrown in.
I'm not sure about the Perl, but it was specifically designed to look and feel a lot like C. I believe Larry's goal is to create a language that gives the power and flexibility of Tcl/Tk, but in a form factor that can more easily be read by a C programmer.
Zarutian 1. jan 2008 01:30 UTC: .. read by a C programmer.. Why is that an essential requirement, please?
Answer: Because that is the language Larry likes best. He spends a majority of his time reviewing code rather than writing code so he wants a language he can easily read.
MJ - In this google age, L might not be the best name for the language. Are there any plans for changing the name?
stevel - how about "ttl8" ? ;-)
May 4, 2010 chi Does anybody know, how I can download and build the sources for L? I tried the links I found here and in Google but to no avail. I am even not able to download and build via the bitkeeper client as the free version is not longer supported.