79 lines
3.1 KiB
Plaintext
79 lines
3.1 KiB
Plaintext
6.3
|
|
- Startup time reduction
|
|
- Tightening and cleanup of numeric types
|
|
- Sealing contracts for row polymorphic types
|
|
- `define-new-subtype`
|
|
- More robust compound pair operations optimizations
|
|
- Redesign of top-level support, using trampolining macros
|
|
- Static contract caching more conservative, causes contract generation slowdowns
|
|
- Experimental unit support
|
|
- `typed/racket/unsafe`, with `unsafe-require/typed` and `unsafe-provide`
|
|
6.2
|
|
- Use submodules to avoid allocating contract wrappers when not needed.
|
|
- Class types and contract generation are significantly improved, but still experimental.
|
|
- Many types for GUI classes added.
|
|
- Tests on let-bound variables now refine the type of what was bound to them.
|
|
- DrRacket tooltips for types and type errors.
|
|
- Support for prefab structs.
|
|
- Types for a variety of libraries, including `rackunit` and `json`.
|
|
6.1.1
|
|
- Exception handling is now sound. Broke existing programs (e.g. marketplace).
|
|
- More types for GUI and framework.
|
|
- Support for casts and predicates in typed regions.
|
|
6.1
|
|
- Inference speedups.
|
|
- Support for contracted functions in the base environment.
|
|
- Better keyword support.
|
|
6.0.1
|
|
- Types for classes (including row types, sealing contracts, etc).
|
|
Still experimental.
|
|
- Contracts are now optimized; in particular, redundant contracts are omitted
|
|
- Filters work with conditions that raise errors, as in the pattern
|
|
(begin (unless (number? x) (error 'fail))
|
|
(add1 x))
|
|
- Types are now pretty-printed
|
|
- Add prefix-style function types and `->*` function type constructor
|
|
- Support syntactic forms without : (such as let, lambda, for, etc)
|
|
- Type aliases support arbitrary mutual recursion
|
|
- Inform check-syntax about expansion results
|
|
- Add `typed/untyped-utils` library
|
|
- Add `typed/syntax/stx`, `typed/pict`,
|
|
- Significant test suite improvments
|
|
- Improved support for `Struct-Type` values
|
|
- Support keyword function definitions without annotation.
|
|
- Handle forward references in un-annotated definitions
|
|
- Improve type inference for `letrec`-bound variables
|
|
6.0
|
|
- Support for `define-type', `struct:', `make-predicate', etc. at the REPL
|
|
- Performance work: optimized subtyping
|
|
- Make `struct:' have the correct bindings in struct info
|
|
- Use pairs for objects on arrow types
|
|
- Split off `recover-source-syntax' into a separate package and generalized it
|
|
- Lots of doc improvements
|
|
- Lots of error message improvements
|
|
- Split into multiple packages
|
|
5.3.4
|
|
- Moved Optimization Coach to the package system
|
|
- Multiple fixes to polydots
|
|
5.3.3
|
|
No changes
|
|
5.3.2
|
|
- Added types for control operators
|
|
- Added `typed/untyped-utils`
|
|
5.3.1
|
|
- Revised handling of `Any` exported to untyped code
|
|
- Added `cast`
|
|
- Correctly compute variance of polymorphic type application
|
|
5.3
|
|
- Keyword and optional arguments
|
|
- Faster startup
|
|
- Random testing of the numeric tower
|
|
5.2.1
|
|
- Inference of functions with keyword arguments
|
|
- `typecheck-fail' for explicit creation of type errors
|
|
- Extensive documentation of typed numeric tower
|
|
5.2
|
|
- Performance work: delayed environment evaluation
|
|
- Support `racket'-style optional arguments
|
|
- Changes to support new-style keyword argument expansion
|