<div class="hidden">
\begin{code}
main = putStrLn "Easter Egg: to force Makefile"
\end{code}
</div>

LiquidHaskell 
==============

Refinement Types for Haskell
------------------------------


<br>
<br>

<div class="fragment">
**Ranjit Jhala**

University of California, San Diego

<br>
<br>

Joint work with: 

N. Vazou, E. Seidel, P. Rondon, M. Kawaguchi

D. Vytiniotis, S. Peyton-Jones

</div>


 {#plan}
-------

**Part I**

Refinement Types

<br>

<div class="fragment">
**Part II**

Case Studies
</div>

<br>


<div class="fragment">
**Part III**

Haskell (Lazy Evaluation)
</div>

 {#plan}
--------


<br>

(And *if* we have time...)


<br>

**Part IV**

Abstract Refinements

I: Refinement Types
-------------------

<br>

<a href="00_Motivation.lhs.slides.html" target="_blank">**Motivation**</a>

<br>

<div class="fragment">
<a href="01_SimpleRefinements.lhs.slides.html" target="_blank">**Refinements**</a>
</div>

<br>

<div class="fragment">
<a href="02_Measures.lhs.slides.html" target= "_blank">**Measures**</a>
</div>

II: Case Studies 
----------------

<br>

<a href="13_RedBlack.lhs.slides.html" target="_blank">**Red-Black Trees**</a>

<br>

<a href="14_Memory.lhs.slides.html" target="_blank">**Low-level Memory Safety**</a>


III: Haskell
------------

<br>

<a href="09_Laziness.lhs.slides.html" target="_blank">**Lazy Evaluation**</a>

<br>

<div class="fragment">
<a href="10_Termination.lhs.slides.html" target="_blank">**Termination**</a>
</div>

<br>

<div class="fragment">
<a href="11_Evaluation.lhs.slides.html" target="_blank">**Evaluation**</a>
</div>


IV: Abstract Refinements
------------------------


<br>

<a href="04_AbstractRefinements.lhs.slides.html" target= "_blank">**Abstracting Refinements over Types**</a>

<br>

<div class="fragment">

**Demos**

<br>

+ [Basic](../hs/02_AbstractRefinements.hs)
+ [Induction](../hs/02_AbstractRefinements.hs)
+ [Recursion](../hs/02_AbstractRefinements.hs)
+ [Key-Value](../hs/02_AbstractRefinements.hs)

</div>


Conclusion
----------

<br>
<br>
<br>

<div class="fragment">

<a href="12_Conclusion.lhs.slides.html" target="_blank">[Continue]</a>

</div>