<!doctype html>  
<html lang="en">
	
<head>
<meta charset="utf-8">

<title>Liquid Types</title>

<meta name="description" content="Liquid Types IHP 2014">
<meta name="author" content="Ranjit Jhala">

<meta name="apple-mobile-web-app-capable" content="yes" />

<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />

<link href='http://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic' rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="$reveal$/css/reveal.css">
<link rel="stylesheet" href="$reveal$/css/theme/seminar.css" id="theme">
<!-- <link rel="stylesheet" href="$reveal$/css/print/pdf.css"> -->
<link rel="stylesheet" href="../_support/liquidhaskell.css">

<!-- For syntax highlighting -->
<link rel="stylesheet" href="$reveal$/lib/css/zenburn.css">

<script>
	// If the query includes 'print-pdf' we'll use the PDF print sheet
	document.write( '<link rel="stylesheet" href="$reveal$/css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
</script>

<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>

\(
\require{color}
\definecolor{kvcol}{RGB}{203,23,206}
\definecolor{tycol}{RGB}{5,177,93}
\definecolor{refcol}{RGB}{18,110,213}

\newcommand{\quals}{\mathbb{Q}}
\newcommand{\defeq}{\ \doteq\ }
\newcommand{\subty}{\preceq}
\newcommand{\True}{\mathit{True}}
\newcommand{\Int}{\mathtt{Int}}
\newcommand{\Nat}{\mathtt{Nat}}
\newcommand{\Zero}{\mathtt{Zero}}
\newcommand{\foo}[4]{{#1}^{#4} + {#2}^{#4} = {#3}^{#4}}
\newcommand{\reft}[3]{\{\bindx{#1}{#2} \mid {#3}\}}
\newcommand{\ereft}[3]{\bindx{#1}{\{#2 \mid #3\}}}
\newcommand{\bindx}[2]{{#1}\!:\!{#2}}
\newcommand{\reftx}[2]{\{{#1}\mid{#2}\}}
\newcommand{\inferrule}[3][]{\frac{#2}{#3}\;{#1}}
\newcommand{\kvar}[1]{\color{kvcol}{\mathbf{\kappa_{#1}}}}
\newcommand{\llen}[1]{\mathtt{llen}(#1)}
\)

<div class="reveal">
<!-- 
Used to fade in a background when a specific slide state is reached
-->
<div class="state-background"></div>

<!-- Slides
Any section element inside of this "slides" container is displayed as a slide
-->
<div class="slides">
<!-- Pandoc -->
$if(title)$
<section class="titlepage">
<h1 class="title">$title$</h1>
$for(author)$
<h2 class="author">$author$</h2>
$endfor$
<h3 class="date">$date$</h3>
</section>
$endif$
$body$
<!-- End Pandoc -->

</div>
<!-- End Slides -->

<!-- Presentation progress bar -->
<div class="progress"><span></span></div>
</div>

<!-- Initialize reveal.js :: make settings changes here -->
<script src="$reveal$/lib/js/head.min.js"></script>
<script src="$reveal$/js/reveal.js"></script>

<!-- ORIGINAL <script type="text/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
     -->

<!-- LOCAL 
<script type="text/javascript" src="file:///Users/rjhala/research/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-->

<script type="text/javascript" src="$mathjax$/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

<script>		
	// Full list of configuration options available here:
	// https://github.com/hakimel/reveal.js#configuration
	Reveal.initialize({
		controls: true,
		progress: true,
		history: true,
		center: false,
        rollingLinks: false,
        theme: Reveal.getQueryHash().theme || 'seminar', // available themes are in /css/theme
		transition: Reveal.getQueryHash().transition || 'fade', // default/cube/page/concave/linear(2d)

		// Optional libraries used to extend on reveal.js
		dependencies: [
			//{ src: '$reveal$/lib/js/highlight.js', async: true, callback: function() { window.hljs.initHighlightingOnLoad(); } },
			{ src: '$reveal$/lib/js/classList.js', condition: function() { return !document.body.classList; } },
			{ src: '$reveal$/lib/js/showdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
			{ src: '$reveal$/lib/js/data-markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
			{ src: '$reveal$/socket.io/socket.io.js', async: true, condition: function() { return window.location.host === 'localhost:1947'; } },
			{ src: '$reveal$/plugin/speakernotes/client.js', async: true, condition: function() { return window.location.host === 'localhost:1947'; } },
		]
	});
</script>

</body>
</html>