Archive of Proposals (

Alaric B. Williams
Fri, 16 May 1997 21:54:14 +0000

> Date:          Fri, 16 May 1997 08:28:10 -0500 (CDT)
> From:          Jordan Henderson <jordan@Starbase.NeoSoft.COM>
> To:  ,
> Subject:       Archive of Proposals (

> There are only two proposals there so far, but I am actively soliciting more. There's
> been so many excellent proposals posted here that it's hard for me to sort them out.
> Please direct my attention to your own proposals that you think would be appropriate
> for further review.  If you submit a proposal to the archive, you should be willing
> to accept email about it with an eye toward revision and refinement of the proposal.

My proposal for a Lisp dialect on the VM list would go nicely into the archive, thanks!


Layer 0 has fixnums in the forms of ranged and modulo integers.
Exceeding the range of a ranged integer /is/ a type error, BTW.
Arithmetic return types are worked out from the input types statically
if possible, ie (+ (*ranged-integer* 0 100) (*ranged-integer* 0 5))
 -> (*ranged-integer* 0 105).

Layer 0 should define a +word+ implementation type, which is a
ranged integer, perhaps in signed or unsigned versions. It provides
addition which replies with a carry flag, and is designed for

Other numeric types (flonum, rationals, etc) should come in at
LAYER 1 or 2. Dunno where.


OO is built in from layer 0 upwards, so we're talking full MOPs, not merely
reflection. I won't go through and select metaclasses until I have come up
with a more formal specification of the class system ("user implementation
type constructor"), though. 

Structure objects /are/ immutable, and count as sets of def-bindings, BTW,
which may be bound to variables, of course. val-bindings seem to make little
sense inside an object?

Just thought I'd clear that lot up...
> Thanks.
> -Jordan Henderson

Alaric B. Williams (

   ---<## OpenDOS FAQ ##>---

Plain HTML:

Fancy HTML: