Re: [racket] DRRacket Check Syntax Loops Endlessly (Sample Provided)

2012-11-01 Thread Sam Tobin-Hochstadt
On Thu, Nov 1, 2012 at 2:46 PM, Matthias Felleisen wrote: > > Since S0 is a function from T :: Type to some Union and TR doesn't allow > this, you want to signal a syntax error here. Correct? No, this program is fine from a typed perspective. The only problem is in contract generation, which lo

Re: [racket] DRRacket Check Syntax Loops Endlessly (Sample Provided)

2012-11-01 Thread Matthias Felleisen
Since S0 is a function from T :: Type to some Union and TR doesn't allow this, you want to signal a syntax error here. Correct? On Nov 1, 2012, at 12:16 PM, Sam Tobin-Hochstadt wrote: > On Thu, Nov 1, 2012 at 12:07 PM, Ray Racine wrote: >> Fresh build from Racket git MASTER, the following ca

Re: [racket] DRRacket Check Syntax Loops Endlessly (Sample Provided)

2012-11-01 Thread Ray Racine
Thanks, I did catch that, was just pointing out the non-termination. The original source file was much larger and it took awhile to pare it down to the root cause. Definitely a non-showstopper issue however. On Thu, Nov 1, 2012 at 12:16 PM, Sam Tobin-Hochstadt wrote: > On Thu, Nov 1, 2012 at

Re: [racket] DRRacket Check Syntax Loops Endlessly (Sample Provided)

2012-11-01 Thread Sam Tobin-Hochstadt
On Thu, Nov 1, 2012 at 12:07 PM, Ray Racine wrote: > Fresh build from Racket git MASTER, the following causes DRRacket's Check > Syntax to loop without termination. Clearly, this isn't the behavior you want, but I don't think a contract is possible to generate for this code. If you change the ty

[racket] DRRacket Check Syntax Loops Endlessly (Sample Provided)

2012-11-01 Thread Ray Racine
Fresh build from Racket git MASTER, the following causes DRRacket's Check Syntax to loop without termination. #lang typed/racket/base (provide f) (struct: (T) S1 ([x : (Listof String)])) (struct: (T) S2 ([x : S0] [g : (T -> Boolean)])) (define-type (S0 T) (U (S1 T) (S2 T))) (