[plt-scheme] Questions on PLT status and project structure

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Wed Oct 14 07:19:30 EDT 2009

I can answer some questions, but none authoritatively. A lot of the
low-level ones seem to be for Matthew and the high-level ones will
have elegant answers from Matthias.

On Wed, Oct 14, 2009 at 4:31 AM, Scott McLoughlin <scott at adrenaline.com> wrote:
> Kind folks - a few questions on PLT Scheme:
> First questions regard performance. First, is there an inlining directive
> (or delcaration or proclamation, etc.)

Not really, but using modules allows inlining of core MzScheme primitives.

> Second, are there type proclamations to speed up common fixnum arithmatec,
> vector indexes, etc.  Is there
> are role for typed-scheme here?

Sam jokes that Typed Scheme uses types to make your program slower.
The point (now) is safety, not speed. You may be interested in the
recently added unsafe ops:

> Second questions reqargd PLT as an open source project. Are there good
> documents on PLT internals and
> optimization/compilation strategies?

The "Inside" manual is what there is:

I don't think it is really what you're looking for though.

> Is there are formal "front end" vs.
> optimizations vs. "back end + more
> optimizations" style architecture to the compiler?  A simple matter of fact,
> is there a considerable number of
> community contributors to the "core group" working on the PLT compiler and
> runtime system itself?

Not really. The PLT compiler and runtime system is a generous gift of
Matthew Flatt and people who have sat within a few hundred feet of
him. (IIUC, Robby did a lot of work on the original MrEd portion, but
now "only" develops the tremendously large and useful DrScheme,
contracts, Redex, and GUI libraries.)

> Third, is there thorough documentation (NOT academic papers) on the PLT JIT.

The JIT is GNU Lightning. The documentation on the decompiler gives
you an idea about how the JIT is used/what the low-level VM *is*:


> Fourth,  Is there a formal roadmap for the Planet libraries - a sort of
> wishlist from the core development group
> or user community vote/consensus.

I don't know of anything such thing for PLaneT.

> Similarly, is there an up to date raodmap
> for the core PLT system?

In the past year I can think of two mailing list threads suggesting
projects that non-core members can do for the core. One that comes to
mind is writing Typed Scheme wrappers or re-implementations:


Also, the PLT group recently had a meeting to coordinate our work, but
that wasn't so much a formal "roadmap".

> Fifth, how well is the PLT system structures towards becoming a user-driven
> open source project?

I don't really understand what this means. I think of it as
user-driven but I feel like we must have different definitions.

> To boil all this down to a general scheme community question, PLT has become
> *very* popular in the
> scheme community (programmer community, to a lesser degree) at large. How
> stable a platform does
> it present for a future canonical open source project should the academic
> group behind PLT abandon
> the platform for one reason or another (lack of funding, changing research
> focus, etc.)

Speaking for myself, I can't think of anything that would make me give
up on PLT. I would guess that most would say the same.


> Scott
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University

"The glory of God is Intelligence" - D&C 93

Posted on the users mailing list.