[Larceny-users] Larceny - 2008

Ray Racine ray.racine at comcast.net
Wed Dec 26 20:19:01 EST 2007


On Wed, 2007-12-26 at 16:04 -0500, William D Clinger wrote:
> Please continue to let us know what we can do
> to make Larceny work better for you.

Since you asked :)

Beyond the possibility of item #1, I doubt any of these are on the
Larceny radar screen, not should they be, as the majority involve little
to no compiler work.  But I'd really like to see #1 on the long term
road map. 

My Scheme/Larceny Holiday Season Top Ten Wish List in no particular
order.
------------------------------------------------------------------

0. An increased user base.  I'm working on this on #scheme.

1. SMP/Multicore/Native Threading - serialized continuations entirely
optional :)

2. Concurrency Library - a la Erlang/Scala Actors and/or SML CML.

3. Zero penalty overhead, in fact, even enhanced compiler performance,
from using libraries by taking advantage of the (let () ..)ness of
libraries closing over identifiers, using limited inference, leveraging
immutability etc.  When I use Mlton, I just write the code as I see it.
I always assume that if I write my code for pure clarity, Mlton will
deal with giving pure performance.

4. A more informative debugger.  I don't need a full disassembler, heck
I don't know what I'd do with it.  I'm happy guy just walking the stack
frames, with additional annotations that allow me to follow the
back/stack-trace (manually is fine) to source code.  I know I called a
procedure with only 2 args when it was expecting 3, but dag blast it,
which one!

5. Additional introspective/reflective apis into libraries and the
Larceny system.  

6. Better compiler error messages.  One use-case in particular is that I
use a lot of (only (import (...) ...).  A single message which states
succinctly all unbound/free identifiers in a library would be nice.
Closest thing is DrScheme's Check Syntax button, without all the sugar.
An nice little error message is just fine, 
"Identifiers a, b and c are unbound in library X".

7. A Scheme IDE.  I like emacs, and inferior mode to REPL is not bad.
But CL's slime is better.  DrScheme is too beginning student oriented.
On my way to Larceny, I stopped off at MIT Scheme and erwin, old as it
is, still lingers.  If I liked elisp, I'd just code in CL. <sigh> I know
this is only one more call for the next 800 ports of emacs to scheme...
But I've already written the core Piece Table data structures
http://www.cs.unm.edu/~crowley/papers/sds/sds.html
next bindings to Cairo, a bit of code to render text and ...

8. I'm not a big OO guy. In fact, it has only a single sweet spot
(sufficiency and not a necessity) which is GUI Widget sets.  See #7.  A
high performing CLOS system would be nice.  Port of MIT Scheme's SOS
would be nice, don't need the full MOP.

9. Modules.  I like SML, I wish it were not moribund.  But modules in
the sense of Chez's modules or MzSchemes unit/sigs would be very nice.
I think Chez's modules are darn near 100% R5RS and syntax-case, so its
doable to bring to Larceny.

10.  More libraries, libraries, libraries...






More information about the Larceny-users mailing list