Grift
Grift copied to clipboard
Move Away from Typed Racket
We tried using typed-racket, but the cost of ~1hr type-check times and the lack of full featured racket outweighs the benefit of types.
Here is a plan for moving away from typed-racket:
- [x] stop using type checking:
- [x] remove uses of
define-predicate - [x] rewrite all uses of
#lang typed/racket->#lang typed/racket/no-check - [x] debug this until it works again
- [x] remove all uses of Typed Racket's cast function.
- [x] remove uses of
- [ ] rewrite all language grammars as contracts
- [ ] change all passes to check these contracts
- [ ] find way to toggle contract checking for debug/production
- [ ] add facilities to improve writing of unit tests, such as those found in
convert-closures.rkt - [ ] lazily write unit tests for each pass as we edit them / discover bugs in the future
- [ ] add to coding style
- [ ] add to pull request check list
- [ ] start using coverage checker