[racket] fingertree / nested datatype

From: Hendrik Boom (hendrik at topoi.pooq.com)
Date: Sat Apr 13 11:54:14 EDT 2013

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

Posted on the users mailing list.