The Racket repository
![]() instantiating dotted pre-types where the bound is _not_ free in the pre-type base. I checked in a test case for this, that's something like: (inst (plambda: (a ...) [ys : (Number ... a -> Number)] (apply + ys)) Integer Boolean String) = (Number Number Number -> Number) These changes introduce no extra test failures, and we really have to account for the bound here, and really even if the variable _does_ appear free within the pre-type base, it shouldn't be counted as a "regular" variable outside of that scope. Actually, maybe Dotted should behave like Constant, where it just propogates until there's a separate free use that we're merging with, in which case we just treat it like the free use (which will eventually get fix-bound applied to it anyway). I think I'll make that change next. |
||
---|---|---|
collects | ||
doc | ||
man/man1 | ||
src |