[racket] fingertree / nested datatype
On Sat, Apr 13, 2013 at 09:00:22AM -0400, Sam Tobin-Hochstadt wrote:
> The restriction is supposed to be that a type constructor T a = ...
> can't have some field in the ... that's a use of T other than to apply
> it to a.
>
> Unfortunately, this restriction (and all the other literature on this)
> is presented for ML-like languages, which have neither structs like
> TR, nor union types, nor subtyping. That's why we haven't been able
> to easily transfer the literature on how to add non-regular data
> types, and why I seem to have implemented an insufficiently-strong
> restriction.
>
> So I think we need to think harder about this, but I don't have a
> great suggestion for fixing it at the moment.
I believe Eiffel doesn't have this restriction. But my memory is
vague, and I have no idea how they handled it.
-- hendrik