From @life.ai.mit.edu:ziggy@hx.lcs.mit.edu Thu Nov 14 06:28:07 1991
Received: by hx.LCS.MIT.EDU (5.51/4.7); Thu, 14 Nov 91 06:28:05 EST
Received: from life.ai.mit.edu by mintaka.lcs.mit.edu id aa21327;
          14 Nov 91 6:24 EST
Received: from hx.LCS.MIT.EDU by life.ai.mit.edu (4.1/AI-4.10) id AA03558; Thu, 14 Nov 91 06:23:58 EST
Received: by hx.LCS.MIT.EDU (5.51/4.7); Thu, 14 Nov 91 06:23:44 EST
Date: Thu, 14 Nov 91 06:23:44 EST
From: "Michael R. Blair" <ziggy@hx.lcs.mit.edu>
Message-Id: <9111141123.AA07419@hx.LCS.MIT.EDU>
To: 6001-staff@ai.mit.edu
Subject: Pristine PS9 code
Status: R


The much improved and overall very ducky PS9 code is now in nearly
all the normal places (I have yet to install it in the 00 lab...
I'll do that after lecture today)

The usual places include:
-----------------------------------------
4th floor chipmunk
altdorf anonymous ftp site: pub/6.001/ps9
altdorf: /sw/6001/ps9
-----------------------------------------
Note especially that this code requires a Scheme with first class
environments. Neither MacScheme nor PseudoScheme have this feature.

** SO TELL YOUR STUDENTS WHO USE MACSCHEME OR PSEUDOSCHEME THAT THEY LOSE.
Theyll have to do this problem set on a Chipmunk or on Athena.

** ALSO, PCSCHEME HACKERS ARE LIKELY TO LOSE TOO BECAUSE THE LAYERS OF
INTERPRETATION IN THIS PROB SET CODE MAKES IT A MEMORY HOG. Warn them
that are are likely to lose unless they have scads of memory and have
setup their heap to use it.

All this is blatantly spelled out in several places in the problem set
code listing, not the least notable of which is a highlighted bounding
box on the first page of that code listing.

*aside**aside**aside**aside**aside**aside**aside**aside**aside**aside**aside*

Of course, I have this wildly amazing hack that extends the AMBScheme
evaluator from PS8 so that you can USER-LOAD all the PS9 code into
that and run OK but this seriously sucks space and time...imagine:
running scheme running AMBScheme running the Reg Machine simulator
which is simulating the Explicit control evaluator machine interpreting your
input.

That's: Scheme->AMBScheme->RegSim->ECEval->your-input.

Now imagine if your input is (COMPILE-AND-GO ---big-hairy-scheme-expr---).

This adds an invocation of the compiler to the ongoing saga, where the compiler
is really code interpreted by AMBScheme running atop Scheme.

Now imagine six inch steel spikes driven into your CPU, coated in neurotoxins.

``It just doesn't get any better than this.''

The observant reader might note that the compiler could actually be loaded
directly into Scheme since *it* doesn't rely on first class envs. This compiler
and all its neat hooks can then be exported up the tower of interpreters via
calls to EXTEND-PRIMITIVES at each level.

So... does this all sound like gibberish to you? Well you're not alone. Imagine
how I feel: I still can't even parse this jewel...

   "For a small essentially algebraic theory T, the forgetful functor from
    T-models to Set (or Set^n if T is many-sorted) has a left adjoint, just
    as in the algebraic case: the free T-model on a set X is constructed in
    the usual way as the set of words (i.e.  terms) in the elements of X,
    modulo T-provable equality.  The adjunction will not be monadic unless T
    is algebraic, but it will be possible to factor it as a tower of monadic
    adjunctions in the style of MacDonald and Stone."

    Extract from the paper "Preframe Presentations Present" by Steven
    Vickers and Peter Johstone (for "CT '90"):

Is it just me or is the logic and mathematics community populated predominantly
by lunatics from Mars?

 zig

