[racket] fingertree / nested datatype
Eiffel is unsound, and we strive to be sound (wrong but commonly used: type safe) so we would need to be careful.
On Apr 13, 2013, at 11:54 AM, Hendrik Boom wrote:
> 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
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users