The languages typed/racket/no-check and typed/racket/base/no-check -- Do they supress all type checking? Or do they just suppress static type checking?
The documentation says they do no type checking; so it sounds like they just support the Typed Racket syntax but ignores any type annotations. I assume there's still run-time checks like normal Racket.
Indeed:
$ racket -I typed/racket/no-check
Welcome to Racket v8.13 [cs].
> (string-ref 'foo 0)
string-ref: contract violation
expected: string?
given: 'foo
[,bt for context]
>
For compile time type checks but no TR-specific run-time enforcement, there's #lang typed/racket/optional
and the base version.
$ racket -I typed/racket/optional
Welcome to Racket v8.13 [cs].
> (string-ref 'foo 0)
string:1:12: Type Checker: type mismatch
expected: String
given: 'foo
in: (quote foo)
[,bt for context]
>