archives

First-class environments. Discuss. ;)

Thomas Lord's recent insistence that a simpler Scheme is possible (including that advanced features such as first-class macros and environments should be provided, with the caveat that their use may be less performant than non first-class devices) has got me to investigate first-class environments.

Way back there's been a bit of discussion of this topic here.

The usual arguments against first-class environments are:

  • They're "dangerous". (IMO, dangerous is good. ;))
  • They mess up ahead-of-time compilation. (Well, many projects use JITs these days.)

On the pro side, we have:

So my question is: given that JITs are commonplace these days, should first-class environments be reconsidered for inclusion into programming languages?

Rosette, another Actor language

The project is apparently a little on the inactive side, but the code is available, and web searches do still turn up some info: eocl, wikipedia, et. al.

Rosette is a high performance interpreter for the Actor model which has been enhanced with object-oriented mechanisms for inheritance and reflection. With Rosette, the object-oriented programming model and the Actor concurrent execution model are combined to simplify the development of autonomous, distributed agents.