On 04/11/2013 08:51 AM, Sam Tobin-Hochstadt wrote: > Yes, an explicit struct involves an explicit indirection, and thus > produces a regular tree.
Using Eric's example: #lang typed/racket (struct: (a) Indirect ((v : (Deep a)))) (struct: (a) Deep ((spine : (Indirect (List a))))) ;(struct: (a) Deep ((spine : (Deep (List a))))) This checks fine, but try to use it: (: test ((Deep Number) -> Boolean)) (define (test ft) (Deep? ft)) And it hangs. So maybe indirection just pushes the problem somewhere else? -- Anthony Carrico
signature.asc
Description: OpenPGP digital signature
____________________ Racket Users list: http://lists.racket-lang.org/users