Рет қаралды 705
Typed Racket (TR) is powerful-but sometimes too powerful. In addition to a type checker and type-driven optimizer, it includes a contract layer that dynamically monitors interactions with untyped code. The contracts make TR one of the strongest and most flexible type systems in the world, but also one of the slowest when there are many boundaries to untyped. Shallow TR and Optional TR are two alternatives that have (finally!) arrived with the Racket 8.7 release. Shallow TR enforces types with local assertions rather than compositional contracts, keeping a bit of soundness at low cost. Optional TR enforces types with nothing at all. This talk will explain Shallow and Optional in depth and show how they can interact with untyped code, standard TR, and each another.
Bio: Ben is currently a postdoc at Brown University studying human factors for type systems and logics. Next Fall, he will be an assistant professor at the University of Utah. Reach out if you would like to live on a mountain for N years studying programming languages.