Programming with Refinement Types An Introduction to LiquidHaskell Ranjit Jhala, Eric Seidel, Niki Vazou [PDF] 1.Well-Typed Programs Can Go Wrong 1.1. Division By Zero 1.2. Missing Keys 1.3. Unexpected Behaviors 1.4. Non Termination 1.5. Goal: Extend Type System 1.6. Plan 1.7. Conclusion 1.8. Current & Future Work 1.9. Current & Future Work 1.10. Current & Future Work 1.11. Thank You! 2.Simple Ref