[racket] non-terminating type check for typed racket
I'm running into a situation where it appears typed racket gets into
an infinite loop on typecheck. I don't know if it's truly infinite,
but I've let compilation run for a good ten minutes, and it appears to
be stuck at this point when I Control-C the process.
####################################################################################################
fermi ~/work/js-sicp-5-5 $ /pro/plt/software/racket/5.1/std/bin/raco
make assemble.rkt
^Cuser break
=== context ===
/pro/plt/software/racket/5.1/std/collects/racket/private/more-scheme.rkt:164:2:
select-handler/no-breaks
/pro/plt/software/racket/5.1/std/collects/typed-scheme/types/subtype.rkt:42:0:
subtype
/pro/plt/software/racket/5.1/std/collects/typed-scheme/types/union.rkt:38:5:
union2
/pro/plt/software/racket/5.1/std/collects/typed-scheme/types/union.rkt:32:2: Un
/pro/plt/software/racket/5.1/std/collects/typed-scheme/types/filter-ops.rkt:72:25
/pro/plt/software/racket/5.1/std/collects/racket/private/more-scheme.rkt:379:13:
hash-update!
/pro/plt/software/racket/5.1/std/collects/typed-scheme/types/filter-ops.rkt:63:2:
loop
f325
/pro/plt/software/racket/5.1/std/collects/typed-scheme/types/filter-ops.rkt:116:22:
for-loop
f325
f325
/pro/plt/software/racket/5.1/std/collects/typed-scheme/typecheck/tc-if.rkt:81:26:
for-loop
parse-loop182
/pro/plt/software/racket/5.1/std/collects/typed-scheme/typecheck/tc-expr-unit.rkt:189:4:
loop
/pro/plt/software/racket/5.1/std/collects/typed-scheme/typecheck/tc-lambda-unit.rkt:75:4:
check-body
/pro/plt/software/racket/5.1/std/collects/typed-scheme/typecheck/tc-lambda-unit.rkt:218:12:
for-loop
...
########################################################################################################
This behavior appears for both Racket 5.0.1 as well as Racket 5.1.
I've git tagged my project as 'infinite-typecheck' at the point where
I'm seeing this behavior.
https://github.com/dyoo/js-sicp-5-5/tree/infinite-typecheck