The type alias analysis is unable to detect a rare kind
of type dependency and as a result initializes type aliases
in an order that doesn't work. Adding the extra `Class`
boilerplate here accommodates the analysis.
Please merge to v6.1.1
original commit: 4a32fa15515494bca418a655bd80a03adfc29442
Mandatory kw arguments in function types could confuse
the typechecker when the function had the
`syntax-procedure-converted-arguments-property` property
set.
original commit: a70588ac4fa27fc7c69b8901be8f129802db05d7
The thing that caught my eye is the missing `#:cache-keys?' which should
really be there. But not too important.
original commit: eaa6f85054c5c404507e5c9cbab0d3e93f468370
Sounds like a bad name, but I don't have anything better. It's not some
"current-...-print" thing since it works on the sexpr that is intended
to be pretty-printed. So I went with the above.
original commit: 3c98d086904409b9c49d710134415d718d6ca65e
Asumu said that he doesn't know of any other clients of this parameter
besides my class code.
original commit: 0eed0f6e0e493b190abc912981bab59644a3a760
This uses a technique discovered by Ryan and Dan that
allows the typed class macro to function without invasively
local-expanding the entire class macro (using its private
context information).
Instead, it expands into many helper macros inside the
normal class body and communicates among them using
`syntax-local-value` and compile-time state within the
class body.
This rewrite didn't save that many lines, but it did
reduce the amount of magic that's used.
original commit: 725cb99f4ade73f46da9abf7c116158675f9f22b
The types are tweaked to match the contracts and to support passing a
list of headers to the connect procedure.
The FIXME for polymorphism has also been removed as it is now
parameterized to support "...The result of the handle procedure is the
result of call/input-url..."
original commit: d534b19167efcd265ef16d698ebd396cec32c38b
Subtyping on objects was unsound due to an attempt to
make the algorithm more clever. This was a good lesson in
the danger of premature optimization.
original commit: 994c54c72252e4d39a2ff1315f5bcc6fcf3075a8
My fix had just patched over a contract violation in a different
function. This commit fixes the root of the problem.
original commit: 98e88d615c6a3c38c87e71e7521275d238ea44cb
These types need to be adjusted to match the types that
are now produced for syntax datums due to the previous
commit.
original commit: 99c8da4d92259251c6fbdac38969c16dec80ef62
The type is
(Syntaxof the-type-of-the-result-of-syntax-e), not
(Syntaxof the-type-of-the-result-of-syntax->datum)
Closes PR 14561
original commit: ada4fb74fa28b0f72ed590785afb9ebe08dded45