CINXE.COM

HIW 2021 - ICFP 2021

<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="https://icfp21.sigplan.org/favicon.ico?28d37e6d7e5e12d24c39bdba0f4f3cfd" rel="shortcut icon" type="image/x-icon" /> <link href="https://icfp21.sigplan.org/stylesheets/common_.css?d7bcca3579a066193caf560ede9d6399" rel="stylesheet" type="text/css" /> <title>HIW 2021 - ICFP 2021</title> <script type="text/javascript">var show_webdsl_debug=false;</script> <script type="text/javascript">var contextpath="https://icfp21.sigplan.org";</script> <link rel="stylesheet" href="https://icfp21.sigplan.org/stylesheets/bootstrap/css/bootstrap.min.css?7f89537eaf606bff49f5cc1a7c24dbca" type="text/css" /><link rel="stylesheet" href="https://icfp21.sigplan.org/stylesheets/conf.css?d8ff81ab1f2387936557f525e4e8eb20" type="text/css" /><link rel="stylesheet" href="https://icfp21.sigplan.org/getFile/ec57bc86-3f03-41e9-9f28-d06687e17fe2/logobar-with-logo.css?1626571774574" type="text/css" /><link rel="stylesheet" href="https://icfp21.sigplan.org/stylesheets/flatpickr-4.3.2.min.css?8eedb7a0f2455c0dbbbbcc46c4172c0d" type="text/css" /><link rel="stylesheet" href="https://icfp21.sigplan.org/stylesheets/theme.bootstrap_3.min.css?6867e70881e6ed2c03b6c9cf9c3152e0" type="text/css" /><script type="text/javascript" src="//code.jquery.com/jquery-3.5.1.min.js"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/faceted-filtering.js?b66007ca48ecd1d87e1cdd60e4e42366"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/flatpickr-4.3.2.min.js?c2885c17ae5fd471c9a40c437e8a2736"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/jquery.tablesorter.combined.min.js?285b21976326641f8f1b910492e6d5d0"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/jquery.tablesorter.pager.min.js?4551cdfea66f45a11ae5548f3d50a06f"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/tablesorter-init.js?ee6babedf1a6be960e4543a1bb57b421"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/bootstrap/js/bootstrap.min.js?2f34b630ffe30ba2ff2b91e3f3c322a1"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/notify.min.js?e86d399917a84b69a4683f504c7a7813"></script> <script type="text/javascript" src="https://icfp21.sigplan.org/javascript/ajax.js?2dbd1cc4f8f2d52ae9c879d7346f4f8a"></script> <script type="text/javascript">(function($){ $(document).ready(function(){ $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) { event.preventDefault(); event.stopPropagation(); $(this).parent().siblings().removeClass('open'); $(this).parent().toggleClass('open'); }); }); })(jQuery); </script> <script type="text/javascript"> $(window).on('popstate', function(){ $('.modal.in').modal('hide') }); </script><script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; $(node).find('.modal').on( 'shown.bs.modal', function(){ if(history.pushState){ history.pushState({ id: 'modal', modalId: $(this).attr('id') }, null, window.location.href); } } ).on( 'hidden.bs.modal', function (){ if( history.state != null && history.state.modalId == $(this).attr('id') ){ history.back(); } } ); }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-4G0QWEKVQS', {'cookie_domain': 'auto', 'anonymizeIp': true });gtag('config', 'UA-9607501-2', {'cookie_domain': 'auto', 'anonymizeIp': true });</script> <meta name='description' content='The Haskell Implementors’ Workshop is a forum for those involved in implementing Haskell systems, infrastructure, libraries and tools, for people generally involved in implementing Haskell technology. We share our work and discuss future directions and collaborations with others. In 2021, the Haskell Implementors’ Workshop will be co-located with ICFP 2021. The workshop does not have proceedings. Talks and/or demos are proposed by submitting an abstract and selected by a small program committee. The workshop will be informal and interactive, with a flexible timetable and plenty of room f ...'> <meta prefix='og: http://ogp.me/ns#' property='og:image' content='https://icfp21.sigplan.org/getImage/carousel/1+ICFP+2021.JPG?1613918806000'> <script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; $(node).find('input.flatpickr:not([id])').focusout( function(){ this.dispatchEvent( new KeyboardEvent('keydown',{keyCode:13, bubbles: true}) ); } ); }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script> <script type="text/javascript">function addEventModalLoadOnClick( containerNode ){ $(containerNode).find( "a[data-event-modal]" ).on("click", function(e){ var eventId = $(this).data("event-modal"); var modalElem = $("#modal-" + eventId); if(modalElem.length){ modalElem.modal({ backdrop: 'static', keyboard: true}, 'show'); } else { var loaderElem = $("#event-modal-loader"); loaderElem.find("input.event-id-input").val( eventId ); loaderElem.find("#load-modal-action").click(); } e.preventDefault(); } ); } </script><script type="text/javascript">function addStarredEventOnClick( containerNode ){ $(containerNode).find( "[data-event-star]" ).on("click", function(e){ var eventId = $(this).data("event-star"); var starEventFormElem = $("#event-star-form"); starEventFormElem.find("input.event-id-input").val( eventId ); starEventFormElem.find("#star-event-action").click(); e.preventDefault(); e.stopPropagation(); } ); } </script><script type="text/javascript">function pauseOnCloseModal( modalid ){ //pauses video (only youtube at the moment) when closing modal $('#' + modalid).on('hidden.bs.modal', function () { $(this).find('.embed-container iframe[src*=enablejsapi]').each( function(){ this.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*') } ); } ) } </script> <meta prefix='og: http://ogp.me/ns#' property='og:title' content='HIW 2021 - ICFP 2021'> <script type="text/javascript">$(document).ready( function(){ $('#program-menu a[data-fltr-type]').on('click', function(event){ event.preventDefault(); window.location = $(this).attr('href') + "?" + encodeURIComponent( $(this).data('fltr-type') ) + '=' + encodeURIComponent( $(this).data('fltr-val') ); }) }) </script> <script type="text/javascript">var ignoreHashChange = false; function hashChangeFunc(){ // show active tab on hash in url if (window.location.hash !== ''){ var hashTargetAll = $('a[href="' + window.location.hash + '"]'); if(hashTargetAll.length){ var hashTarget = hashTargetAll.filter('[data-toggle="tab"]') if( hashTarget.length ){ hashTarget = hashTarget.first(); hashTarget.tab('show'); } else { hashTarget = hashTargetAll.first(); } // and open parent tabs in case the target element is nested in a tab var parentPane = hashTarget.closest( '.tab-pane' ); if(parentPane.length){ $('.nav a[href="#'+ parentPane.attr('id') +'"]').tab('show'); } var parentCollapse = hashTarget.closest( '.panel-collapse:not(.in)' ).collapse('show'); } } return false; } $(document).ready(function(){ var tabFromRequestUrl = window.location.hash !== '' ? $('a[href="' + window.location.hash + '"][data-toggle="tab"]') : []; var initUrlHash = window.location.hash; hashChangeFunc() if( tabFromRequestUrl.length ){ //Prevent the browser to auto-scroll to the anchor of the tab window.location.hash = ""; } //make in-page #links open the tabs if ($._data( $(window)[0], 'events' ).hashchange == undefined){ $(window).on('hashchange', hashChangeFunc); } if(tabFromRequestUrl.length){ setTimeout( function(){ ignoreHashChange = true; history.replaceState(null, null, initUrlHash); ignoreHashChange = false; }, 10 ); } }); var autoTabFunction = function(node){ var isActivatingFirstTab = false; // remember the hash in the URL without jumping $('a[data-toggle="tab"]:not(.no-hash):not(.bound)').addClass('bound').on('shown.bs.tab', function(e){ if(!isActivatingFirstTab){ var newhash = '#' + $(e.target).attr('href').substr(1); if(history.replaceState){ history.replaceState(null, null, newhash); } else{ location.hash = newhash; } } }); //When no tab is active, set the first one to active $(node).find('.nav-tabs:not(.bound), .nav-pills:not(.bound)').addClass('bound').each(function(){ if( $(this).children().length > 0 && 1 > $(this).find('.active').length){ const firstItem = $(this).find('a[data-toggle="tab"]').first(); isActivatingFirstTab = true; firstItem.tab('show'); isActivatingFirstTab = false; } }); } </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4G0QWEKVQS"></script> <meta prefix='og: http://ogp.me/ns#' property='og:description' content='The Haskell Implementors’ Workshop is a forum for those involved in implementing Haskell systems, infrastructure, libraries and tools, for people generally involved in implementing Haskell technology. We share our work and discuss future directions and collaborations with others. In 2021, the Haskell Implementors’ Workshop will be co-located with ICFP 2021. The workshop does not have proceedings. Talks and/or demos are proposed by submitting an abstract and selected by a small program committee. The workshop will be informal and interactive, with a flexible timetable and plenty of room f ...'> <!--[if IE 9]><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill@1.2.20171210/classList.min.js"></script><![endif]--> </head> <body id="home"><div class="frame"><div class="logobar"><div class="container"><a href="https://icfp21.sigplan.org" class="navbar-brand navigate"><span class="brand-text">ICFP 2021</span></a><div class="place">Sun 22 - Sat 28 August 2021 <a href="https://icfp21.sigplan.org/venue/icfp-2021-venue" class="navigate"></a></div></div></div><div class="navbar navbar-default"><div class="container"><div class="navbar-header"><button type="button" data-toggle="collapse" data-target="#navigationbar" class="navbar-toggle"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div><div id="navigationbar" class="navigationbar collapse navbar-collapse"><ul class="block nav navbar-nav"><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Attending <span class="caret"></span></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/venue/icfp-2021-venue" class="navigate">Venue: Virtual</a></li><li class="block"><a href="https://icfp21.sigplan.org/attending/students" class="navigate">Student Volunteers</a></li><li class="block"><a href="https://icfp21.sigplan.org/attending/code-of-conduct" class="navigate">Code of Conduct</a></li><li class="block"><a href="https://icfp21.sigplan.org/attending/call-for-sponsorship" class="navigate">Call For Sponsorship</a></li><li class="block"><a href="https://icfp21.sigplan.org/attending/Registration" class="navigate">Registration</a></li><li class="block"><a href="https://icfp21.sigplan.org/attending/accessibility" class="navigate">Accessibility</a></li></ul></li><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Program <span class="caret"></span></a><ul id="program-menu" class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" class="navigate">ICFP Program</a></li><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="prog" data-fltr-val="Your Program" class="navigate"><span class="glyphicon glyphicon-star"></span> Your Program</a></li><li class="block divider"></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Filter by Day</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="date" data-fltr-val="Sun 22 Aug 2021" class="navigate">Sun 22 Aug</a></li><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="date" data-fltr-val="Mon 23 Aug 2021" class="navigate">Mon 23 Aug</a></li><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="date" data-fltr-val="Tue 24 Aug 2021" class="navigate">Tue 24 Aug</a></li><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="date" data-fltr-val="Wed 25 Aug 2021" class="navigate">Wed 25 Aug</a></li><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="date" data-fltr-val="Thu 26 Aug 2021" class="navigate">Thu 26 Aug</a></li><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="date" data-fltr-val="Fri 27 Aug 2021" class="navigate">Fri 27 Aug</a></li><li class="block"><a href="https://icfp21.sigplan.org/program/program-icfp-2021/" data-fltr-type="date" data-fltr-val="Sat 28 Aug 2021" class="navigate">Sat 28 Aug</a></li></ul></li></ul></li><li id="tracks-in-navbar" class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Tracks <span class="caret"></span></a><ul class="block dropdown-menu multi-column columns-3"><div class="row"><div class="col-sm-5"><ul class="block multi-column-dropdown"><li class="block dropdown-header">ICFP 2021</li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-jfp-talks" class="navigate">JFP Talks</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-pltea" class="navigate">PLTea</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-papers" class="navigate">Research Papers</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-social-events" class="navigate">Social Events</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-artifact-evaluation" class="navigate">Artifact Evaluation</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-student-research-competition" class="navigate">Student Research Competition</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-workshops" class="navigate">Workshops</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-tutorials" class="navigate">Tutorials</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-icfp-programming-contest" class="navigate">ICFP Programming Contest</a></li><li class="block"><a href="https://icfp21.sigplan.org/track/icfp-2021-student-volunteers" class="navigate">Student Volunteers</a></li></ul></div><div class="col-sm-7"><ul class="block multi-column-dropdown"><li class="block dropdown-header">Workshops</li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Erlang</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/home/erlang-2021" class="navigate"><strong>Erlang</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/details/erlang-2021-papers/7/Fifteen-Years-of-Successfully-Dialyzing-Erlang-and-Elixir-Code-Keynote-" class="small menu-advertised-event navigate">- Fifteen Years of Successfully Dialyzing Erlang and Elixir Code (Keynote)</a></li></ul></li><li class="block"><a href="https://icfp21.sigplan.org/home/farm-2021" class="navigate"><strong>FARM</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/FHPNC-2021" class="navigate"><strong>FHPNC</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/hiw-2021" class="navigate"><strong>HIW</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/hope-2021" class="navigate"><strong>HOPE</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/mlfamilyworkshop-2021" class="navigate"><strong>ML</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/ocaml-2021" class="navigate"><strong>OCaml</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/PLMW-ICFP-2021" class="navigate"><strong>PLMW @ ICFP</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/scheme-2021" class="navigate"><strong>Scheme</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/TyDe-2021" class="navigate"><strong>TyDe</strong> </a></li><li class="block"><a href="https://icfp21.sigplan.org/home/minikanren-2021" class="navigate"><strong>miniKanren</strong> </a></li><li class="block dropdown-header">Co-hosted Symposia</li><li class="block"><a href="https://icfp21.sigplan.org/home/haskellsymp-2021" class="navigate"><strong>Haskell</strong> </a></li></ul></div></div></ul></li><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Organization <span class="caret"></span></a><ul class="block dropdown-menu multi-column columns-2"><div class="row"><div class="col-sm-6"><ul class="block multi-column-dropdown"><li class="block dropdown-header">ICFP 2021 Committees</li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-steering-committee" class="navigate">Steering Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-virtualization-committee" class="navigate">Virtualization Committee</a></li><li class="block dropdown-header">Track Committees </li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-pltea-pltea-organization" class="navigate"><strong>PLTea</strong></a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-papers-program-committee" class="navigate"><strong>Research Papers</strong></a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-student-research-competition-program-committee" class="navigate"><strong>Student Research Competition</strong></a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-tutorials-selection-committee" class="navigate"><strong>Tutorials</strong></a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/icfp-2021-student-volunteers-student-volunteers-committee" class="navigate"><strong>Student Volunteers</strong></a></li><li class="block dropdown-header">Contributors</li><li class="block"><a href="https://icfp21.sigplan.org/people-index" class="navigate"><span class="glyphicon glyphicon-search"></span><sup><span class="glyphicon glyphicon-user"></span></sup> People Index</a></li></ul></div><div class="col-sm-6"><ul class="block multi-column-dropdown"><li class="block dropdown-header">Workshops</li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Erlang</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/erlang-2021-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/erlang-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>FARM</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/farm-2021-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/farm-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>FHPNC</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/FHPNC-2021-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/FHPNC-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>HIW</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/hiw-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>HOPE</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/hope-2021-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>ML</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/mlfamilyworkshop-2021-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/mlfamilyworkshop-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>OCaml</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/ocaml-2021-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/ocaml-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>PLMW @ ICFP</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/PLMW-ICFP-2021-organizing-committee" class="navigate">Organizing Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Scheme</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/scheme-2021-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/scheme-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>TyDe</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/tyde-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>miniKanren</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/minikanren-2021-papers-organizing-committee" class="navigate">Organizing Committee</a></li><li class="block"><a href="https://icfp21.sigplan.org/committee/minikanren-2021-papers-program-committee" class="navigate">Program Committee</a></li></ul></li><li class="block dropdown-header">Co-hosted Symposia</li><li class="dropdown dropdown-submenu "><a href="#" data-toggle="dropdown" class="dropdown-toggle"><strong>Haskell</strong></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/committee/haskellsymp-2021-Haskell-2020-1-program-committee" class="navigate">Program Committee</a></li></ul></li></ul></div></div></ul></li><li class="block"><a href="https://icfp21.sigplan.org/search//all" class="navigate"><span class="glyphicon glyphicon-search"></span><span class="hidden-sm"> Search</span></a></li><li class="dropdown"><a href="#" data-toggle="dropdown" class="dropdown-toggle"><span class="hidden-sm">Series <span class="caret"></span></span><span title="Series" class="visible-sm"><span class="glyphicon glyphicon-repeat"></span> <span class="caret"></span></span></a><ul class="block dropdown-menu"><li class="block"><a href="https://icfp21.sigplan.org/series/icfp" class="navigate"><span class="glyphicon glyphicon-home"></span> Series</a></li><li class="block divider"></li><li class="block"><a href="https://icfp25.sigplan.org" class="navigate">ICFP 2025</a></li><li class="block"><a href="https://icfp24.sigplan.org" class="navigate">ICFP 2024</a></li><li class="block"><a href="https://icfp23.sigplan.org" class="navigate">ICFP 2023</a></li><li class="block"><a href="https://icfp22.sigplan.org" class="navigate">ICFP 2022</a></li><li class="block"><span class="text-muted" style="margin-left: 2px;"><span class="glyphicon glyphicon-hand-right"></span> ICFP 2021</span></li><li class="block"><a href="https://icfp20.sigplan.org" class="navigate">ICFP 2020</a></li><li class="block"><a href="https://icfp19.sigplan.org" class="navigate">ICFP 2019</a></li><li class="block"><a href="https://icfp18.sigplan.org" class="navigate">ICFP 2018</a></li><li class="block"><a href="https://icfp17.sigplan.org" class="navigate">ICFP 2017</a></li><li class="block"><a href="https://icfp16.sigplan.org" class="navigate">ICFP 2016</a></li></ul></li></ul><div class="navbar-right"><ul class="block nav navbar-nav"><li class="block"><a href="https://conf.researchr.org/signin/icfp-2021/https%3A%5Es%5Esicfp21.sigplan.org%5Eshome%5Eshiw-2021" rel="nofollow" class="navigate">Sign in</a></li><li class="block"><a href="https://icfp21.sigplan.org/signup" class="navigate">Sign up</a></li></ul></div></div></div></div><div id="content" class="container"><div class="page-header"><span class="text-muted small"><span class="glyphicon glyphicon-home"></span> <a href="https://icfp21.sigplan.org" class="navigate">ICFP 2021</a> (<a href="https://icfp21.sigplan.org/series/icfp" class="navigate">series</a>) / </span><span class="text-muted small">HIW 2021 (<a href="https://icfp21.sigplan.org/series/hiw" class="navigate">series</a>) / </span><h1>HIW 2021</h1></div><div class="row"><div class="col-sm-8"><ul id="tab" class="nav nav-pills"><li><a href="#About" data-toggle="tab">About</a></li><li><a href="#program" data-toggle="tab">Program</a></li><li><a href="#event-overview" data-toggle="tab">Accepted Talks</a></li><li><a href="#Call-for-Lightning-Talks" data-toggle="tab">Call for Lightning Talks</a></li><li><a href="#Call-for-Talks" data-toggle="tab">Call for Talks</a></li></ul><script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; autoTabFunction(node); }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script><div class="tab-content"><div id="About" class="tab-pane "><p>The Haskell Implementors’ Workshop is a forum for those involved in implementing Haskell systems, infrastructure, libraries and tools, for people generally involved in implementing Haskell technology. We share our work and discuss future directions and collaborations with others.</p> <p>In 2021, the Haskell Implementors’ Workshop will be co-located with ICFP 2021.</p> <p>The workshop does not have proceedings. Talks and/or demos are proposed by submitting an abstract and selected by a small program committee. The workshop will be informal and interactive, with a flexible timetable and plenty of room for ad-hoc discussion, demos, and impromptu short talks.</p> <h2><a href="#keynote" id="keynote" class="anchor-link">Keynote</a></h2> <p>We are happy to announce that HIW 2021 features the following keynote.</p> <h3><a href="#haskell-reinterpreted-large-scale-real-world-experience-with-the-mu-compiler-in-financial-markets" id="haskell-reinterpreted-large-scale-real-world-experience-with-the-mu-compiler-in-financial-markets" class="anchor-link">Haskell reinterpreted – large-scale real-world experience with the Mu compiler in Financial Markets</a></h3> <p><strong>Speaker</strong>: Bengt Marten Agren (Global Head of Modelling &amp; Analytics Group, Financial Markets, Standard Chartered Bank)</p> <p><strong>Abstract</strong>: For over 11 years, Standard Chartered has maintained its own proprietary compiler for a dialect of Haskell called “Mu”. In this talk we present its origins in the context of a global Financial Markets business, a rationale for the main differences between Mu and Haskell (such as strictness by default), and choices on compiler and library design, such as whole-program compilation, and serialisation of any computation for parallel execution. We conclude with some code and language extension usage statistics from our production code repository, and present a plan to bridge the gap between Mu and Haskell in the near future.</p> </div><div id="program" class="tab-pane "><div class="faceted-filtering"><div class="row date-facets"><div class="col-sm-1"><strong>Dates</strong></div><div class="col-sm-11"><div data-facet-type="date" class="facet-placeholder"></div></div></div><script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; $(node).find('.modal').on('shown.bs.modal', function() {if(gtag) { gtag( 'event', 'Show Details in Modal' , {'event_category': 'Event Information', 'event_label': '' + $(this).find('.modal-title').text() + ''} ) } } ) }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script><div tabindex="-1" id="hidden-modal" class="modal"><div class="modal-dialog "><div class="modal-content"></div></div></div><div id="program-settings-modal" class="webdsl-placeholder"><div id="userProgramSettings" class="modal fade"><div class="modal-dialog "><div class="modal-content"><div class="modal-header"><a data-dismiss="modal" class="close"><span class="glyphicon glyphicon-remove"></span></a><h3>Program Display Configuration</h3></div><div class="modal-body"><form name="form11390898770538530f0e2bbdb67872b491120c5c8a7" id="form11390898770538530f0e2bbdb67872b491120c5c8a7" action="https://icfp21.sigplan.org/userProgramSettingsModalConferenceEdition" accept-charset="UTF-8" method="POST" role="form" class="form-horizontal"><input type="hidden" name="form11390898770538530f0e2bbdb67872b491120c5c8a7" value="1" /><input type="hidden" name="context" value="icfp-2021" /><div class="panel panel-default timezone-panel"><div class="panel-heading clearfix"><div class="panel-title">Time Zone</div></div><div class="panel-body"><span class="help-block">The program is currently displayed in <strong>(GMT+09:00) Seoul</strong>.</span><div class="row"><div class="col-sm-11 col-sm-offset-1"><label class="radio"><input type="radio" checked="checked" name="9659afaa126198132be460b106e35ccb" value="false" onchange="if( ($(this).val() == 'true' &amp;&amp; this.checked) != $('#cec04de0447905c49fb377c6d9693505').is(':visible') ) { $('#cec04de0447905c49fb377c6d9693505').fadeToggle( 250 ); }"/><strong>Use conference time zone: (GMT+09:00) Seoul</strong></label><label class="radio"><input type="radio" name="9659afaa126198132be460b106e35ccb" value="true" onchange="if( ($(this).val() == 'true' &amp;&amp; this.checked) != $('#cec04de0447905c49fb377c6d9693505').is(':visible') ) { $('#cec04de0447905c49fb377c6d9693505').fadeToggle( 250 ); }"/>Select other time zone</label><div id="cec04de0447905c49fb377c6d9693505" style=" display: none;"><select name="0e35d6393a8ba494aa0723dd51b6899c" class="select form-control"><option value="" selected="selected" data-utc-minute-offset="0"></option><option value="Etc/GMT+12" data-utc-minute-offset="-720">(GMT-12:00) AoE (Anywhere On Earth)</option><option value="Pacific/Midway" data-utc-minute-offset="-660">(GMT-11:00) Midway Island, Samoa</option><option value="America/Adak" data-utc-minute-offset="-600">(GMT-09:00) Hawaii-Aleutian</option><option value="Etc/GMT+10" data-utc-minute-offset="-600">(GMT-10:00) Hawaii</option><option value="Pacific/Marquesas" data-utc-minute-offset="-570">(GMT-09:30) Marquesas Islands</option><option value="Pacific/Gambier" data-utc-minute-offset="-540">(GMT-09:00) Gambier Islands</option><option value="America/Anchorage" data-utc-minute-offset="-540">(GMT-08:00) Alaska</option><option value="America/Ensenada" data-utc-minute-offset="-480">(GMT-07:00) Tijuana, Baja California</option><option value="Etc/GMT+8" data-utc-minute-offset="-480">(GMT-08:00) Pitcairn Islands</option><option value="America/Los_Angeles" data-utc-minute-offset="-480">(GMT-07:00) Pacific Time (US &amp; Canada)</option><option value="America/Denver" data-utc-minute-offset="-420">(GMT-06:00) Mountain Time (US &amp; Canada)</option><option value="America/Chihuahua" data-utc-minute-offset="-360">(GMT-06:00) Chihuahua, La Paz, Mazatlan</option><option value="America/Dawson_Creek" data-utc-minute-offset="-420">(GMT-07:00) Arizona</option><option value="America/Belize" data-utc-minute-offset="-360">(GMT-06:00) Saskatchewan, Central America</option><option value="America/Cancun" data-utc-minute-offset="-300">(GMT-05:00) Guadalajara, Mexico City, Monterrey</option><option value="Chile/EasterIsland" data-utc-minute-offset="-300">(GMT-06:00) Easter Island</option><option value="America/Chicago" data-utc-minute-offset="-360">(GMT-05:00) Central Time (US &amp; Canada)</option><option value="America/New_York" data-utc-minute-offset="-300">(GMT-04:00) Eastern Time (US &amp; Canada)</option><option value="America/Havana" data-utc-minute-offset="-300">(GMT-04:00) Cuba</option><option value="America/Bogota" data-utc-minute-offset="-300">(GMT-05:00) Bogota, Lima, Quito, Rio Branco</option><option value="America/Caracas" data-utc-minute-offset="-240">(GMT-04:00) Caracas</option><option value="America/Santiago" data-utc-minute-offset="-180">(GMT-04:00) Santiago</option><option value="America/La_Paz" data-utc-minute-offset="-240">(GMT-04:00) La Paz</option><option value="Atlantic/Stanley" data-utc-minute-offset="-180">(GMT-03:00) Faukland Islands</option><option value="America/Campo_Grande" data-utc-minute-offset="-240">(GMT-04:00) Manaus, Amazonas, Brazil</option><option value="America/Goose_Bay" data-utc-minute-offset="-240">(GMT-03:00) Atlantic Time (Goose Bay)</option><option value="America/Glace_Bay" data-utc-minute-offset="-240">(GMT-03:00) Atlantic Time (Canada)</option><option value="America/St_Johns" data-utc-minute-offset="-210">(GMT-02:30) Newfoundland</option><option value="America/Araguaina" data-utc-minute-offset="-180">(GMT-03:00) UTC-3</option><option value="America/Montevideo" data-utc-minute-offset="-180">(GMT-03:00) Montevideo</option><option value="America/Miquelon" data-utc-minute-offset="-180">(GMT-02:00) Miquelon, St. Pierre</option><option value="America/Godthab" data-utc-minute-offset="-180">(GMT-02:00) Greenland</option><option value="America/Argentina/Buenos_Aires" data-utc-minute-offset="-180">(GMT-03:00) Buenos Aires</option><option value="America/Sao_Paulo" data-utc-minute-offset="-180">(GMT-03:00) Brasilia, Distrito Federal, Brazil</option><option value="America/Noronha" data-utc-minute-offset="-120">(GMT-02:00) Mid-Atlantic</option><option value="Atlantic/Cape_Verde" data-utc-minute-offset="-60">(GMT-01:00) Cape Verde Is.</option><option value="Atlantic/Azores" data-utc-minute-offset="-60">(GMT) Azores</option><option value="Etc/UTC" data-utc-minute-offset="0">(UTC) Coordinated Universal Time</option><option value="Europe/Belfast" data-utc-minute-offset="0">(GMT+01:00) Belfast</option><option value="Europe/Dublin" data-utc-minute-offset="0">(GMT+01:00) Dublin</option><option value="Europe/Lisbon" data-utc-minute-offset="0">(GMT+01:00) Lisbon</option><option value="Europe/London" data-utc-minute-offset="0">(GMT+01:00) London</option><option value="Africa/Abidjan" data-utc-minute-offset="0">(GMT) Monrovia, Reykjavik</option><option value="Europe/Amsterdam" data-utc-minute-offset="60">(GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna</option><option value="Europe/Belgrade" data-utc-minute-offset="60">(GMT+02:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague</option><option value="Europe/Brussels" data-utc-minute-offset="60">(GMT+02:00) Brussels, Copenhagen, Madrid, Paris</option><option value="Africa/Algiers" data-utc-minute-offset="60">(GMT+01:00) West Central Africa</option><option value="Africa/Windhoek" data-utc-minute-offset="120">(GMT+02:00) Windhoek</option><option value="Europe/Athens" data-utc-minute-offset="120">(GMT+03:00) Athens</option><option value="Asia/Beirut" data-utc-minute-offset="120">(GMT+03:00) Beirut</option><option value="Africa/Cairo" data-utc-minute-offset="120">(GMT+02:00) Cairo</option><option value="Asia/Gaza" data-utc-minute-offset="120">(GMT+03:00) Gaza</option><option value="Africa/Blantyre" data-utc-minute-offset="120">(GMT+02:00) Harare, Pretoria</option><option value="Asia/Jerusalem" data-utc-minute-offset="120">(GMT+03:00) Jerusalem</option><option value="Europe/Minsk" data-utc-minute-offset="180">(GMT+03:00) Minsk</option><option value="Asia/Damascus" data-utc-minute-offset="180">(GMT+03:00) Syria</option><option value="Europe/Moscow" data-utc-minute-offset="180">(GMT+03:00) Moscow, St. Petersburg, Volgograd</option><option value="Africa/Addis_Ababa" data-utc-minute-offset="180">(GMT+03:00) Nairobi</option><option value="Asia/Tehran" data-utc-minute-offset="210">(GMT+04:30) Tehran</option><option value="Asia/Dubai" data-utc-minute-offset="240">(GMT+04:00) Abu Dhabi, Muscat</option><option value="Asia/Yerevan" data-utc-minute-offset="240">(GMT+04:00) Yerevan</option><option value="Asia/Kabul" data-utc-minute-offset="270">(GMT+04:30) Kabul</option><option value="Asia/Yekaterinburg" data-utc-minute-offset="300">(GMT+05:00) Ekaterinburg</option><option value="Asia/Tashkent" data-utc-minute-offset="300">(GMT+05:00) Tashkent</option><option value="Asia/Kolkata" data-utc-minute-offset="330">(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi</option><option value="Asia/Katmandu" data-utc-minute-offset="345">(GMT+05:45) Kathmandu</option><option value="Asia/Dhaka" data-utc-minute-offset="360">(GMT+06:00) Astana, Dhaka</option><option value="Asia/Novosibirsk" data-utc-minute-offset="420">(GMT+07:00) Novosibirsk</option><option value="Asia/Rangoon" data-utc-minute-offset="390">(GMT+06:30) Yangon (Rangoon)</option><option value="Asia/Bangkok" data-utc-minute-offset="420">(GMT+07:00) Bangkok, Hanoi, Jakarta</option><option value="Asia/Krasnoyarsk" data-utc-minute-offset="420">(GMT+07:00) Krasnoyarsk</option><option value="Asia/Hong_Kong" data-utc-minute-offset="480">(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi</option><option value="Asia/Irkutsk" data-utc-minute-offset="480">(GMT+08:00) Irkutsk, Ulaan Bataar</option><option value="Australia/Perth" data-utc-minute-offset="480">(GMT+08:00) Perth</option><option value="Australia/Eucla" data-utc-minute-offset="525">(GMT+08:45) Eucla</option><option value="Asia/Tokyo" data-utc-minute-offset="540">(GMT+09:00) Osaka, Sapporo, Tokyo</option><option value="Asia/Seoul" data-utc-minute-offset="540">(GMT+09:00) Seoul</option><option value="Asia/Yakutsk" data-utc-minute-offset="540">(GMT+09:00) Yakutsk</option><option value="Australia/Adelaide" data-utc-minute-offset="630">(GMT+09:30) Adelaide</option><option value="Australia/Darwin" data-utc-minute-offset="570">(GMT+09:30) Darwin</option><option value="Australia/Brisbane" data-utc-minute-offset="600">(GMT+10:00) Brisbane</option><option value="Australia/Hobart" data-utc-minute-offset="660">(GMT+10:00) Hobart</option><option value="Asia/Vladivostok" data-utc-minute-offset="600">(GMT+10:00) Vladivostok</option><option value="Australia/Lord_Howe" data-utc-minute-offset="660">(GMT+10:30) Lord Howe Island</option><option value="Etc/GMT-11" data-utc-minute-offset="660">(GMT+11:00) Solomon Is., New Caledonia</option><option value="Asia/Magadan" data-utc-minute-offset="660">(GMT+11:00) Magadan</option><option value="Pacific/Norfolk" data-utc-minute-offset="720">(GMT+11:00) Norfolk Island</option><option value="Asia/Anadyr" data-utc-minute-offset="720">(GMT+12:00) Anadyr, Kamchatka</option><option value="Pacific/Auckland" data-utc-minute-offset="780">(GMT+12:00) Auckland, Wellington</option><option value="Etc/GMT-12" data-utc-minute-offset="720">(GMT+12:00) Fiji, Kamchatka, Marshall Is.</option><option value="Pacific/Chatham" data-utc-minute-offset="825">(GMT+12:45) Chatham Islands</option><option value="Pacific/Tongatapu" data-utc-minute-offset="780">(GMT+13:00) Nuku'alofa</option><option value="Pacific/Kiritimati" data-utc-minute-offset="840">(GMT+14:00) Kiritimati</option></select><script type="text/javascript">var tzOffsetMin = new Date().getTimezoneOffset()*-1; var sel = document.getElementsByName('0e35d6393a8ba494aa0723dd51b6899c')[0] var opts = sel.options; for (var opt, j = 0; opt = opts[j]; j++) { if (opt.getAttribute('data-utc-minute-offset') == tzOffsetMin) { sel.selectedIndex = j; break; } } </script></div></div></div><br><span class="help-block"><small><span class="glyphicon glyphicon-info-sign"></span> The GMT offsets shown reflect the offsets <strong>at the moment of the conference</strong>.</small></span></div></div><div class="panel panel-default timeband-panel"><div class="panel-heading clearfix"><div class="panel-title">Time Band</div></div><div class="panel-body"><span class="help-block">By setting a time band, the program will dim events that are outside this time window. This is useful for (virtual) conferences with a continuous program (with repeated sessions).<br>The time band will also limit the events that are included in the personal iCalendar subscription service.</span><div class="row"><div class="col-sm-11 col-sm-offset-1"><label class="radio"><input type="radio" checked="checked" name="f1869fcfb40f29e9c9c46042f4fbda2c" value="false" onchange="if( ($(this).val() == 'true' &amp;&amp; this.checked) != $('#c2371058bcb9b31dd10e115e7f712708').is(':visible') ) { $('#c2371058bcb9b31dd10e115e7f712708').fadeToggle( 250 ); }"/><strong>Display full program</strong></label><label class="radio"><input type="radio" name="f1869fcfb40f29e9c9c46042f4fbda2c" value="true" onchange="if( ($(this).val() == 'true' &amp;&amp; this.checked) != $('#c2371058bcb9b31dd10e115e7f712708').is(':visible') ) { $('#c2371058bcb9b31dd10e115e7f712708').fadeToggle( 250 ); }"/>Specify a time band</label><div id="c2371058bcb9b31dd10e115e7f712708" style=" display: none;"><span class="input-group"><input name="a4e58ac1cd9cfb26fb62ecc29e600148" type="text" value="07:00" class="flatpickr inputDate form-control"/><script type="text/javascript">$("input:not(.flatpickr-input)[name=a4e58ac1cd9cfb26fb62ecc29e600148]").flatpickr({onOpen: function(dateObj, dateStr, instance){ if(dateStr == ''){ instance.jumpToDate( new Date() ); } }, allowInput: true, dateformat: 'H:i', altFormat: 'H:i' , altInput: true, time_24hr: true, noCalendar: true, enableTime : true}); </script><span class="input-group-addon"> - </span><input name="01ff55ee23f3ce1eb7d922f922eb09b1" type="text" value="19:00" class="flatpickr inputDate form-control"/><script type="text/javascript">$("input:not(.flatpickr-input)[name=01ff55ee23f3ce1eb7d922f922eb09b1]").flatpickr({onOpen: function(dateObj, dateStr, instance){ if(dateStr == ''){ instance.jumpToDate( new Date() ); } }, allowInput: true, dateformat: 'H:i', altFormat: 'H:i' , altInput: true, time_24hr: true, noCalendar: true, enableTime : true}); </script></span></div></div></div></div></div><div class="row form-group"><div class="col-sm-offset-2 col-sm-10"><button style="position: absolute; left: -9999px; width: 1px; height: 1px;" onclick='javascript:serverInvoke("https://icfp21.sigplan.org/userProgramSettingsModalConferenceEdition","userProgramSettingsModalConferenceEdition_apply18ec3dfeeecb5c44c1e40a40983898869", [{"name":"context", "value":"icfp-2021"},],"form11390898770538530f0e2bbdb67872b491120c5c8a7", this.nextSibling, true,"program-settings-modal"); return false;'></button><a submitid="userProgramSettingsModalConferenceEdition_apply18ec3dfeeecb5c44c1e40a40983898869" href="javascript:void(0)" onclick="javascript:loadImageElem=this;$(this.previousSibling).click()" class="btn btn-primary btn btn-default">Save</a></div></div></form></div><div class="modal-footer"><a href="#" data-dismiss="modal" class="btn btn-default"><span class="glyphicon glyphicon-remove"></span> Close</a></div></div></div></div></div><div class="program-container"><div class="time-zone-warning text-muted hide-in-print"><div class="alert alert-dismissible alert-info"><button type="button" data-dismiss="alert" aria-label="Close" class="close"><span aria-hidden="true">&times;</span></button><span class="glyphicon glyphicon-info-sign"></span> You're viewing the program in a time zone which is different from your device's time zone <small class="control-time-zone"><a data-toggle="modal" href="#userProgramSettings">change time zone</a></small></div></div><div class="tz-floating-link"><small class="control-time-zone"><a data-toggle="modal" href="#userProgramSettings" title="Change Program Display Configuration" class="btn btn-xs btn-info"><span class="glyphicon glyphicon-wrench"></span> <span class="glyphicon glyphicon-time"></span></a></small></div><script type="text/javascript">var tzOffsetMin = new Date().getTimezoneOffset()*-1; if(tzOffsetMin != 540){ $('.time-zone-warning').toggleClass('visible'); window.displayUserProgamSettingsOnce = true; } </script><div class="hidable day-wrapper"><h4 class="day-header sticky-top"><div><div>Sun 22 Aug</div><p></p><div class="time-zone-info"><small class="text-muted">Displayed time zone: <strong>Seoul</strong> <small class="control-time-zone"><a data-toggle="modal" href="#userProgramSettings">change</a></small></small></div></div></h4><div class="hidable band hour-20"><table data-facet-date="Sun 22 Aug 2021" data-facet-date-order="210822" data-facet-room="HIW" data-facet-plenary="Hide plenary sessions" class="table table-condensed session-table"><colgroup width="10px"/><colgroup width="100px"/><colgroup width="10px"/><colgroup width="100%"/><tr class="session-details"><td class="track-color c11"></td><td><div class="slot-label">20:00 - 21:30</div></td><td colspan="2"><div class="session-info-in-table">GHC 1<span class="pull-right"><a href="https://icfp21.sigplan.org/home/hiw-2021" target="_blank" class="text-muted navigate">HIW</a></span> at <a href="https://icfp21.sigplan.org/room/icfp-2021-venue-hiw" target="_blank" class="room-link navigate">HIW</a><br/> <small>Chair(s): <a href="https://icfp21.sigplan.org/profile/ningningxie" target="_blank" class="navigate">Ningning Xie</a><span class="prog-aff"> University of Toronto</span></small></div></td></tr><tr class="firefox-fix"><td></td><td></td><td></td><td></td></tr><tr data-slot-id="715f54ee-6118-42cc-bb53-2938ada5a121" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">20:00</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="55d6fe97-6c05-42a4-90c0-6f1e6c7fc1f2" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="55d6fe97-6c05-42a4-90c0-6f1e6c7fc1f2">Exact Print Annotations in GHC</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/alanzimmerman" class="navigate">Alan Zimmerman</a><span class="prog-aff"> </span></div></td></tr><tr data-slot-id="fca4b909-17e2-4352-948c-4dc86614d18b" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">20:22</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="da26baeb-7119-430e-aaf7-8f3908772d9e" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="da26baeb-7119-430e-aaf7-8f3908772d9e">Avoiding quadratic GHC core code size</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/edskodevries" class="navigate">Edsko de Vries</a><span class="prog-aff"> Well-Typed LLP</span>, <a href="https://icfp21.sigplan.org/profile/andresloh" class="navigate">Andres Löh</a><span class="prog-aff"> Well-Typed LLP</span></div></td></tr><tr data-slot-id="11385121-5f74-4e44-852a-a396f829a2ba" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">20:44</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="c4cd1c7f-8436-491d-a9c3-3e2cea209f71" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="c4cd1c7f-8436-491d-a9c3-3e2cea209f71">Improvements to GHC's parallel garbage collector</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/douglaswilson" class="navigate">Douglas Wilson</a><span class="prog-aff"> Well Typed</span></div></td></tr></table></div><div class="hidable band hour-22"><table data-facet-date="Sun 22 Aug 2021" data-facet-date-order="210822" data-facet-room="HIW" data-facet-plenary="Hide plenary sessions" class="table table-condensed session-table"><colgroup width="10px"/><colgroup width="100px"/><colgroup width="10px"/><colgroup width="100%"/><tr class="session-details"><td class="track-color c11"></td><td><div class="slot-label">22:00 - 23:30</div></td><td colspan="2"><div class="session-info-in-table">Keynote<span class="pull-right"><a href="https://icfp21.sigplan.org/home/hiw-2021" target="_blank" class="text-muted navigate">HIW</a></span> at <a href="https://icfp21.sigplan.org/room/icfp-2021-venue-hiw" target="_blank" class="room-link navigate">HIW</a><br/> <small>Chair(s): <a href="https://icfp21.sigplan.org/profile/ningningxie" target="_blank" class="navigate">Ningning Xie</a><span class="prog-aff"> University of Toronto</span></small></div></td></tr><tr class="firefox-fix"><td></td><td></td><td></td><td></td></tr><tr data-slot-id="77d1e162-4e46-4d3a-946b-8f6f2067bc0d" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">22:00</div><strong>60m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="b070b17e-f890-40ed-9467-1e0b99942d33" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="b070b17e-f890-40ed-9467-1e0b99942d33">Haskell reinterpreted – large-scale real-world experience with the Mu compiler in Financial Markets</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/martenagren" class="navigate">Marten Agren</a><span class="prog-aff"> Standard Chartered Bank</span></div><a href="https://icfp21.sigplan.org/details/hiw-2021-papers/14/Haskell-reinterpreted-large-scale-real-world-experience-with-the-Mu-compiler-in-Fin" target="_blank" class="publication-link navigate"><span class="glyphicon glyphicon-paperclip"></span> File Attached</a></td></tr></table></div><div class="hidable band hour-23"><table data-facet-date="Sun 22 Aug 2021" data-facet-date-order="210822" data-facet-room="HIW" data-facet-plenary="Hide plenary sessions" class="table table-condensed session-table"><colgroup width="10px"/><colgroup width="100px"/><colgroup width="10px"/><colgroup width="100%"/><tr class="session-details"><td class="track-color c11"></td><td><div class="slot-label">23:30 - 01:00</div></td><td colspan="2"><div class="session-info-in-table">Types and GHC 2<span class="pull-right"><a href="https://icfp21.sigplan.org/home/hiw-2021" target="_blank" class="text-muted navigate">HIW</a></span> at <a href="https://icfp21.sigplan.org/room/icfp-2021-venue-hiw" target="_blank" class="room-link navigate">HIW</a><br/> <small>Chair(s): <a href="https://icfp21.sigplan.org/profile/andresloh" target="_blank" class="navigate">Andres Löh</a><span class="prog-aff"> Well-Typed LLP</span></small></div></td></tr><tr class="firefox-fix"><td></td><td></td><td></td><td></td></tr><tr data-slot-id="0c370aff-7883-4390-b19e-5eceb0efcfec" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">23:30</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="fa952cce-258f-44af-80cf-a7443e8ab688" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="fa952cce-258f-44af-80cf-a7443e8ab688">Generalization is hard, but somebody's got to do it</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/richardeisenberg" class="navigate">Richard A. Eisenberg</a><span class="prog-aff"> Tweag</span></div></td></tr><tr data-slot-id="504d3ca4-4fd3-496e-b122-48c07a7eafb8" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">23:52</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="8ee191e0-fa3e-48ce-b30d-258cb66a7fb7" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="8ee191e0-fa3e-48ce-b30d-258cb66a7fb7">A new interface for GHC typechecker plugins and type-family rewriting</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/samderbyshire" class="navigate">Sam Derbyshire</a><span class="prog-aff"> Tweag</span></div><a href="https://icfp21.sigplan.org/details/hiw-2021-papers/6/A-new-interface-for-GHC-typechecker-plugins-and-type-family-rewriting" target="_blank" class="publication-link navigate"><span class="glyphicon glyphicon-film"></span> Media Attached</a></td></tr><tr data-slot-id="1313c5f9-8203-458b-b402-24d2f853b402" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">00:14</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="07d10539-d18f-4c6d-8cd2-5b36eba325ea" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="07d10539-d18f-4c6d-8cd2-5b36eba325ea">The Dynamic Haskell Plugin for GHC</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/matthiaspallgissurarson" class="navigate">Matthías Páll Gissurarson</a><span class="prog-aff"> Chalmers University of Technology, Sweden</span>, <a href="https://icfp21.sigplan.org/profile/agustinmista" class="navigate">Agustín Mista</a><span class="prog-aff"> Chalmers University of Technology</span></div></td></tr><tr data-slot-id="8e0d12be-8108-4179-bd84-94fdd1a94bb8" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">00:36</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="91f680b0-198a-4164-95fd-b5087a21b010" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="91f680b0-198a-4164-95fd-b5087a21b010">GHC Status update</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/simonpeytonjones" class="navigate">Simon Peyton Jones</a><span class="prog-aff"> Microsoft, UK</span></div><a href="https://icfp21.sigplan.org/details/hiw-2021-papers/1/GHC-Status-update" target="_blank" class="publication-link navigate"><span class="glyphicon glyphicon-paperclip"></span> File Attached</a></td></tr></table></div></div><div class="hidable day-wrapper"><h4 class="day-header sticky-top"><div><div>Mon 23 Aug</div><p></p><div class="time-zone-info"><small class="text-muted">Displayed time zone: <strong>Seoul</strong> <small class="control-time-zone"><a data-toggle="modal" href="#userProgramSettings">change</a></small></small></div></div></h4><div class="hidable band hour-1"><table data-facet-date="Mon 23 Aug 2021" data-facet-date-order="210823" data-facet-room="HIW" data-facet-plenary="Hide plenary sessions" class="table table-condensed session-table"><colgroup width="10px"/><colgroup width="100px"/><colgroup width="10px"/><colgroup width="100%"/><tr class="session-details"><td class="track-color c11"></td><td><div class="slot-label">01:30 - 03:00</div></td><td colspan="2"><div class="session-info-in-table">Tools<span class="pull-right"><a href="https://icfp21.sigplan.org/home/hiw-2021" target="_blank" class="text-muted navigate">HIW</a></span> at <a href="https://icfp21.sigplan.org/room/icfp-2021-venue-hiw" target="_blank" class="room-link navigate">HIW</a><br/> <small>Chair(s): <a href="https://icfp21.sigplan.org/profile/daanleijen" target="_blank" class="navigate">Daan Leijen</a><span class="prog-aff"> Microsoft Research</span></small></div></td></tr><tr class="firefox-fix"><td></td><td></td><td></td><td></td></tr><tr data-slot-id="217aec1e-86e1-47a8-ac68-d49c8f2412fc" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">01:30</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="fd7bc807-b77c-4f97-95a9-8f6965142117" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="fd7bc807-b77c-4f97-95a9-8f6965142117">Testing Haskell with Mocks</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/chrissmith" class="navigate">Chris Smith</a><span class="prog-aff"> </span></div></td></tr><tr data-slot-id="aa3725c6-09da-44fd-84ac-62875cf5ef6d" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">01:52</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="3ebd29a3-d932-4486-ab6a-f3b7d44fdc50" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="3ebd29a3-d932-4486-ab6a-f3b7d44fdc50">Adventures in GHC compile times</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/jeffreymyoung1" class="navigate">Jeffrey M. Young</a><span class="prog-aff"> Tweag</span>, <a href="https://icfp21.sigplan.org/profile/richardeisenberg" class="navigate">Richard A. Eisenberg</a><span class="prog-aff"> Tweag</span></div></td></tr><tr data-slot-id="ee4792e4-1a94-4818-80e1-4f365b697367" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">02:14</div><strong>7m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="9fa30f16-0349-460b-bfe4-00888e8297c3" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="9fa30f16-0349-460b-bfe4-00888e8297c3">Lightning Talk: Pinned Warnings</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/aaronallen" class="navigate">Aaron Allen</a><span class="prog-aff"> </span></div></td></tr><tr data-slot-id="4b39e6de-1de3-49c8-97c9-6b40b324bf61" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">02:21</div><strong>7m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="89bbcfbb-6514-423c-9b37-fcf51417e61a" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="89bbcfbb-6514-423c-9b37-fcf51417e61a">Lightning Talk: GSOL: A Confluence Checker for Haskell Rewrite Rules</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/faustindate" class="navigate">Faustin Date</a><span class="prog-aff"> </span>, <a href="https://icfp21.sigplan.org/profile/makotohamana" class="navigate">Makoto Hamana</a><span class="prog-aff"> Gunma University, Japan</span></div><a href="https://icfp21.sigplan.org/details/hiw-2021-papers/17/Lightning-Talk-GSOL-A-Confluence-Checker-for-Haskell-Rewrite-Rules" target="_blank" class="publication-link navigate"><span class="glyphicon glyphicon-paperclip"></span> File Attached</a></td></tr></table></div><div class="hidable band hour-3"><table data-facet-date="Mon 23 Aug 2021" data-facet-date-order="210823" data-facet-room="HIW" data-facet-plenary="Hide plenary sessions" class="table table-condensed session-table"><colgroup width="10px"/><colgroup width="100px"/><colgroup width="10px"/><colgroup width="100%"/><tr class="session-details"><td class="track-color c11"></td><td><div class="slot-label">03:30 - 05:00</div></td><td colspan="2"><div class="session-info-in-table">Applications and Closing<span class="pull-right"><a href="https://icfp21.sigplan.org/home/hiw-2021" target="_blank" class="text-muted navigate">HIW</a></span> at <a href="https://icfp21.sigplan.org/room/icfp-2021-venue-hiw" target="_blank" class="room-link navigate">HIW</a><br/> <small>Chair(s): <a href="https://icfp21.sigplan.org/profile/edskodevries" target="_blank" class="navigate">Edsko de Vries</a><span class="prog-aff"> Well-Typed LLP</span></small></div></td></tr><tr class="firefox-fix"><td></td><td></td><td></td><td></td></tr><tr data-slot-id="2ea8cc59-8ba8-4d54-9ea6-a5846eeb7f54" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">03:30</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="c9815526-0954-4de1-b197-f4dd7a1bcb8a" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="c9815526-0954-4de1-b197-f4dd7a1bcb8a">Securing Web-Applications with A Refinement Typed ORM</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/nicolehmann" class="navigate">Nico Lehmann</a><span class="prog-aff"> University of California, San Diego</span>, <a href="https://icfp21.sigplan.org/profile/rosekunkel1" class="navigate">Rose Kunkel</a><span class="prog-aff"> University of California, San Diego</span>, <a href="https://icfp21.sigplan.org/profile/nikivazou" class="navigate">Niki Vazou</a><span class="prog-aff"> IMDEA Software Institute</span>, <a href="https://icfp21.sigplan.org/profile/nadiapolikarpova" class="navigate">Nadia Polikarpova</a><span class="prog-aff"> University of California at San Diego</span>, <a href="https://icfp21.sigplan.org/profile/deianstefan" class="navigate">Deian Stefan</a><span class="prog-aff"> University of California at San Diego, USA</span>, <a href="https://icfp21.sigplan.org/profile/ranjitjhala" class="navigate">Ranjit Jhala</a><span class="prog-aff"> University of California at San Diego</span></div></td></tr><tr data-slot-id="a6c14a82-46a1-44d1-90f4-ba177e3d6eea" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">03:52</div><strong>22m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="17ebc6bc-5019-4d3c-9a93-fa2fc9962080" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="17ebc6bc-5019-4d3c-9a93-fa2fc9962080">Generics for Hardware: Adding Haskell-inspired Generics to Bluespec</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/lucaskramer1" class="navigate">Lucas Kramer</a><span class="prog-aff"> Google</span>, <a href="https://icfp21.sigplan.org/profile/ravinanavati" class="navigate">Ravi Nanavati</a><span class="prog-aff"> </span></div></td></tr><tr data-slot-id="f7747e11-e660-41ee-ba80-ab106fc6452b" class="hidable"><td class="track-color c11"></td><td class=" text-right"><div class="text-muted"><div class="start-time">04:14</div><strong>3m</strong></div><div class="event-type">Talk</div><span data-facet-track="HIW"></span></td><td><span data-event-star="bcbf4638-42da-4cbb-99b6-2d92918eb67a" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><strong><a href="#" data-event-modal="bcbf4638-42da-4cbb-99b6-2d92918eb67a">Closing</a></strong><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/ningningxie" class="navigate">Ningning Xie</a><span class="prog-aff"> University of Toronto</span></div></td></tr></table></div></div></div></div></div><div id="event-overview" class="tab-pane "><h3>Accepted Talks</h3><table class="table table-condensed"><colgroup width="5"/><colgroup/><thead><tr><th><span class="glyphicon glyphicon-star"></span></th><th>Title</th></tr></thead><tr><td><span data-event-star="3ebd29a3-d932-4486-ab6a-f3b7d44fdc50" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="3ebd29a3-d932-4486-ab6a-f3b7d44fdc50">Adventures in GHC compile times</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/jeffreymyoung1" class="navigate">Jeffrey M. Young</a>, <a href="https://icfp21.sigplan.org/profile/richardeisenberg" class="navigate">Richard A. Eisenberg</a></div></td></tr><tr><td><span data-event-star="8ee191e0-fa3e-48ce-b30d-258cb66a7fb7" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="8ee191e0-fa3e-48ce-b30d-258cb66a7fb7">A new interface for GHC typechecker plugins and type-family rewriting</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/samderbyshire" class="navigate">Sam Derbyshire</a></div><a href="https://icfp21.sigplan.org/details/hiw-2021-papers/6/A-new-interface-for-GHC-typechecker-plugins-and-type-family-rewriting" target="_blank" class="publication-link navigate"><span class="glyphicon glyphicon-film"></span> Media Attached</a></td></tr><tr><td><span data-event-star="da26baeb-7119-430e-aaf7-8f3908772d9e" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="da26baeb-7119-430e-aaf7-8f3908772d9e">Avoiding quadratic GHC core code size</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/edskodevries" class="navigate">Edsko de Vries</a>, <a href="https://icfp21.sigplan.org/profile/andresloh" class="navigate">Andres Löh</a></div></td></tr><tr><td><span data-event-star="55d6fe97-6c05-42a4-90c0-6f1e6c7fc1f2" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="55d6fe97-6c05-42a4-90c0-6f1e6c7fc1f2">Exact Print Annotations in GHC</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/alanzimmerman" class="navigate">Alan Zimmerman</a></div></td></tr><tr><td><span data-event-star="fa952cce-258f-44af-80cf-a7443e8ab688" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="fa952cce-258f-44af-80cf-a7443e8ab688">Generalization is hard, but somebody's got to do it</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/richardeisenberg" class="navigate">Richard A. Eisenberg</a></div></td></tr><tr><td><span data-event-star="17ebc6bc-5019-4d3c-9a93-fa2fc9962080" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="17ebc6bc-5019-4d3c-9a93-fa2fc9962080">Generics for Hardware: Adding Haskell-inspired Generics to Bluespec</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/lucaskramer1" class="navigate">Lucas Kramer</a>, <a href="https://icfp21.sigplan.org/profile/ravinanavati" class="navigate">Ravi Nanavati</a></div></td></tr><tr><td><span data-event-star="91f680b0-198a-4164-95fd-b5087a21b010" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="91f680b0-198a-4164-95fd-b5087a21b010">GHC Status update</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/simonpeytonjones" class="navigate">Simon Peyton Jones</a></div><a href="https://icfp21.sigplan.org/details/hiw-2021-papers/1/GHC-Status-update" target="_blank" class="publication-link navigate"><span class="glyphicon glyphicon-paperclip"></span> File Attached</a></td></tr><tr><td><span data-event-star="c4cd1c7f-8436-491d-a9c3-3e2cea209f71" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="c4cd1c7f-8436-491d-a9c3-3e2cea209f71">Improvements to GHC's parallel garbage collector</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/douglaswilson" class="navigate">Douglas Wilson</a></div></td></tr><tr><td><span data-event-star="c9815526-0954-4de1-b197-f4dd7a1bcb8a" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="c9815526-0954-4de1-b197-f4dd7a1bcb8a">Securing Web-Applications with A Refinement Typed ORM</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/nicolehmann" class="navigate">Nico Lehmann</a>, <a href="https://icfp21.sigplan.org/profile/rosekunkel1" class="navigate">Rose Kunkel</a>, <a href="https://icfp21.sigplan.org/profile/nikivazou" class="navigate">Niki Vazou</a>, <a href="https://icfp21.sigplan.org/profile/nadiapolikarpova" class="navigate">Nadia Polikarpova</a>, <a href="https://icfp21.sigplan.org/profile/deianstefan" class="navigate">Deian Stefan</a>, <a href="https://icfp21.sigplan.org/profile/ranjitjhala" class="navigate">Ranjit Jhala</a></div></td></tr><tr><td><span data-event-star="fd7bc807-b77c-4f97-95a9-8f6965142117" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="fd7bc807-b77c-4f97-95a9-8f6965142117">Testing Haskell with Mocks</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/chrissmith" class="navigate">Chris Smith</a></div></td></tr><tr><td><span data-event-star="07d10539-d18f-4c6d-8cd2-5b36eba325ea" title="Add event to your program"><span class="text-disabled glyphicon glyphicon-star-empty"></span></span></td><td><a href="#" data-event-modal="07d10539-d18f-4c6d-8cd2-5b36eba325ea">The Dynamic Haskell Plugin for GHC</a><div class="prog-track">HIW</div><div class="performers"><a href="https://icfp21.sigplan.org/profile/matthiaspallgissurarson" class="navigate">Matthías Páll Gissurarson</a>, <a href="https://icfp21.sigplan.org/profile/agustinmista" class="navigate">Agustín Mista</a></div></td></tr></table></div><div id="Call-for-Lightning-Talks" class="tab-pane "><h2>Call for Lightning Talks</h2><p><p>We have a number of slots for lightning talks. Lightning talks will be ~7 minutes and are scheduled on the day of the workshop. Suggested topics for lightning talks are to present a single idea, a work-in-progress project, a problem to intrigue and perplex Haskell implementors, or simply to ask for feedback and collaborators.</p> <p>Lightning talks are proposed by submitting a title and an abstract. Submissions will not be part of the peer-review process. Notification of acceptance will be continuous until slots are full.</p> <p>Submissions should be made via Google form:</p> <p><a href="https://forms.gle/BmUSyWWTXt1AMTec8">https://forms.gle/BmUSyWWTXt1AMTec8</a></p> <p>Accepted lightning talks will be posted on the workshop’s website.</p> </p></div><div id="Call-for-Talks" class="tab-pane "><h2>Call for Talks</h2><p><p>The 13th Haskell Implementors’ Workshop is to be held alongside ICFP 2021 this year virtually. It is a forum for people involved in the design and development of Haskell implementations, tools, libraries, and supporting infrastructure, to share their work and discuss future directions and collaborations with others.</p> <p>Talks and/or demos are proposed by submitting an abstract, and selected by a small program committee. There will be no published proceedings. The workshop will be informal and interactive, with open spaces in the timetable and room for ad-hoc discussion, demos and lightning talks.</p> <h2><a href="#scope-and-target-audience" id="scope-and-target-audience" class="anchor-link">Scope and Target Audience</a></h2> <p>It is important to distinguish the Haskell Implementors’ Workshop from the Haskell Symposium which is also co-located with ICFP 2021. The Haskell Symposium is for the publication of Haskell-related research. In contrast, the Haskell Implementors’ Workshop will have no proceedings – although we will aim to make talk videos, slides and presented data available with the consent of the speakers.</p> <p>The Implementors’ Workshop is an ideal place to describe a Haskell extension, describe works-in-progress, demo a new Haskell-related tool, or even propose future lines of Haskell development. Members of the wider Haskell community encouraged to attend the workshop – we need your feedback to keep the Haskell ecosystem thriving. Students working with Haskell are specially encouraged to share their work.</p> <p>The scope covers any of the following topics. There may be some topics that people feel we’ve missed, so by all means submit a proposal even if it doesn’t fit exactly into one of these buckets:</p> <ul> <li>Compilation techniques</li> <li>Language features and extensions</li> <li>Type system implementation</li> <li>Concurrency and parallelism: language design and implementation</li> <li>Performance, optimization and benchmarking</li> <li>Virtual machines and run-time systems</li> <li>Libraries and tools for development or deployment</li> </ul> <h2><a href="#talks" id="talks" class="anchor-link">Talks</a></h2> <p>We invite proposals from potential speakers for talks and demonstrations. We are aiming for 20-minute talks with 5 minutes for questions and changeovers. We want to hear from people writing compilers, tools, or libraries, people with cool ideas for directions in which we should take the platform, proposals for new features to be implemented, and half-baked crazy ideas. Please submit a talk title and abstract of no more than 300 words.</p> <p>Submissions can be made via HotCRP at <a href="https://icfp-hiw21.hotcrp.com/">https://icfp-hiw21.hotcrp.com/</a> until June 30th (anywhere on earth).</p> <p>We will also have lightning talks session. These have been very well received in recent years, and we aim to increase the time available to them. Lightning talks be ~7mins and are scheduled on the day of the workshop. Suggested topics for lightning talks are to present a single idea, a work-in-progress project, a problem to intrigue and perplex Haskell implementors, or simply to ask for feedback and collaborators.</p> <h2><a href="#logistics" id="logistics" class="anchor-link">Logistics</a></h2> <p>Due to the on-going COVID-19 situation, ICFP (and, consequently, HIW) will be held remotely this year. However, the organizers are still working hard to provide for a great workshop experience.</p> <p>While we are sad that this year will lack the robust hallway track that is often the highlight of HIW, we believe that this remote workshop presents a unique opportunity to include more of the Haskell community in our discussion and explore new modes of communicating with our colleagues. We hope that you will join us in making this HIW as vibrant as any other.</p> </p></div></div></div><div class="col-sm-4 sidebar"><div class="panel panel-primary"><div class="panel-heading clearfix"><div class="panel-title">Important Dates<span class="pull-right"><small><span class="glyphicon glyphicon-globe"></span><span class="glyphicon glyphicon-time"></span> AoE (UTC-12h)</small></span></div></div><table class="table table-hover important-dates-in-sidebar"><tr href="https://icfp21.sigplan.org/home/hiw-2021" class="clickable-row past"><td>Sun 22 Aug 2021<br/>Workshop</td></tr><tr href="https://icfp21.sigplan.org/home/hiw-2021" class="clickable-row past"><td>Thu 19 Aug 2021<br/>Lightning Talk Submission Deadline</td></tr><tr href="https://icfp21.sigplan.org/home/hiw-2021" class="clickable-row past"><td>Wed 14 Jul 2021<br/>Notification</td></tr><tr href="https://icfp21.sigplan.org/home/hiw-2021" class="clickable-row past"><td>Wed 30 Jun 2021<br/>Submission Deadline</td></tr></table></div><div class="panel panel-primary"><div class="panel-heading clearfix"><div class="panel-title">Submission Link</div></div><div class="panel-body"><small><span class="text-muted"><span class="glyphicon glyphicon-new-window"></span></span> <a href="https://icfp-hiw21.hotcrp.com/" title="Submission link for Call for Talks" target="_blank" class="navigate">https://icfp-hiw21.hotcrp.com/</a></small></div></div><div class="panel panel-primary"><div class="panel-heading clearfix"><div class="panel-title"><a href="https://icfp21.sigplan.org/committee/hiw-2021-papers-program-committee" class="navigate">Program Committee</a></div></div><ul class="list-group"><li class="list-group-item"><a href="https://icfp21.sigplan.org/profile/dominiquedevriese" class="navigate"><div class="media"><span class="pull-left"><img alt="Dominique Devriese" src="https://icfp21.sigplan.org/getProfileImage/dominiquedevriese/d77dc67e-9b27-405c-9148-4887c816a9b4/micro-avatar.jpg?1711456924000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Dominique Devriese<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">Vrije Universiteit Brussel</span></h5><h5 class="media-heading"><small>Belgium</small></h5></div></div></a></li><li class="list-group-item"><a href="https://icfp21.sigplan.org/profile/daanleijen" class="navigate"><div class="media"><span class="pull-left"><img alt="Daan Leijen" src="https://icfp21.sigplan.org/getProfileImage/daanleijen/6fa32f38-9c15-4ca2-bb4e-05ed743e199e/micro-avatar.jpg?1711470116000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Daan Leijen<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">Microsoft Research</span></h5><h5 class="media-heading"><small>United States</small></h5></div></div></a></li><li class="list-group-item"><a href="https://icfp21.sigplan.org/profile/andresloh" class="navigate"><div class="media"><span class="pull-left"><img alt="Andres L&ouml;h" src="https://icfp21.sigplan.org/getProfileImage/andresloh/24555ffc-67b4-431e-944b-95abeb2b418d/micro-avatar.jpg?1711484133000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Andres Löh<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">Well-Typed LLP</span></h5></div></div></a></li><li class="list-group-item"><a href="https://icfp21.sigplan.org/profile/juliemoronuki" class="navigate"><div class="media"><span class="pull-left"><img alt="Julie Moronuki" src="https://icfp21.sigplan.org/getProfileImage/juliemoronuki/d249bb81-fdc6-4a7c-aeb2-8417d94881d0/micro-avatar.jpg?1711780321000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Julie Moronuki<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">Typeclass Consulting</span></h5><h5 class="media-heading"><small>United States</small></h5></div></div></a></li><li class="list-group-item"><a href="https://icfp21.sigplan.org/profile/johnwiegley" class="navigate"><div class="media"><span class="pull-left"><img alt="John Wiegley" src="https://icfp21.sigplan.org/getProfileImage/johnwiegley/e7a7fece-1cd9-42aa-ad05-57f9f5310406/micro-avatar.jpg?1711499795000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">John Wiegley<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">DFINITY</span></h5><h5 class="media-heading"><small>United States</small></h5></div></div></a></li><li class="list-group-item"><a href="https://icfp21.sigplan.org/profile/ningningxie" class="navigate"><div class="media"><span class="pull-left"><img alt="Ningning Xie" src="https://icfp21.sigplan.org/getProfileImage/ningningxie/22ca8aae-ed4b-44ff-bb64-6259160113ab/micro-avatar.jpg?1714599252000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Ningning Xie<span class="pull-right"><small>Program Chair</small></span></h5><h5 class="media-heading"><span class="text-black">University of Toronto</span></h5><h5 class="media-heading"><small>Canada</small></h5></div></div></a></li><li class="list-group-item"><a href="https://icfp21.sigplan.org/profile/edwardzyang" class="navigate"><div class="media"><span class="pull-left"><img alt="Edward Z. Yang" src="https://icfp21.sigplan.org/getProfileImage/edwardzyang/77169f9a-3158-4108-8076-82250cdf5c9d/micro-avatar.jpg?1711703100000" class="outputimage media-object thumbnail no-bottom-margin"/></span><div class="media-body"><h5 class="media-heading">Edward Z. Yang<span class="pull-right"><small></small></span></h5><h5 class="media-heading"><span class="text-black">Facebook</span></h5><h5 class="media-heading"><small>United States</small></h5></div></div></a></li></ul></div></div></div><div id="messages-placeholder" class="alert alert-warning" style="display:none;"><a data-dismiss="alert" class="close">x</a><em>Mon 17 Feb 23:33</em></div></div><div id="notifications-ph" class="webdsl-placeholder"></div><div id="event-modal-loader" class="webdsl-placeholder"><form name="form_131600131703c411e65b13378d08eb1f6672b5a0259" id="form_131600131703c411e65b13378d08eb1f6672b5a0259" action="https://icfp21.sigplan.org/eventDetailsModalByAjaxConferenceEdition" accept-charset="UTF-8" method="POST" class="hidden"><input type="hidden" name="form_131600131703c411e65b13378d08eb1f6672b5a0259" value="1" /><input type="hidden" name="context" value="icfp-2021" /><input name="ae03f7f6f951d515a297b161e922205d" type="text" value="" class="inputString form-control event-id-input"/><button style="position: absolute; left: -9999px; width: 1px; height: 1px;" onclick='javascript:serverInvoke("https://icfp21.sigplan.org/eventDetailsModalByAjaxConferenceEdition","eventDetailsModalByAjaxConferenceEdition_ia0_3c411e65b13378d08eb1f6672b5a0259", [{"name":"context", "value":"icfp-2021"},],"form_131600131703c411e65b13378d08eb1f6672b5a0259", this.nextSibling, false,"event-modal-loader"); return false;'></button><a submitid="eventDetailsModalByAjaxConferenceEdition_ia0_3c411e65b13378d08eb1f6672b5a0259" href="javascript:void(0)" onclick="javascript:loadImageElem=this;$(this.previousSibling).click()" id="load-modal-action"></a></form></div><div id="event-star-form" class="webdsl-placeholder"><form name="form_509860938088b48fd14544d4239b498a2cf339e02b" id="form_509860938088b48fd14544d4239b498a2cf339e02b" action="https://icfp21.sigplan.org/eventStarByAjaxConferenceEdition" accept-charset="UTF-8" method="POST" class="hidden"><input type="hidden" name="form_509860938088b48fd14544d4239b498a2cf339e02b" value="1" /><input type="hidden" name="context" value="icfp-2021" /><input name="a0b55aa29cf9431a9461b359872014e3" type="text" value="" class="inputString form-control event-id-input"/><button style="position: absolute; left: -9999px; width: 1px; height: 1px;" onclick='javascript:serverInvoke("https://icfp21.sigplan.org/eventStarByAjaxConferenceEdition","eventStarByAjaxConferenceEdition_ia0_88b48fd14544d4239b498a2cf339e02b", [{"name":"context", "value":"icfp-2021"},],"form_509860938088b48fd14544d4239b498a2cf339e02b", this.nextSibling, false,"event-star-form"); return false;'></button><a submitid="eventStarByAjaxConferenceEdition_ia0_88b48fd14544d4239b498a2cf339e02b" href="javascript:void(0)" onclick="javascript:loadImageElem=this;$(this.previousSibling).click()" id="star-event-action"></a></form></div><div id="event-modals" class="webdsl-placeholder"></div><script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; addEventModalLoadOnClick(node); addStarredEventOnClick(node); }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script><footer class="footer"><div class="container"><div class="footer-box"><div class="row"><div class="col-sm-3"><h3><a href="https://icfp21.sigplan.org" class="navigate"><span class="glyphicon glyphicon-home"></span> ICFP 2021</a></h3><hr/>using <a href="https://conf.researchr.org" class="navigate">conf.researchr.org</a> (<a href="http://yellowgrass.org/roadmap/conf.researchr.org" class="navigate">v1.69.0</a>)<br/><small><a href="https://icfp21.sigplan.org/support" target="_blank" class="navigate"><span class="glyphicon glyphicon-question-sign"></span> Support page</a></small><br/><small></small></div><div class="col-sm-5"><div class="row"><div class="col-sm-6"><h4>Tracks</h4><a href="https://icfp21.sigplan.org/track/icfp-2021-jfp-talks" class="navigate">JFP Talks</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-pltea" class="navigate">PLTea</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-papers" class="navigate">Research Papers</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-social-events" class="navigate">Social Events</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-artifact-evaluation" class="navigate">Artifact Evaluation</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-student-research-competition" class="navigate">Student Research Competition</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-workshops" class="navigate">Workshops</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-tutorials" class="navigate">Tutorials</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-icfp-programming-contest" class="navigate">ICFP Programming Contest</a><br/><a href="https://icfp21.sigplan.org/track/icfp-2021-student-volunteers" class="navigate">Student Volunteers</a></div><div class="col-sm-6"><h4>Workshops</h4><a href="https://icfp21.sigplan.org/home/erlang-2021" class="navigate">Erlang 2021</a><br/><a href="https://icfp21.sigplan.org/home/farm-2021" class="navigate">FARM 2021</a><br/><a href="https://icfp21.sigplan.org/home/FHPNC-2021" class="navigate">FHPNC 2021</a><br/><a href="https://icfp21.sigplan.org/home/hiw-2021" class="navigate">HIW 2021</a><br/><a href="https://icfp21.sigplan.org/home/hope-2021" class="navigate">HOPE 2021</a><br/><a href="https://icfp21.sigplan.org/home/mlfamilyworkshop-2021" class="navigate">ML 2021</a><br/><a href="https://icfp21.sigplan.org/home/ocaml-2021" class="navigate">OCaml 2021</a><br/><a href="https://icfp21.sigplan.org/home/PLMW-ICFP-2021" class="navigate">PLMW @ ICFP 2021</a><br/><a href="https://icfp21.sigplan.org/home/scheme-2021" class="navigate">Scheme 2021</a><br/><a href="https://icfp21.sigplan.org/home/TyDe-2021" class="navigate">TyDe 2021</a><br/><a href="https://icfp21.sigplan.org/home/minikanren-2021" class="navigate">miniKanren 2021</a><br/><h4>Co-hosted Symposia</h4><a href="https://icfp21.sigplan.org/home/haskellsymp-2021" class="navigate">Haskell 2021</a></div></div></div><div class="col-sm-2"><h4>Attending</h4><a href="https://icfp21.sigplan.org/venue/icfp-2021-venue" class="navigate">Venue: Virtual</a><br><a href="https://icfp21.sigplan.org/attending/students" class="navigate">Student Volunteers</a><br><a href="https://icfp21.sigplan.org/attending/code-of-conduct" class="navigate">Code of Conduct</a><br><a href="https://icfp21.sigplan.org/attending/call-for-sponsorship" class="navigate">Call For Sponsorship</a><br><a href="https://icfp21.sigplan.org/attending/Registration" class="navigate">Registration</a><br><a href="https://icfp21.sigplan.org/attending/accessibility" class="navigate">Accessibility</a></div><div class="col-sm-2"><a href="https://icfp21.sigplan.org/signup" class="navigate">Sign Up</a></div></div></div></div></footer></div><script type="text/javascript">(function(){ var post_process_function = function(n){ var node=(n&&n.nodeType === 1)?n:document; let defaultplacement = $(document).scrollLeft() > 100 ? 'auto left' : 'auto top'; $(node).find('[title]').each( function(i,el){ var $e=$(el);$e.tooltip({placement: function(tt, elem){ var attval = elem.getAttribute('data-placement'); return attval ? attval : defaultplacement; }, sanitize: false, container: 'body' }) } ).on('show.bs.tooltip', function () { let el = this; while (el && window.getComputedStyle(el).position !== 'fixed') { el = el.parentElement; } if(el) $(this).data('bs.tooltip').options.container = el;});$('.tooltip.fade.in, .ui-tooltip-content').remove(); }; var original_post_process_func = ajax_post_process; ajax_post_process = function(){ original_post_process_func.apply(this,arguments); post_process_function.apply(this,arguments); }; $(document).ready( post_process_function ); })(); </script><script type="text/javascript">jQuery(document).ready(function($) { $(".clickable-row").click(function() { var href = $(this).attr("href"); if( window.location.href.indexOf( href ) < 0 ){ if ($(this).hasClass('new-window') ){ window.open( href ); } else { window.document.location = href; } } }); }); </script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10