[bitc-dev] RFI: deeply immutable functions
Swaroop Sridhar
swaroop at cs.jhu.edu
Thu Aug 11 17:22:03 EDT 2005
M. Scott Doerrie wrote:
> Ok, I hurridly misread this. The di-fn type is a more general
> solution. Somehow I had read constructor.
>
> Would this mean that di-fn is itself some sort of type class? (di-fn
> T.arg T.result) should be usable where (fn T.arg T.result) is required.
> Of course, this isn't expressible in the current system as our type
> classes only involve methods of fn types. This is probably incorrect,
> but could we think of di-fn as the following:
>
> (deftypeclass (di-fn 'a 'b)
> (super (fn 'a 'b)))
>
> Of course, this is not user-definable as it's a known type to check for
> deep imutability in the compiler.
>
di-fn in a property of the function that the compiler needs to enforce
wrt its definition. So, I think it is best viewed as a primitive.
Swaroop.
More information about the bitc-dev
mailing list