Also fixed local accessors when internal names are used that
are different from external names.
original commit: 267a37134ef164f7d8bd9e3ffe6006ab16cf4bf2
This commit prepares the code for more interesting parsing
of the initializer body (for expansion-introduced top-level
expressions for example) and faster parsing of methods and
other things in a single pass.
original commit: 6ce16e15380197f4cee9f44ca7ad42a34acc2c81
Note: the type is too conservative in some cases with
tc-expr (if you leave : annotations out). This should
be fixed in the future.
original commit: 6a43fac5c27d46f1bb456e861f55c4b2dddca455
They don't actually work yet, because I don't yet know
how to assign them types for when they're called locally.
Probably requires the two pass approach for locals.
original commit: 709f3c66960fc08b77a7978c7c64ddb3e27b4c45
Add a `class:` macro that adds instrumentation for
the type-checker. Also add type-checking for the
expansion of that macro.
original commit: 244135a96e8c6e98e6a77052813b53d4f284443f
This commit introduces a new Class type representation
and adds initial support for parsing the new types.
Existing uses of Class types are adjusted to compile.
original commit: 72c991c1de2ad964657883422d18cea3f6429eb2
The actual bug was already fixed by enabling multi-valued
sequence syntax in TR `for` loop forms.
Closes PR 13937
original commit: 8d4b3ee396a645a828594b7b9afdcaf7e5676ccd
Modify the forms as needed to accept non-annotated
bindings to match the untyped versions. Also fixes
bugs in syntax classes found along the way.
original commit: 37b09521ac3493ed45963aedacf7a263194aec1a
Two caveats:
* in some positions : is not accepted as a formal
when used in combination with * as a formal
* the quality of parse error messages for rest
argument types is traded for better optional argument
error messages
original commit: a3d818c748b09dd07043460ad412a19d0f94b47c
The new `lambda` form allows all combinations of arguments
with optional type annotations for all cases.
original commit: 8ea32c68f61a0bfad6b162302bc3c0ff28870361
In some cases, TR tried to typecheck the contents of a quote-syntax
form that contains unexpanded syntax.
Closes PR 14355
original commit: 26204cf505f885827854908391d2842476728c8b
Does not cover all of the bindings yet, but it
should just be a SMOP after the last extra-env-lang
feature additions.
original commit: 0c0befac075a137158c568f93397c9bea4a109b2
Instead of parsing the module's body like env-lang,
export a `type-environment` form instead. That way
the module may contain any auxiliary definitions
or expressions that are needed.
Additionally allow #:opaque and #:struct clauses
for opaque and struct types in the base type environment.
Update typed/syntax/stx for the new API.
original commit: db51fdb8fdc943971122fea32a7b593b187bd685
This provides better inference for the case when trying
to infer a ListDots in a negative position against a List
type. For example, when trying to apply `time-apply`.
original commit: 18adcb5b041be12994eb65d86bde5dc1f164cca7