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

Re: Numeric efficiency in dylan (or lisp in general)

At  3:42 PM 10/9/92 -0400, Simon Spero wrote:
>>>an extra level of indirection.  It also means that cross-function
>optimizations are impossible (or greatly reduced in effectiveness).  This
>is where Dylan's "seal it and ship it" orientation is going to be
>Sorry if this has been gone over N times before; I've got a question about the
>meaning of function freezing, which overlaps slightly into sealing. 
>When you freeze a method which is bound to a module variable, do you also 
>freeze the value of that variable, or can that variable be changed later
>without melting the method first?

In the current spec, there's no such thing as "freezing a method which
is bound to a module variable".  Freezing methods is an operation which
is performed on methods inside a generic function, to prevent them from
being replaced or superceded.

In general, the descriptions of sealing in the manual should be taken
as an indication of our general intentions.  We plan to revamp the
sealing specification as part of the next round of language design.

Currently define-class and define-generic-function create read-only
module variables, and define-method and define create module variables
which can be assigned.  We're considering having all of these forms
create read-only variables, and adding a new form for creating
assignable module variables.