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

aspiring language architect seeks Scheme implementation



I have some ideas for designing a new Lisp-like language, and I'd like
to try to implement them.  (Hey, what does Paul Graham have that I
don't, other than decades of programming experience and enough money
that he doesn't have to work a day job? :-)

Since I have more experience with Scheme than with Common (or any
other dialect of) Lisp, I want to start by getting a Scheme
interpreter, writing one of the Scheme implementations from _Lisp in
Small Pieces_ on top of it, and then modifying my implementation
incrementally until I have a language with all of the features I want.

So I'm looking for a Scheme implementation-plus-libraries that would
be appropriate for that first step.  In particular, I'm interested in
these features:

* open source
* Debian GNU/Linux compatibility
* Emacs integration
* the MEROON object system
* lexer and parser generators
* Unix socket interface
* a database interface, at least for PosgreSQL
* a framework for unit tests
* a profiler

I don't particularly care about speed, integration with other
languages, portability to other Scheme implementations, or portability
to non-Linux operating systems.

Judging from what I've seen, the implementations that are most likely
to meet all the above requirements are PLT Scheme, scsh, and Bigloo,
but I don't have enough experience to choose among them, and I'm not
sure what other libraries I'd need to hunt down to supplement those
languages' features.

Fortunately, there seem to be plenty of experienced Scheme users and
implementors on this list, so I hope you can offer your opinions and
arguments....

-- 
"[A]s a quick survey of the current workplace will painfully reveal,
knowledge of Computer Science is not a prerequisite for being a programmer,
much like knowledge of automobile engineering is not necessary to become an
assembler at GM."  --Will Hartung
== Seth Gordon == sethg@ropine.com == http://ropine.com/ == std. disclaimer ==