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

Attachment: signature.asc
Description: OpenPGP digital signature

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to