archives

HOPL-III: The Evolution of Lua

Another entry for HOPL-III that is an interesting account of The Evolution of Lua by Roberto Ierusalimschy, Luiz Henrique de Figueiredo and Waldemar Celes.

We report on the birth and evolution of Lua, and discuss how Lua moved from a simple configuration language to a versatile, widely used language that supports extensible semantics, anonymous functions, full lexical scoping, proper tail calls, and coroutines.
The paper is timely for me, since I recently acquired the book "Programming in Lua V2" and am slowly trying to learn the language. It's hard not to like the model of language evolution taken by the Lua community. Lua has actively staked the ground of an embeddable scripting language, having simplicity and size as a major focus, and a very active two way street between embedded scripting language and host language C. The paper provides a good accounting of many of the design decisions made through the history of versions, though I would have liked a bit more mention of the decision to go with a register based VMs.

Overall, I'd rate it as a very good read for those that are interested in PL design. Other papers from HOPL-III mentioned on LtU: Haskell and AppleScript.

Locus Solum: From the rules of logic to the logic of rules

Locus Solum: From the rules of logic to the logic of rules by Jean-Yves Girard, 2000.
The monograph below has been conceived as the project of giving reasonable foundations to logic, on the largest possible grounds, but not with the notorious reductionist connotation usually attached to "foundations". Locus Solum would like to be the common playground of logic, independent of systems, syntaxes, not to speak of ideologies. But wideness of scope is nothing here but the reward of sharpness of concern : I investigate the multiple aspects of a single artifact, the design. Designs are not that kind of syntax-versus-semantics whores that one can reshape according to the humour of the day : one cannot tamper with them, period. But what one can achieve with them, once their main properties —separation, associativity, stability— have been understood, is out of proportion with their seemingly banal definition.
Sounds rather controversial, but can make an interesting reading if you believe logic is related to programming (your last name doesn't have to be either Curry or Howard).

Scheme: Second R6RS draft published

The second draft of R6RS, version 5.92, is now available at www.r6rs.org. (For more general information about Scheme standards, see the Standards page at schemers.org.)

This version of R6RS incorporates the responses to the formal comments that were submitted prior to Nov 15th, 2006. A few of the changes are highlighted below (not intended to be comprehensive):

  • The report has been split into two separate documents: one for the base language, and one for the standard libraries. (A third document is currently planned, to include certain non-normative appendices.)
  • The I/O system has been significantly revised.
  • A number of features have been dropped from the report, including the inexact arithmetic library and the declarations feature.
  • The report now includes a formal operational semantics, developed by Robby Findler and Jacob Matthews, building on their semantics for R5RS.
  • "Top-level programs" replace scripts in the base language, eliminating certain OS-specificities, with a specification for scripts to be added in a non-normative appendix.

The current six-month public comment period is still ongoing, and will continue until March 15, 2007. The schedule subsequent to that date can be found here.

The editors encourage comments on the report, either informally on the discuss@r6rs.org mailing list, or via the formal comment process.

Of course, kibitzing here on LtU is welcome too! (Previous discussions on LtU include the announcement of the previous draft and the June status report.)