318 lines
11 KiB
HTML
318 lines
11 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en"><head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>PUC-Rio: Course notes | Programming Language Foundations in Agda
|
||
</title><!-- Begin Jekyll SEO tag v2.6.1 -->
|
||
<meta name="generator" content="Jekyll v3.9.0" />
|
||
<meta property="og:title" content="PUC-Rio: Course notes" />
|
||
<meta property="og:locale" content="en_US" />
|
||
<meta name="description" content="Programming Language Foundations in Agda" />
|
||
<meta property="og:description" content="Programming Language Foundations in Agda" />
|
||
<link rel="canonical" href="https://plfa.github.io/20.07/PUC/2019/" />
|
||
<meta property="og:url" content="https://plfa.github.io/20.07/PUC/2019/" />
|
||
<meta property="og:site_name" content="Programming Language Foundations in Agda" />
|
||
<script type="application/ld+json">
|
||
{"url":"https://plfa.github.io/20.07/PUC/2019/","headline":"PUC-Rio: Course notes","description":"Programming Language Foundations in Agda","@type":"WebPage","@context":"https://schema.org"}</script>
|
||
<!-- End Jekyll SEO tag -->
|
||
<link rel="stylesheet" href="/20.07/assets/main.css"></head>
|
||
<body><header class="site-header" role="banner">
|
||
|
||
<div class="wrapper">
|
||
|
||
<a class="site-title" href="/20.07/">Programming Language Foundations in Agda
|
||
</a>
|
||
|
||
<nav class="site-nav">
|
||
<span class="menu-icon">
|
||
<svg viewBox="0 0 18 15" width="18px" height="15px">
|
||
<path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
|
||
<path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
|
||
<path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
|
||
</svg>
|
||
</span>
|
||
|
||
<div class="trigger">
|
||
<a class="page-link" href="/20.07/">The Book</a>
|
||
<a class="page-link" href="/20.07/Announcements/">Announcements</a>
|
||
<a class="page-link" href="/20.07/GettingStarted/">Getting Started</a>
|
||
<a class="page-link" href="/20.07/Citing/">Citing</a>
|
||
<a class="page-link" href="https://agda-zh.github.io/PLFA-zh/">中文</a>
|
||
</div>
|
||
</nav>
|
||
|
||
</div>
|
||
|
||
</header>
|
||
<main class="page-content" aria-label="Content">
|
||
<div class="wrapper">
|
||
<article class="post">
|
||
|
||
<header class="post-header">
|
||
<h1 class="post-title">PUC-Rio: Course notes</h1>
|
||
</header>
|
||
|
||
<p style="text-align:center;">
|
||
|
||
|
||
|
||
|
||
|
||
</p>
|
||
|
||
|
||
<div class="post-content">
|
||
<h2 id="staff">Staff</h2>
|
||
|
||
<ul>
|
||
<li>
|
||
<p><strong>Instructor</strong>
|
||
<a href="https://homepages.inf.ed.ac.uk/wadler">Philip Wadler</a></p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Host</strong>
|
||
<a href="http://www.inf.puc-rio.br/~roberto/">Roberto Ierusalimschy</a></p>
|
||
</li>
|
||
</ul>
|
||
|
||
<h2 id="schedule">Schedule</h2>
|
||
|
||
<p>Lectures and tutorials take place Fridays and some Thursdays in 548L.</p>
|
||
<ul>
|
||
<li><strong>13.00–14.30pm</strong> Lecture</li>
|
||
<li><strong>14.30–16.00pm</strong> Tutorial</li>
|
||
</ul>
|
||
|
||
<table>
|
||
<tr>
|
||
<td><b>Fri 29 Mar</b></td>
|
||
<td><a href="/20.07/Naturals/">Naturals</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 5 Apr</b></td>
|
||
<td><a href="/20.07/Induction/">Induction</a> & <a href="/20.07/Relations/">Relations</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Thu 11 Apr</b></td>
|
||
<td><a href="/20.07/Relations/">Relations</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 19 Apr</b></td>
|
||
<td>(Miami)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 26 Apr</b></td>
|
||
<td><a href="/20.07/Equality/">Equality</a> &
|
||
<a href="/20.07/Isomorphism/">Isomorphism</a> &
|
||
<a href="/20.07/Connectives/">Connectives</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 3 May</b></td>
|
||
<td><a href="/20.07/Negation/">Negation</a> &
|
||
<a href="/20.07/Quantifiers/">Quantifiers</a> &
|
||
<a href="/20.07/Decidable/">Decidable</a> &
|
||
<a href="/20.07/Lists/">Lists</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 10 May</b></td>
|
||
<td>(Melbourne)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 17 May</b></td>
|
||
<td>(Sydney)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 24 May</b></td>
|
||
<td><a href="/20.07/Lambda/">Lambda</a> &
|
||
<a href="/20.07/Properties/">Properties</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 31 May</b></td>
|
||
<td>(Padova)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 7 June</b></td>
|
||
<td><a href="/20.07/DeBruijn/">DeBruijn</a> &
|
||
<a href="/20.07/More/">More</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 14 June</b></td>
|
||
<td>(Buenos Aires)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 21 June</b></td>
|
||
<td><a href="/20.07/Inference/">Inference</a> &
|
||
<a href="/20.07/Untyped/">Untyped</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 28 June</b></td>
|
||
<td>Propositions as Types & mock exam</td>
|
||
</tr>
|
||
<tr>
|
||
<td><b>Fri 5 July</b></td>
|
||
<td>exam</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<h2 id="assignments">Assignments</h2>
|
||
|
||
<p>For instructions on how to set up Agda for PLFA see <a href="/20.07/GettingStarted/">Getting Started</a>.</p>
|
||
|
||
<ul>
|
||
<li><a href="/20.07/PUC/2019/Assignment1/">PUC Assignment 1</a> due Friday 26 April.</li>
|
||
<li><a href="/20.07/PUC/2019/Assignment2/">PUC Assignment 2</a> due Wednesday 22 May.</li>
|
||
<li><a href="/20.07/PUC/2019/Assignment3/">PUC Assignment 3</a> due Wednesday 5 June.</li>
|
||
<li><a href="/20.07/PUC/2019/Assignment4/">PUC Assignment 4</a> due Wednesday 19 June.</li>
|
||
<li><a href="/20.07/PUC/2019/Assignment5/">PUC Assignment 5</a> due Tuesday 25 June.</li>
|
||
<li>PUC Assignment 6 due Tuesday 25 June.
|
||
Use file <a href="/20.07/PUC/2019/Exam/">Exam</a>. Despite the rubric, do <strong>all three questions</strong>.</li>
|
||
</ul>
|
||
|
||
<p>Submit assignments by email to <a href="mailto:wadler@inf.ed.ac.uk">wadler@inf.ed.ac.uk</a>.
|
||
Attach a single file named <code class="language-plaintext highlighter-rouge">Assignment1.lagda.md</code> or the like. Include
|
||
your name and email in the submitted file.</p>
|
||
|
||
</div>
|
||
|
||
<p style="text-align:center;">
|
||
|
||
|
||
|
||
|
||
|
||
</p>
|
||
|
||
|
||
</article>
|
||
|
||
</div>
|
||
</main><footer class="site-footer h-card">
|
||
<data class="u-url" href="/20.07/"></data>
|
||
|
||
<div class="wrapper">
|
||
|
||
<h2 class="footer-heading">Programming Language Foundations in Agda
|
||
</h2><div class="footer-col-wrapper">
|
||
<div class="footer-col footer-col-1">
|
||
<ul class="contact-list">
|
||
<li class="p-name">Philip Wadler</li>
|
||
<li><a class="u-email" href="mailto:wadler@inf.ed.ac.uk">wadler@inf.ed.ac.uk</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="footer-col footer-col-2"><ul class="social-media-list"><li><a href="https://github.com/wadler"><svg class="svg-icon"><use xlink:href="/20.07/assets/minima-social-icons.svg#github"></use></svg> <span class="username">wadler</span></a></li></ul>
|
||
</div>
|
||
|
||
<div class="footer-col footer-col-3"></div>
|
||
</div><div class="footer-col-wrapper">
|
||
<div class="footer-col footer-col-1">
|
||
<ul class="contact-list">
|
||
<li class="p-name">Wen Kokke</li>
|
||
<li><a class="u-email" href="mailto:wen.kokke@ed.ac.uk">wen.kokke@ed.ac.uk</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="footer-col footer-col-2"><ul class="social-media-list"><li><a href="https://github.com/wenkokke"><svg class="svg-icon"><use xlink:href="/20.07/assets/minima-social-icons.svg#github"></use></svg> <span class="username">wenkokke</span></a></li><li><a href="https://www.twitter.com/wenkokke"><svg class="svg-icon"><use xlink:href="/20.07/assets/minima-social-icons.svg#twitter"></use></svg> <span class="username">wenkokke</span></a></li></ul>
|
||
</div>
|
||
|
||
<div class="footer-col footer-col-3"></div>
|
||
</div><div class="footer-col-wrapper">
|
||
<div class="footer-col footer-col-1">
|
||
<ul class="contact-list">
|
||
<li class="p-name">Jeremy G. Siek</li>
|
||
<li><a class="u-email" href="mailto:jsiek@indiana.edu">jsiek@indiana.edu</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="footer-col footer-col-2"><ul class="social-media-list"><li><a href="https://github.com/jsiek"><svg class="svg-icon"><use xlink:href="/20.07/assets/minima-social-icons.svg#github"></use></svg> <span class="username">jsiek</span></a></li><li><a href="https://www.twitter.com/jeremysiek"><svg class="svg-icon"><use xlink:href="/20.07/assets/minima-social-icons.svg#twitter"></use></svg> <span class="username">jeremysiek</span></a></li></ul>
|
||
</div>
|
||
|
||
<div class="footer-col footer-col-3"></div>
|
||
</div>This work is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>
|
||
</div>
|
||
</footer>
|
||
<!-- Import jQuery -->
|
||
<script type="text/javascript" src="/20.07/assets/jquery.js"></script>
|
||
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.2.2/anchor.min.js" integrity="sha256-E4RlfxwyJVmkkk0szw7LYJxuPlp6evtPSBDlWHsYYL8=" crossorigin="anonymous"></script>
|
||
<script type="text/javascript">
|
||
anchors.add();
|
||
</script>
|
||
|
||
<script type="text/javascript">
|
||
|
||
// Makes sandwhich menu works
|
||
$('.menu-icon').click(function(){
|
||
$('.trigger').toggle();
|
||
});
|
||
|
||
// Script which allows for foldable code blocks
|
||
$('div.foldable pre').each(function(){
|
||
var autoHeight = $(this).height();
|
||
var lineHeight = parseFloat($(this).css('line-height'));
|
||
|
||
var plus = $("<div></div>");
|
||
var horLine = $("<div></div>");
|
||
var verLine = $("<div></div>");
|
||
$(this).prepend(plus);
|
||
plus.css({
|
||
'position' : 'relative',
|
||
'float' : 'right',
|
||
'right' : '-' + (0.5 * lineHeight - 1.5) + 'px',
|
||
'width' : lineHeight,
|
||
'height' : lineHeight});
|
||
verLine.css({
|
||
'position' : 'relative',
|
||
'height' : lineHeight,
|
||
'width' : '3px',
|
||
'background-color' : '#C1E0FF'});
|
||
horLine.css({
|
||
'position' : 'relative',
|
||
'top' : '-' + (0.5 * lineHeight + 1.5) + 'px',
|
||
'left' : '-' + (0.5 * lineHeight - 1.5) + 'px',
|
||
'height' : '3px',
|
||
'width' : lineHeight,
|
||
'background-color' : '#C1E0FF'});
|
||
plus.append(verLine);
|
||
plus.append(horLine);
|
||
|
||
$(this).height(2.0 * lineHeight);
|
||
$(this).css('overflow','hidden');
|
||
|
||
$(this).click(function(){
|
||
if ($(this).height() == autoHeight) {
|
||
$(this).height(2.0 * lineHeight);
|
||
plus.show();
|
||
}
|
||
else {
|
||
$(this).height('auto');
|
||
plus.hide();
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<!-- Import KaTeX -->
|
||
<script type="text/javascript" src="/20.07/assets/katex.js"></script>
|
||
|
||
<!-- Script which renders TeX using KaTeX -->
|
||
<script type="text/javascript">
|
||
$("script[type='math/tex']").replaceWith(
|
||
function(){
|
||
var tex = $(this).text();
|
||
return "<span class=\"inline-equation\">" +
|
||
katex.renderToString(tex) +
|
||
"</span>";
|
||
});
|
||
$("script[type='math/tex; mode=display']").replaceWith(
|
||
function(){
|
||
var tex = $(this).text().replace(/%.*?(\n|$)/g,"");
|
||
return "<div class=\"equation\">" +
|
||
katex.renderToString("\\displaystyle "+tex) +
|
||
"</div>";
|
||
});
|
||
</script>
|
||
</body>
|
||
|
||
</html>
|