CINXE.COM

Haskell - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Haskell - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"2c9862fd-266a-416c-973c-6555da53f358","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Haskell","wgTitle":"Haskell","wgCurRevisionId":1276885687,"wgRevisionId":1276885687,"wgArticleId":27404990,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 maint: location","All articles with dead external links","Articles with dead external links from May 2022","All articles with bare URLs for citations","Articles with bare URLs for citations from August 2024","Articles with short description","Short description is different from Wikidata","Use dmy dates from November 2019","All articles with unsourced statements","Articles with unsourced statements from February 2012","Articles containing potentially dated statements from May 2021", "All articles containing potentially dated statements","Articles with example Haskell code","Academic programming languages","Educational programming languages","Functional languages","Haskell programming language family","Literate programming","Pattern matching programming languages","Programming languages created in 1990","Statically typed programming languages"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Haskell","wgRelevantArticleId":27404990,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true, "tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q34010","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready", "ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.17"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Haskell - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Haskell"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Haskell&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Haskell"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Haskell rootpage-Haskell skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Haskell" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Haskell" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Haskell" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Haskell" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <button aria-controls="toc-History-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle History subsection</span> </button> <ul id="toc-History-sublist" class="vector-toc-list"> <li id="toc-Haskell_1.0_to_1.4" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Haskell_1.0_to_1.4"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Haskell 1.0 to 1.4</span> </div> </a> <ul id="toc-Haskell_1.0_to_1.4-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Haskell_98" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Haskell_98"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Haskell 98</span> </div> </a> <ul id="toc-Haskell_98-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Haskell_2010" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Haskell_2010"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Haskell 2010</span> </div> </a> <ul id="toc-Haskell_2010-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Future_standards" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Future_standards"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>Future standards</span> </div> </a> <ul id="toc-Future_standards-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Features" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Features"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Features</span> </div> </a> <ul id="toc-Features-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Code_examples" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Code_examples"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Code examples</span> </div> </a> <ul id="toc-Code_examples-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Implementations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Implementations</span> </div> </a> <ul id="toc-Implementations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notable_applications" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notable_applications"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Notable applications</span> </div> </a> <button aria-controls="toc-Notable_applications-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Notable applications subsection</span> </button> <ul id="toc-Notable_applications-sublist" class="vector-toc-list"> <li id="toc-Industry" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Industry"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Industry</span> </div> </a> <ul id="toc-Industry-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Web" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Web"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>Web</span> </div> </a> <ul id="toc-Web-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Criticism" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Criticism"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Criticism</span> </div> </a> <ul id="toc-Criticism-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Related_languages" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Related_languages"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Related languages</span> </div> </a> <ul id="toc-Related_languages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Conferences_and_workshops" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Conferences_and_workshops"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Conferences and workshops</span> </div> </a> <ul id="toc-Conferences_and_workshops-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bibliography" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Bibliography"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Bibliography</span> </div> </a> <ul id="toc-Bibliography-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Haskell</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 54 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-54" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">54 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%87%D8%A7%D8%B3%D9%83%D9%84" title="هاسكل – Arabic" lang="ar" hreflang="ar" data-title="هاسكل" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Haskell_(proqramla%C5%9Fd%C4%B1rma_dili)" title="Haskell (proqramlaşdırma dili) – Azerbaijani" lang="az" hreflang="az" data-title="Haskell (proqramlaşdırma dili)" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%B9%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B8%E0%A6%95%E0%A7%87%E0%A6%B2" title="হ্যাসকেল – Bangla" lang="bn" hreflang="bn" data-title="হ্যাসকেল" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/Haskell" title="Haskell – Belarusian" lang="be" hreflang="be" data-title="Haskell" data-language-autonym="Беларуская" data-language-local-name="Belarusian" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/Haskell" title="Haskell – Bulgarian" lang="bg" hreflang="bg" data-title="Haskell" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Haskell" title="Haskell – Catalan" lang="ca" hreflang="ca" data-title="Haskell" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Haskell_(programovac%C3%AD_jazyk)" title="Haskell (programovací jazyk) – Czech" lang="cs" hreflang="cs" data-title="Haskell (programovací jazyk)" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Haskell_(programmeringssprog)" title="Haskell (programmeringssprog) – Danish" lang="da" hreflang="da" data-title="Haskell (programmeringssprog)" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Haskell_(Programmiersprache)" title="Haskell (Programmiersprache) – German" lang="de" hreflang="de" data-title="Haskell (Programmiersprache)" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Haskell" title="Haskell – Estonian" lang="et" hreflang="et" data-title="Haskell" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Haskell" title="Haskell – Greek" lang="el" hreflang="el" data-title="Haskell" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Haskell" title="Haskell – Spanish" lang="es" hreflang="es" data-title="Haskell" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Haskell_(komputillingvo)" title="Haskell (komputillingvo) – Esperanto" lang="eo" hreflang="eo" data-title="Haskell (komputillingvo)" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Haskell_(programazio_lengoaia)" title="Haskell (programazio lengoaia) – Basque" lang="eu" hreflang="eu" data-title="Haskell (programazio lengoaia)" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%87%D8%B3%DA%A9%D9%84_(%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C)" title="هسکل (زبان برنامه‌نویسی) – Persian" lang="fa" hreflang="fa" data-title="هسکل (زبان برنامه‌نویسی)" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Haskell" title="Haskell – French" lang="fr" hreflang="fr" data-title="Haskell" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Haskell" title="Haskell – Galician" lang="gl" hreflang="gl" data-title="Haskell" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%ED%95%98%EC%8A%A4%EC%BC%88" title="하스켈 – Korean" lang="ko" hreflang="ko" data-title="하스켈" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/Haskell" title="Haskell – Armenian" lang="hy" hreflang="hy" data-title="Haskell" data-language-autonym="Հայերեն" data-language-local-name="Armenian" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%B9%E0%A5%88%E0%A4%B8%E0%A5%8D%E0%A4%95%E0%A4%B2" title="हैस्कल – Hindi" lang="hi" hreflang="hi" data-title="हैस्कल" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Haskell_(programski_jezik)" title="Haskell (programski jezik) – Croatian" lang="hr" hreflang="hr" data-title="Haskell (programski jezik)" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Haskell_(programifo-linguo)" title="Haskell (programifo-linguo) – Ido" lang="io" hreflang="io" data-title="Haskell (programifo-linguo)" data-language-autonym="Ido" data-language-local-name="Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Haskell" title="Haskell – Indonesian" lang="id" hreflang="id" data-title="Haskell" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Haskell_(forritunarm%C3%A1l)" title="Haskell (forritunarmál) – Icelandic" lang="is" hreflang="is" data-title="Haskell (forritunarmál)" data-language-autonym="Íslenska" data-language-local-name="Icelandic" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Haskell_(linguaggio_di_programmazione)" title="Haskell (linguaggio di programmazione) – Italian" lang="it" hreflang="it" data-title="Haskell (linguaggio di programmazione)" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/Haskell" title="Haskell – Hebrew" lang="he" hreflang="he" data-title="Haskell" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/%D0%9C%D3%99%D1%82%D1%96%D0%BD%D0%B4%D1%96_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D1%82%D1%8B_%D3%A9%D2%A3%D0%B4%D0%B5%D1%83" title="Мәтінді автоматты өңдеу – Kazakh" lang="kk" hreflang="kk" data-title="Мәтінді автоматты өңдеу" data-language-autonym="Қазақша" data-language-local-name="Kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wikipedia.org/wiki/Haskell" title="Haskell – Latin" lang="la" hreflang="la" data-title="Haskell" data-language-autonym="Latina" data-language-local-name="Latin" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Haskell" title="Haskell – Latvian" lang="lv" hreflang="lv" data-title="Haskell" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-lb mw-list-item"><a href="https://lb.wikipedia.org/wiki/Haskell_(Programm%C3%A9iersprooch)" title="Haskell (Programméiersprooch) – Luxembourgish" lang="lb" hreflang="lb" data-title="Haskell (Programméiersprooch)" data-language-autonym="Lëtzebuergesch" data-language-local-name="Luxembourgish" class="interlanguage-link-target"><span>Lëtzebuergesch</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Haskell_(programoz%C3%A1si_nyelv)" title="Haskell (programozási nyelv) – Hungarian" lang="hu" hreflang="hu" data-title="Haskell (programozási nyelv)" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%B9%E0%B4%BE%E0%B4%B8%E0%B5%8D%E0%B4%95%E0%B5%BD_(%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B5%8B%E0%B4%97%E0%B5%8D%E0%B4%B0%E0%B4%BE%E0%B4%AE%E0%B4%BF%E0%B4%99%E0%B5%8D_%E0%B4%AD%E0%B4%BE%E0%B4%B7)" title="ഹാസ്കൽ (പ്രോഗ്രാമിങ് ഭാഷ) – Malayalam" lang="ml" hreflang="ml" data-title="ഹാസ്കൽ (പ്രോഗ്രാമിങ് ഭാഷ)" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B9%E0%A5%85%E0%A4%B8%E0%A5%8D%E0%A4%95%E0%A5%87%E0%A4%B2_(%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A5%8B%E0%A4%97%E0%A5%8D%E0%A4%B0%E0%A5%85%E0%A4%AE%E0%A4%BF%E0%A4%82%E0%A4%97_%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE)" title="हॅस्केल (प्रोग्रॅमिंग भाषा) – Marathi" lang="mr" hreflang="mr" data-title="हॅस्केल (प्रोग्रॅमिंग भाषा)" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Haskell" title="Haskell – Malay" lang="ms" hreflang="ms" data-title="Haskell" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Haskell_(programmeertaal)" title="Haskell (programmeertaal) – Dutch" lang="nl" hreflang="nl" data-title="Haskell (programmeertaal)" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Haskell" title="Haskell – Japanese" lang="ja" hreflang="ja" data-title="Haskell" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Haskell" title="Haskell – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Haskell" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%B9%E0%A9%88%E0%A8%B8%E0%A8%95%E0%A8%B2_(%E0%A8%AA%E0%A9%8D%E0%A8%B0%E0%A9%8B%E0%A8%97%E0%A8%B0%E0%A8%BE%E0%A8%AE%E0%A8%BF%E0%A9%B0%E0%A8%97_%E0%A8%AD%E0%A8%BE%E0%A8%B8%E0%A8%BC%E0%A8%BE)" title="ਹੈਸਕਲ (ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ) – Punjabi" lang="pa" hreflang="pa" data-title="ਹੈਸਕਲ (ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ)" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Haskell" title="Haskell – Polish" lang="pl" hreflang="pl" data-title="Haskell" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Haskell_(linguagem_de_programa%C3%A7%C3%A3o)" title="Haskell (linguagem de programação) – Portuguese" lang="pt" hreflang="pt" data-title="Haskell (linguagem de programação)" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Haskell" title="Haskell – Romanian" lang="ro" hreflang="ro" data-title="Haskell" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Haskell" title="Haskell – Russian" lang="ru" hreflang="ru" data-title="Haskell" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Haskell" title="Haskell – Albanian" lang="sq" hreflang="sq" data-title="Haskell" data-language-autonym="Shqip" data-language-local-name="Albanian" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Haskell" title="Haskell – Simple English" lang="en-simple" hreflang="en-simple" data-title="Haskell" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Haskell_(programovac%C3%AD_jazyk)" title="Haskell (programovací jazyk) – Slovak" lang="sk" hreflang="sk" data-title="Haskell (programovací jazyk)" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Haskell" title="Haskell – Slovenian" lang="sl" hreflang="sl" data-title="Haskell" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/Haskel_(programski_jezik)" title="Haskel (programski jezik) – Serbian" lang="sr" hreflang="sr" data-title="Haskel (programski jezik)" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Haskell" title="Haskell – Finnish" lang="fi" hreflang="fi" data-title="Haskell" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Haskell_(programspr%C3%A5k)" title="Haskell (programspråk) – Swedish" lang="sv" hreflang="sv" data-title="Haskell (programspråk)" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%81%E0%B8%AE%E0%B8%AA%E0%B9%80%E0%B8%84%E0%B8%B4%E0%B8%A5" title="ภาษาแฮสเคิล – Thai" lang="th" hreflang="th" data-title="ภาษาแฮสเคิล" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Haskell" title="Haskell – Turkish" lang="tr" hreflang="tr" data-title="Haskell" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Haskell" title="Haskell – Ukrainian" lang="uk" hreflang="uk" data-title="Haskell" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/Haskell_(ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_tr%C3%ACnh)" title="Haskell (ngôn ngữ lập trình) – Vietnamese" lang="vi" hreflang="vi" data-title="Haskell (ngôn ngữ lập trình)" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Haskell" title="Haskell – Chinese" lang="zh" hreflang="zh" data-title="Haskell" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q34010#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Haskell" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Haskell" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Haskell"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Haskell&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Haskell&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Haskell"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Haskell&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Haskell&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Haskell" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Haskell" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Haskell&amp;oldid=1276885687" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Haskell&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Haskell&amp;id=1276885687&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHaskell"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHaskell"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Haskell&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Haskell&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Haskell" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks badge-Q17437796 badge-featuredarticle mw-list-item" title="featured article badge"><a href="https://en.wikibooks.org/wiki/Haskell" hreflang="en"><span>Wikibooks</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiquote mw-list-item"><a href="https://en.wikiquote.org/wiki/Haskell" hreflang="en"><span>Wikiquote</span></a></li><li class="wb-otherproject-link wb-otherproject-wikiversity mw-list-item"><a href="https://en.wikiversity.org/wiki/Haskell" hreflang="en"><span>Wikiversity</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q34010" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Functional programming language</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="/wiki/Haskell_(disambiguation)" class="mw-disambig" title="Haskell (disambiguation)">Haskell (disambiguation)</a>.</div> <p class="mw-empty-elt"> </p> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent"><caption class="infobox-title summary">Haskell</caption><tbody><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"><a href="/wiki/File:Logo_of_the_Haskell_programming_language.svg" class="mw-file-description"><img alt="Logo of Haskell" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/250px-Logo_of_the_Haskell_programming_language.svg.png" decoding="async" width="250" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/375px-Logo_of_the_Haskell_programming_language.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/500px-Logo_of_the_Haskell_programming_language.svg.png 2x" data-file-width="512" data-file-height="80" /></a></span></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="/wiki/Purely_functional_programming" title="Purely functional programming">Purely functional</a></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Software_design" title="Software design">Designed&#160;by</a></th><td class="infobox-data"><a href="/wiki/Lennart_Augustsson" title="Lennart Augustsson">Lennart Augustsson</a>, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, <a href="/wiki/Paul_Hudak" title="Paul Hudak">Paul Hudak</a>, <a href="/wiki/John_Hughes_(computer_scientist)" title="John Hughes (computer scientist)">John Hughes</a>, Thomas Johnsson, Mark Jones, <a href="/wiki/Simon_Peyton_Jones" title="Simon Peyton Jones">Simon Peyton Jones</a>, <a href="/wiki/John_Launchbury" title="John Launchbury">John Launchbury</a>, <a href="/wiki/Erik_Meijer_(computer_scientist)" title="Erik Meijer (computer scientist)">Erik Meijer</a>, John Peterson, Alastair Reid, Colin Runciman, <a href="/wiki/Philip_Wadler" title="Philip Wadler">Philip Wadler</a></td></tr><tr><th scope="row" class="infobox-label">First&#160;appeared</th><td class="infobox-data">1990<span class="noprint">&#59;&#32;35&#160;years ago</span><span style="display:none">&#160;(<span class="bday dtstart published updated">1990</span>)</span><sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler2007_1-0" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler2007-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup></td></tr><tr><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">Haskell 2010<sup id="cite_ref-2010ann_2-0" class="reference"><a href="#cite_note-2010ann-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> / July&#160;2010<span class="noprint">&#59;&#32;14&#160;years ago</span><span style="display:none">&#160;(<span class="bday dtstart published updated">2010-07</span>)</span></div></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle#Beta" title="Software release life cycle">Preview release</a></th><td class="infobox-data"><div style="margin:0px;"> Haskell 2020 announced<sup id="cite_ref-2020committee_3-0" class="reference"><a href="#cite_note-2020committee-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> </div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data"><a href="/wiki/Type_inference" title="Type inference">Inferred</a>, <a href="/wiki/Static_typing" class="mw-redirect" title="Static typing">static</a>, <a href="/wiki/Strong_and_weak_typing" title="Strong and weak typing">strong</a></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="/wiki/Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data">.hs, .lhs</td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="http://haskell.org">haskell<wbr />.org</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;">Major <a href="/wiki/Programming_language_implementation" title="Programming language implementation">implementations</a></th></tr><tr><td colspan="2" class="infobox-full-data"><a href="/wiki/Glasgow_Haskell_Compiler" title="Glasgow Haskell Compiler">GHC</a>, <a href="/wiki/Hugs_(interpreter)" title="Hugs (interpreter)">Hugs</a>, NHC, JHC, <a href="/wiki/Yhc" title="Yhc">Yhc</a>, UHC</td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;"><a href="/wiki/Programming_language#Dialects,_flavors_and_implementations" title="Programming language">Dialects</a></th></tr><tr><td colspan="2" class="infobox-full-data"><a href="/wiki/Gofer_(software)" class="mw-redirect" title="Gofer (software)">Gofer</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="/wiki/Clean_(programming_language)" title="Clean (programming language)">Clean</a>,<sup id="cite_ref-haskell-report-influences_4-0" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/FP_(programming_language)" title="FP (programming language)">FP</a>,<sup id="cite_ref-haskell-report-influences_4-1" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Gofer_(programming_language)" title="Gofer (programming language)">Gofer</a>,<sup id="cite_ref-haskell-report-influences_4-2" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Hope_(programming_language)" title="Hope (programming language)">Hope</a> and Hope<sup>+</sup>,<sup id="cite_ref-haskell-report-influences_4-3" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Id_(programming_language)" title="Id (programming language)">Id</a>,<sup id="cite_ref-haskell-report-influences_4-4" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/ISWIM" title="ISWIM">ISWIM</a>,<sup id="cite_ref-haskell-report-influences_4-5" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Kent_Recursive_Calculator" title="Kent Recursive Calculator">KRC</a>,<sup id="cite_ref-haskell-report-influences_4-6" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a>,<sup id="cite_ref-haskell-report-influences_4-7" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup><br /><a href="/wiki/Miranda_(programming_language)" title="Miranda (programming language)">Miranda</a>,<sup id="cite_ref-haskell-report-influences_4-8" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/ML_(programming_language)" title="ML (programming language)">ML</a> and <a href="/wiki/Standard_ML" title="Standard ML">Standard ML</a>,<sup id="cite_ref-haskell-report-influences_4-9" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Orwell_(programming_language)" title="Orwell (programming language)">Orwell</a>, <a href="/wiki/SASL_(programming_language)" title="SASL (programming language)">SASL</a>,<sup id="cite_ref-haskell-report-influences_4-10" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>,<sup id="cite_ref-haskell-report-influences_4-11" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/SISAL" title="SISAL">SISAL</a><sup id="cite_ref-haskell-report-influences_4-12" class="reference"><a href="#cite_note-haskell-report-influences-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;">Influenced</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="/wiki/Agda_(programming_language)" title="Agda (programming language)">Agda</a>,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Bluespec" title="Bluespec">Bluespec</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712–38,_43_6-0" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712–38,_43-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/C%2B%2B11" title="C++11">C++11</a>/<a href="/wiki/Concepts_(C%2B%2B)" title="Concepts (C++)">Concepts</a>,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup><br /><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>/<a href="/wiki/Language_Integrated_Query" title="Language Integrated Query">LINQ</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-0" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-meijer2012_9-0" class="reference"><a href="#cite_note-meijer2012-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> CAL,<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (February 2012)">citation needed</span></a></i>&#93;</sup> <a href="/wiki/Cayenne_(programming_language)" class="mw-redirect" title="Cayenne (programming language)">Cayenne</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-1" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Clean_(programming_language)" title="Clean (programming language)">Clean</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-2" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Clojure" title="Clojure">Clojure</a>,<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup><br /><a href="/wiki/CoffeeScript" title="CoffeeScript">CoffeeScript</a>,<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Curry_(programming_language)" title="Curry (programming language)">Curry</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-3" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Elm_(programming_language)" title="Elm (programming language)">Elm</a>,<br /><a href="/wiki/Epigram_(programming_language)" title="Epigram (programming language)">Epigram</a>,<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (February 2012)">citation needed</span></a></i>&#93;</sup> <a href="/wiki/Escher_(programming_language)" title="Escher (programming language)">Escher</a>,<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a>,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Hack_(programming_language)" title="Hack (programming language)">Hack</a>,<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Idris_(programming_language)" title="Idris (programming language)">Idris</a>,<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup><br /><a href="/wiki/Isabelle_(proof_assistant)" title="Isabelle (proof assistant)">Isabelle</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-4" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>/<a href="/wiki/Generics_in_Java" title="Generics in Java">Generics</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-5" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/LiveScript_(programming_language)" title="LiveScript (programming language)">LiveScript</a>,<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup><br /><a href="/wiki/Mercury_(programming_language)" title="Mercury (programming language)">Mercury</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-6" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/%CE%A9mega" title="Ωmega">Ωmega</a>, <a href="/wiki/PureScript" title="PureScript">PureScript</a>,<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-7" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Raku_(programming_language)" title="Raku (programming language)">Raku</a>,<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup><br /><a href="/wiki/Rust_(programming_language)" title="Rust (programming language)">Rust</a>,<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Scala_(programming_language)" title="Scala (programming language)">Scala</a>,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-8" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Swift_(programming_language)" title="Swift (programming language)">Swift</a>,<sup id="cite_ref-lattner2014_24-0" class="reference"><a href="#cite_note-lattner2014-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup><br /><a href="/wiki/Visual_Basic_(.NET)" title="Visual Basic (.NET)">Visual Basic 9.0</a><sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-9" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-meijer2012_9-1" class="reference"><a href="#cite_note-meijer2012-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup></td></tr></tbody></table> <p><b>Haskell</b> (<span class="rt-commentedText nowrap"><span class="IPA nopopups noexcerpt" lang="en-fonipa"><a href="/wiki/Help:IPA/English" title="Help:IPA/English">/<span style="border-bottom:1px dotted"><span title="/ˈ/: primary stress follows">ˈ</span><span title="&#39;h&#39; in &#39;hi&#39;">h</span><span title="/æ/: &#39;a&#39; in &#39;bad&#39;">æ</span><span title="&#39;s&#39; in &#39;sigh&#39;">s</span><span title="&#39;k&#39; in &#39;kind&#39;">k</span><span title="/əl/: &#39;le&#39; in &#39;bottle&#39;">əl</span></span>/</a></span></span><sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup>) is a <a href="/wiki/General-purpose_programming_language" title="General-purpose programming language">general-purpose</a>, <a href="/wiki/Static_typing" class="mw-redirect" title="Static typing">statically typed</a>, <a href="/wiki/Purely_functional_programming" title="Purely functional programming">purely functional</a> <a href="/wiki/Programming_language" title="Programming language">programming language</a> with <a href="/wiki/Type_inference" title="Type inference">type inference</a> and <a href="/wiki/Lazy_evaluation" title="Lazy evaluation">lazy evaluation</a>.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-FOOTNOTEPeyton_Jones2003_27-0" class="reference"><a href="#cite_note-FOOTNOTEPeyton_Jones2003-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> Designed for teaching, research, and industrial applications, Haskell pioneered several programming language <a href="#Features">features</a> such as <a href="/wiki/Type_class" title="Type class">type classes</a>, which enable <a href="/wiki/Type_safety" title="Type safety">type-safe</a> <a href="/wiki/Operator_overloading" title="Operator overloading">operator overloading</a>, and <a href="/wiki/Monad_(functional_programming)" title="Monad (functional programming)">monadic</a> <a href="/wiki/Input/output" title="Input/output">input/output</a> (IO). It is named after <a href="/wiki/Logic" title="Logic">logician</a> <a href="/wiki/Haskell_Curry" title="Haskell Curry">Haskell Curry</a>.<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler2007_1-1" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler2007-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> Haskell's main implementation is the <a href="/wiki/Glasgow_Haskell_Compiler" title="Glasgow Haskell Compiler">Glasgow Haskell Compiler</a> (GHC). </p><p>Haskell's <a href="/wiki/Semantics_(computer_science)" title="Semantics (computer science)">semantics</a> are historically based on those of the <a href="/wiki/Miranda_(programming_language)" title="Miranda (programming language)">Miranda</a> programming language, which served to focus the efforts of the initial Haskell working group.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">&#91;</span>28<span class="cite-bracket">&#93;</span></a></sup> The last formal specification of the language was made in July 2010, while the development of GHC continues to expand Haskell via language extensions. </p><p>Haskell is used in academia and industry.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">&#91;</span>29<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">&#91;</span>30<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">&#91;</span>31<span class="cite-bracket">&#93;</span></a></sup> As of May&#160;2021<sup class="plainlinks noexcerpt noprint asof-tag update" style="display:none;"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Haskell&amp;action=edit">&#91;update&#93;</a></sup>, Haskell was the 28th most popular programming language by <a href="/wiki/Google_search" class="mw-redirect" title="Google search">Google searches</a> for tutorials,<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">&#91;</span>32<span class="cite-bracket">&#93;</span></a></sup> and made up less than 1% of active users on the <a href="/wiki/GitHub" title="GitHub">GitHub</a> source code repository.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">&#91;</span>33<span class="cite-bracket">&#93;</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>After the release of <a href="/wiki/Miranda_(programming_language)" title="Miranda (programming language)">Miranda</a> by Research Software Ltd. in 1985, interest in lazy functional languages grew. By 1987, more than a dozen non-<a href="/wiki/Strict_function" title="Strict function">strict</a>, purely functional programming languages existed. Miranda was the most widely used, but it was <a href="/wiki/Proprietary_software" title="Proprietary software">proprietary software</a>. At the conference on <a href="/wiki/Functional_Programming_Languages_and_Computer_Architecture" class="mw-redirect" title="Functional Programming Languages and Computer Architecture">Functional Programming Languages and Computer Architecture</a> (FPCA '87) in <a href="/wiki/Portland,_Oregon" title="Portland, Oregon">Portland, Oregon</a>, there was a strong consensus that a committee be formed to define an <a href="/wiki/Open_standard" title="Open standard">open standard</a> for such languages. The committee's purpose was to consolidate existing <a href="/wiki/Functional_languages" class="mw-redirect" title="Functional languages">functional languages</a> into a common one to serve as a basis for future research in functional-language design.<sup id="cite_ref-FOOTNOTEPeyton_Jones2003Preface_34-0" class="reference"><a href="#cite_note-FOOTNOTEPeyton_Jones2003Preface-34"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Haskell_1.0_to_1.4">Haskell 1.0 to 1.4</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=2" title="Edit section: Haskell 1.0 to 1.4"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Haskell was developed by a committee, attempting to bring together off the shelf solutions where possible. </p><p><a href="/wiki/Type_classes" class="mw-redirect" title="Type classes">Type classes</a>, which enable <a href="/wiki/Type_safety" title="Type safety">type-safe</a> <a href="/wiki/Operator_overloading" title="Operator overloading">operator overloading</a>, were first proposed by <a href="/wiki/Philip_Wadler" title="Philip Wadler">Philip Wadler</a> and Stephen Blott to address the ad-hoc handling of equality types and arithmetic overloading in languages at the time.<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">&#91;</span>35<span class="cite-bracket">&#93;</span></a></sup> </p><p>In early versions of Haskell up until and including version 1.2, user interaction and <a href="/wiki/Input/output" title="Input/output">input/output</a> (IO) were handled by both streams based and continuation based mechanisms which were widely considered unsatisfactory.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">&#91;</span>36<span class="cite-bracket">&#93;</span></a></sup> In version 1.3, <a href="/wiki/Monad_(functional_programming)" title="Monad (functional programming)">monadic</a> IO was introduced, along with the generalisation of type classes to higher kinds (type constructors). Along with "do notation", which provides syntactic sugar for the Monad type class, this gave Haskell an effect system that maintained referential transparency and was convenient. </p><p>Other notable changes in early versions were the approach to the 'seq' function, which creates a data dependency between values, and is used in lazy languages to avoid excessive memory consumption; with it moving from a type class to a standard function to make refactoring more practical. </p><p>The first version of Haskell ("Haskell 1.0") was defined in 1990.<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler2007_1-2" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler2007-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> The committee's efforts resulted in a series of language definitions (1.0, 1.1, 1.2, 1.3, 1.4). </p> <figure class="mw-default-size mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Base-classes.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/0/04/Base-classes.svg/220px-Base-classes.svg.png" decoding="async" width="220" height="286" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/04/Base-classes.svg/330px-Base-classes.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/04/Base-classes.svg/440px-Base-classes.svg.png 2x" data-file-width="510" data-file-height="663" /></a><figcaption>Hierarchy of <a href="/wiki/Type_class" title="Type class">type classes</a> in the Haskell prelude as of GHC 7.10. The inclusion of Foldable and Traversable (with corresponding changes to the type signatures of some functions), and of Applicative as intermediate between Functor and Monad, are deviations from the Haskell 2010 standard.</figcaption></figure> <div class="mw-heading mw-heading3"><h3 id="Haskell_98">Haskell 98</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=3" title="Edit section: Haskell 98"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In late 1997, the series culminated in <i>Haskell 98</i>, intended to specify a stable, minimal, portable version of the language and an accompanying standard <a href="/wiki/Library_(computer_science)" class="mw-redirect" title="Library (computer science)">library</a> for teaching, and as a base for future extensions. The committee expressly welcomed creating extensions and variants of Haskell 98 via adding and incorporating experimental features.<sup id="cite_ref-FOOTNOTEPeyton_Jones2003Preface_34-1" class="reference"><a href="#cite_note-FOOTNOTEPeyton_Jones2003Preface-34"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup> </p><p>In February 1999, the Haskell 98 language standard was originally published as <i>The Haskell 98 Report</i>.<sup id="cite_ref-FOOTNOTEPeyton_Jones2003Preface_34-2" class="reference"><a href="#cite_note-FOOTNOTEPeyton_Jones2003Preface-34"><span class="cite-bracket">&#91;</span>34<span class="cite-bracket">&#93;</span></a></sup> In January 2003, a revised version was published as <i>Haskell 98 Language and Libraries: The Revised Report</i>.<sup id="cite_ref-FOOTNOTEPeyton_Jones2003_27-1" class="reference"><a href="#cite_note-FOOTNOTEPeyton_Jones2003-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> The language continues to evolve rapidly, with the <a href="/wiki/Glasgow_Haskell_Compiler" title="Glasgow Haskell Compiler">Glasgow Haskell Compiler</a> (GHC) implementation representing the current <i>de facto</i> standard.<sup id="cite_ref-HaskellWikiImpl_37-0" class="reference"><a href="#cite_note-HaskellWikiImpl-37"><span class="cite-bracket">&#91;</span>37<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Haskell_2010">Haskell 2010</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=4" title="Edit section: Haskell 2010"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In early 2006, the process of defining a successor to the Haskell 98 standard, informally named <i>Haskell Prime</i>, began.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">&#91;</span>38<span class="cite-bracket">&#93;</span></a></sup> This was intended to be an ongoing incremental process to revise the language definition, producing a new revision up to once per year. The first revision, named <i>Haskell 2010</i>, was announced in November 2009<sup id="cite_ref-2010ann_2-1" class="reference"><a href="#cite_note-2010ann-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> and published in July 2010. </p><p>Haskell 2010 is an incremental update to the language, mostly incorporating several well-used and uncontroversial features previously enabled via compiler-specific flags. </p> <ul><li>Hierarchical module names. Module names are allowed to consist of dot-separated sequences of capitalized identifiers, rather than only one such identifier. This lets modules be named in a hierarchical manner (e.g., <code>Data.List</code> instead of <code>List</code>), although technically modules are still in a single monolithic namespace. This extension was specified in an addendum to Haskell 98 and was in practice universally used.</li> <li>The <a href="/wiki/Foreign_function_interface" title="Foreign function interface">foreign function interface</a> (FFI) allows bindings to other programming languages. Only bindings to <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> are specified in the Report, but the design allows for other language bindings. To support this, data type declarations were permitted to contain no constructors, enabling robust nonce types for foreign data that could not be constructed in Haskell. This extension was also previously specified in an Addendum to the Haskell 98 Report and widely used.</li> <li>So-called <i>n</i>+<i>k</i> patterns (definitions of the form <code>fact (n+1) = (n+1) * fact n</code>) were no longer allowed. This <a href="/wiki/Syntactic_sugar" title="Syntactic sugar">syntactic sugar</a> had misleading semantics, in which the code looked like it used the <code>(+)</code> operator, but in fact desugared to code using <code>(-)</code> and <code>(&gt;=)</code>.</li> <li>The rules of <a href="/wiki/Type_inference" title="Type inference">type inference</a> were relaxed to allow more programs to type check.</li> <li>Some <a href="/wiki/Syntax_(programming_languages)" title="Syntax (programming languages)">syntax</a> issues (changes in the formal grammar) were fixed: <a href="/wiki/Pattern_guard" class="mw-redirect" title="Pattern guard">pattern guards</a> were added, allowing pattern matching within guards; resolution of <a href="/wiki/Order_of_operations" title="Order of operations">operator fixity</a> was specified in a simpler way that reflected actual practice; an edge case in the interaction of the language's <a href="/wiki/Lexical_syntax" class="mw-redirect" title="Lexical syntax">lexical syntax</a> of operators and comments was addressed, and the interaction of do-notation and if-then-else was tweaked to eliminate unexpected syntax errors.</li> <li>The <code>LANGUAGE</code> <a href="/wiki/Directive_(programming)" title="Directive (programming)">pragma</a> was specified. By 2010, dozens of extensions to the language were in wide use, and GHC (among other compilers) provided the <code>LANGUAGE</code> pragma to specify individual extensions with a list of identifiers. Haskell 2010 compilers are required to support the <code>Haskell2010</code> extension and are encouraged to support several others, which correspond to extensions added in Haskell 2010.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Future_standards">Future standards</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=5" title="Edit section: Future standards"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The next formal specification had been planned for 2020.<sup id="cite_ref-2020committee_3-1" class="reference"><a href="#cite_note-2020committee-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> On 29 October 2021, with GHC version 9.2.1, the GHC2021 extension was released. While this is not a formal language spec, it combines several stable, widely-used GHC extensions to Haskell 2010.<sup id="cite_ref-ghc9,2,1_39-0" class="reference"><a href="#cite_note-ghc9,2,1-39"><span class="cite-bracket">&#91;</span>39<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">&#91;</span>40<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Features">Features</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=6" title="Edit section: Features"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Haskell_features" title="Haskell features">Haskell features</a></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Glasgow_Haskell_Compiler#Extensions_to_Haskell" title="Glasgow Haskell Compiler">Glasgow Haskell Compiler §&#160;Extensions to Haskell</a></div> <p>Haskell features <a href="/wiki/Lazy_evaluation" title="Lazy evaluation">lazy evaluation</a>, <a href="/wiki/Anonymous_function" title="Anonymous function">lambda expressions</a>, <a href="/wiki/Pattern_matching" title="Pattern matching">pattern matching</a>, <a href="/wiki/List_comprehension" title="List comprehension">list comprehension</a>, <a href="/wiki/Type_class" title="Type class">type classes</a> and <a href="/wiki/Type_polymorphism" class="mw-redirect" title="Type polymorphism">type polymorphism</a>. It is a <a href="/wiki/Purely_functional_programming" title="Purely functional programming">purely functional programming</a> language, which means that functions generally have no <a href="/wiki/Side_effect_(computer_science)" title="Side effect (computer science)">side effects</a>. A distinct construct exists to represent side effects, <a href="/wiki/Orthogonal#Computer_science" class="mw-redirect" title="Orthogonal">orthogonal</a> to the type of functions. A pure function can return a side effect that is subsequently executed, modeling the <a href="/wiki/Pure_function#Impure_functions" title="Pure function">impure functions</a> of other languages. </p><p>Haskell has a <a href="/wiki/Strong_and_weak_typing" title="Strong and weak typing">strong</a>, <a href="/wiki/Static_type#Static_typing" class="mw-redirect" title="Static type">static</a> type system based on <a href="/wiki/Hindley%E2%80%93Milner_type_inference" class="mw-redirect" title="Hindley–Milner type inference">Hindley–Milner type inference</a>. Its principal innovation in this area is type classes, originally conceived as a principled way to add <a href="/wiki/Polymorphism_(computer_science)" title="Polymorphism (computer science)">overloading</a> to the language,<sup id="cite_ref-wadler89_41-0" class="reference"><a href="#cite_note-wadler89-41"><span class="cite-bracket">&#91;</span>41<span class="cite-bracket">&#93;</span></a></sup> but since finding many more uses.<sup id="cite_ref-hallgren01_42-0" class="reference"><a href="#cite_note-hallgren01-42"><span class="cite-bracket">&#91;</span>42<span class="cite-bracket">&#93;</span></a></sup> </p><p>The construct that represents side effects is an example of a <a href="/wiki/Monad_(functional_programming)" title="Monad (functional programming)">monad</a>: a general framework which can model various computations such as error handling, <a href="/wiki/Nondeterministic_algorithm" title="Nondeterministic algorithm">nondeterminism</a>, <a href="/wiki/Parsing" title="Parsing">parsing</a> and <a href="/wiki/Software_transactional_memory" title="Software transactional memory">software transactional memory</a>. They are defined as ordinary datatypes, but Haskell provides some <a href="/wiki/Syntactic_sugar" title="Syntactic sugar">syntactic sugar</a> for their use. </p><p>Haskell has an open, published specification,<sup id="cite_ref-FOOTNOTEPeyton_Jones2003_27-2" class="reference"><a href="#cite_note-FOOTNOTEPeyton_Jones2003-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> and <a href="#Implementations">multiple implementations exist</a>. Its main implementation, the <a href="/wiki/Glasgow_Haskell_Compiler" title="Glasgow Haskell Compiler">Glasgow Haskell Compiler</a> (GHC), is both an <a href="/wiki/Interpreter_(computing)" title="Interpreter (computing)">interpreter</a> and <a href="/wiki/Machine_code" title="Machine code">native-code</a> <a href="/wiki/Compiler" title="Compiler">compiler</a> that runs on most platforms. GHC is noted for its rich type system incorporating recent innovations such as <a href="/wiki/Generalized_algebraic_data_type" title="Generalized algebraic data type">generalized algebraic data types</a> and type families. <a href="/wiki/The_Computer_Language_Benchmarks_Game" title="The Computer Language Benchmarks Game">The Computer Language Benchmarks Game</a> also highlights its high-performance implementation of <a href="/wiki/Concurrency_(computer_science)" title="Concurrency (computer science)">concurrency</a> and <a href="/wiki/Parallel_computing" title="Parallel computing">parallelism</a>.<sup id="cite_ref-shootout_43-0" class="reference"><a href="#cite_note-shootout-43"><span class="cite-bracket">&#91;</span>43<span class="cite-bracket">&#93;</span></a></sup> </p><p>An active, growing community exists around the language, and more than 5,400 third-party open-source libraries and tools are available in the online package repository <i>Hackage</i>.<sup id="cite_ref-hackage-stats_44-0" class="reference"><a href="#cite_note-hackage-stats-44"><span class="cite-bracket">&#91;</span>44<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Code_examples">Code examples</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=7" title="Edit section: Code examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Haskell_features#Examples" title="Haskell features">Haskell features §&#160;Examples</a></div> <p>A <a href="/wiki/%22Hello,_World!%22_program" title="&quot;Hello, World!&quot; program">"Hello, World!" program</a> in Haskell (only the last line is strictly necessary): </p> <div class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">module</span><span class="w"> </span><span class="nn">Main</span><span class="w"> </span><span class="p">(</span><span class="nf">main</span><span class="p">)</span><span class="w"> </span><span class="kr">where</span><span class="w"> </span><span class="c1">-- not needed in interpreter, is the default in a module file</span> <span class="nf">main</span><span class="w"> </span><span class="ow">::</span><span class="w"> </span><span class="kt">IO</span><span class="w"> </span><span class="nb">()</span><span class="w"> </span><span class="c1">-- the compiler can infer this type definition</span> <span class="nf">main</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">putStrLn</span><span class="w"> </span><span class="s">&quot;Hello, World!&quot;</span> </pre></div> <p>The <a href="/wiki/Factorial" title="Factorial">factorial</a> function in Haskell, defined in a few different ways (the first line is the <a href="/wiki/Type_signature" title="Type signature">type annotation</a>, which is optional and is the same for each implementation): </p> <div class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><pre><span></span><span class="nf">factorial</span><span class="w"> </span><span class="ow">::</span><span class="w"> </span><span class="p">(</span><span class="kt">Integral</span><span class="w"> </span><span class="n">a</span><span class="p">)</span><span class="w"> </span><span class="ow">=&gt;</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="ow">-&gt;</span><span class="w"> </span><span class="n">a</span> <span class="c1">-- Using recursion (with the &quot;ifthenelse&quot; expression)</span> <span class="nf">factorial</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="kr">if</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span> <span class="w"> </span><span class="kr">then</span><span class="w"> </span><span class="mi">1</span> <span class="w"> </span><span class="kr">else</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">factorial</span><span class="w"> </span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span> <span class="c1">-- Using recursion (with pattern matching)</span> <span class="nf">factorial</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="mi">1</span> <span class="nf">factorial</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">factorial</span><span class="w"> </span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span> <span class="c1">-- Using recursion (with guards)</span> <span class="nf">factorial</span><span class="w"> </span><span class="n">n</span> <span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="mi">1</span> <span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">otherwise</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">factorial</span><span class="w"> </span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span> <span class="c1">-- Using a list and the &quot;product&quot; function</span> <span class="nf">factorial</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">product</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="o">..</span><span class="n">n</span><span class="p">]</span> <span class="c1">-- Using fold (implements &quot;product&quot;)</span> <span class="nf">factorial</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">foldl</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="o">..</span><span class="n">n</span><span class="p">]</span> <span class="c1">-- Point-free style</span> <span class="nf">factorial</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">foldr</span><span class="w"> </span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">.</span><span class="w"> </span><span class="n">enumFromTo</span><span class="w"> </span><span class="mi">1</span> </pre></div> <p>Using Haskell's <a href="/wiki/Fixed-point_combinator" title="Fixed-point combinator">Fixed-point combinator</a> allows this function to be written without any explicit recursion. </p> <div class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">import</span><span class="w"> </span><span class="nn">Data.Function</span><span class="w"> </span><span class="p">(</span><span class="nf">fix</span><span class="p">)</span> <span class="nf">factorial</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">fix</span><span class="w"> </span><span class="n">fac</span> <span class="w"> </span><span class="kr">where</span><span class="w"> </span><span class="n">fac</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="n">x</span><span class="w"> </span> <span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="mi">1</span> <span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">otherwise</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span> </pre></div> <p><br /> As the <i>Integer</i> type has <a href="/wiki/Arbitrary-precision" class="mw-redirect" title="Arbitrary-precision">arbitrary-precision</a>, this code will compute values such as <code>factorial 100000</code> (a 456,574-digit number), with no loss of precision. </p><p>An implementation of an algorithm similar to <a href="/wiki/Quick_sort" class="mw-redirect" title="Quick sort">quick sort</a> over lists, where the first element is taken as the pivot: </p> <div class="mw-highlight mw-highlight-lang-haskell mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">-- Type annotation (optional, same for each implementation)</span> <span class="nf">quickSort</span><span class="w"> </span><span class="ow">::</span><span class="w"> </span><span class="kt">Ord</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="ow">=&gt;</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">]</span><span class="w"> </span><span class="ow">-&gt;</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">]</span> <span class="c1">-- Using list comprehensions</span> <span class="nf">quickSort</span><span class="w"> </span><span class="kt">[]</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="kt">[]</span><span class="w"> </span><span class="c1">-- The empty list is already sorted</span> <span class="nf">quickSort</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="kt">:</span><span class="n">xs</span><span class="p">)</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">quickSort</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="ow">&lt;-</span><span class="w"> </span><span class="n">xs</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">x</span><span class="p">]</span><span class="w"> </span><span class="c1">-- Sort the left part of the list</span> <span class="w"> </span><span class="o">++</span><span class="w"> </span><span class="p">[</span><span class="n">x</span><span class="p">]</span><span class="w"> </span><span class="o">++</span><span class="w"> </span><span class="c1">-- Insert pivot between two sorted parts</span> <span class="w"> </span><span class="n">quickSort</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="ow">&lt;-</span><span class="w"> </span><span class="n">xs</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">x</span><span class="p">]</span><span class="w"> </span><span class="c1">-- Sort the right part of the list</span> <span class="c1">-- Using filter</span> <span class="nf">quickSort</span><span class="w"> </span><span class="kt">[]</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="kt">[]</span> <span class="nf">quickSort</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="kt">:</span><span class="n">xs</span><span class="p">)</span><span class="w"> </span><span class="ow">=</span><span class="w"> </span><span class="n">quickSort</span><span class="w"> </span><span class="p">(</span><span class="n">filter</span><span class="w"> </span><span class="p">(</span><span class="o">&lt;</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="n">xs</span><span class="p">)</span> <span class="w"> </span><span class="o">++</span><span class="w"> </span><span class="p">[</span><span class="n">x</span><span class="p">]</span><span class="w"> </span><span class="o">++</span> <span class="w"> </span><span class="n">quickSort</span><span class="w"> </span><span class="p">(</span><span class="n">filter</span><span class="w"> </span><span class="p">(</span><span class="o">&gt;=</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="n">xs</span><span class="p">)</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=8" title="Edit section: Implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>All listed implementations are distributed under <a href="/wiki/Open_source_license" class="mw-redirect" title="Open source license">open source licenses</a>.<sup id="cite_ref-implementations_45-0" class="reference"><a href="#cite_note-implementations-45"><span class="cite-bracket">&#91;</span>45<span class="cite-bracket">&#93;</span></a></sup> </p><p>Implementations that fully or nearly comply with the Haskell 98 standard include: </p> <ul><li>The <a href="/wiki/Glasgow_Haskell_Compiler" title="Glasgow Haskell Compiler">Glasgow Haskell Compiler</a> (GHC) compiles to native code on many different processor architectures, and to <a href="/wiki/ANSI_C" title="ANSI C">ANSI C</a>, via one of two <a href="/wiki/Intermediate_language" class="mw-redirect" title="Intermediate language">intermediate languages</a>: <a href="/wiki/C--" title="C--">C--</a>, or in more recent versions, <a href="/wiki/LLVM" title="LLVM">LLVM</a> (formerly Low Level Virtual Machine) bitcode.<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">&#91;</span>46<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">&#91;</span>47<span class="cite-bracket">&#93;</span></a></sup> GHC has become the <i>de facto</i> standard Haskell dialect.<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">&#91;</span>48<span class="cite-bracket">&#93;</span></a></sup> There are libraries (e.g., bindings to <a href="/wiki/OpenGL" title="OpenGL">OpenGL</a>) that work only with GHC. GHC was also distributed with the <a href="/wiki/Haskell_platform" class="mw-redirect" title="Haskell platform">Haskell platform</a>. GHC features an asynchronous runtime that also schedules threads across multiple CPU cores similar to <a href="/wiki/Go_(programming_language)" title="Go (programming language)">the Go runtime</a>.</li> <li>Jhc, a Haskell compiler written by John Meacham, emphasizes speed and efficiency of generated programs and exploring new program transformations. <ul><li>Ajhc is a fork of Jhc.</li></ul></li> <li>The Utrecht Haskell Compiler (UHC) is a Haskell implementation from <a href="/wiki/Utrecht_University" title="Utrecht University">Utrecht University</a>.<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">&#91;</span>49<span class="cite-bracket">&#93;</span></a></sup> It supports almost all Haskell 98 features plus many experimental extensions. It is implemented using <a href="/wiki/Attribute_grammar" title="Attribute grammar">attribute grammars</a> and is primarily used for research on generated type systems and language extensions.</li></ul> <p>Implementations no longer actively maintained include: </p> <ul><li>The Haskell User's Gofer System (<a href="/wiki/Hugs_(interpreter)" title="Hugs (interpreter)">Hugs</a>) is a <a href="/wiki/Bytecode" title="Bytecode">bytecode</a> interpreter. It was once one of the implementations used most widely, alongside the GHC compiler,<sup id="cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712–22_50-0" class="reference"><a href="#cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712–22-50"><span class="cite-bracket">&#91;</span>50<span class="cite-bracket">&#93;</span></a></sup> but has now been mostly replaced by GHCi. It also comes with a graphics library.</li> <li>HBC is an early implementation supporting Haskell 1.4. It was implemented by <a href="/wiki/Lennart_Augustsson" title="Lennart Augustsson">Lennart Augustsson</a> in, and based on, <a href="/wiki/Lazy_ML" class="mw-redirect" title="Lazy ML">Lazy ML</a>. It has not been actively developed for some time.</li> <li>nhc98 is a bytecode compiler focusing on minimizing memory use. <ul><li>The York Haskell Compiler (<a href="/wiki/Yhc" title="Yhc">Yhc</a>) was a fork of nhc98, with the goals of being simpler, more portable and efficient, and integrating support for Hat, the Haskell tracer. It also had a <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a> backend, allowing users to run Haskell programs in <a href="/wiki/Web_browser" title="Web browser">web browsers</a>.</li></ul></li></ul> <p>Implementations not fully Haskell 98 compliant, and using a variant Haskell language, include: </p> <ul><li>Eta and Frege are dialects of Haskell targeting the <a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java virtual machine</a>.</li> <li><a href="/wiki/Gofer_(software)" class="mw-redirect" title="Gofer (software)">Gofer</a> is an educational dialect of Haskell, with a feature called <i>constructor classes</i>, developed by Mark Jones. It is supplanted by Haskell User's Gofer System (Hugs).</li> <li>Helium, a newer dialect of Haskell. The focus is on making learning easier via clearer error messages by disabling type classes as a default.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Notable_applications">Notable applications</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=9" title="Edit section: Notable applications"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Agda_(programming_language)" title="Agda (programming language)">Agda</a> is a proof assistant written in Haskell.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51"><span class="cite-bracket">&#91;</span>51<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Cabal_(software)" title="Cabal (software)">Cabal</a> is a tool for <a href="/wiki/Build_automation" title="Build automation">building</a> and packaging Haskell libraries and programs.<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">&#91;</span>52<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Darcs" title="Darcs">Darcs</a> is a <a href="/wiki/Revision_control_system" class="mw-redirect" title="Revision control system">revision control system</a> written in Haskell, with several innovative features, such as more precise control of patches to apply.</li> <li><a href="/wiki/Glasgow_Haskell_Compiler" title="Glasgow Haskell Compiler">Glasgow Haskell Compiler</a> (GHC) is also often a testbed for advanced functional programming features and optimizations in other programming languages.</li> <li><a href="/wiki/Git-annex" title="Git-annex">Git-annex</a> is a tool to manage (big) data files under <a href="/wiki/Git" title="Git">Git</a> version control. It also provides a distributed file synchronization system (git-annex assistant).</li> <li><a href="/wiki/Linspire" title="Linspire">Linspire</a> Linux chose Haskell for system tools development.<sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">&#91;</span>53<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Pandoc" title="Pandoc">Pandoc</a> is a tool to convert one markup format into another.</li> <li><a href="/wiki/Pugs_(compiler)" title="Pugs (compiler)">Pugs</a> is a <a href="/wiki/Compiler" title="Compiler">compiler</a> and <a href="/wiki/Interpreter_(computing)" title="Interpreter (computing)">interpreter</a> for the <a href="/wiki/Programming_language" title="Programming language">programming language</a> then named <a href="/wiki/Perl" title="Perl">Perl</a> 6, but since renamed <a href="/wiki/Raku_(programming_language)" title="Raku (programming language)">Raku</a>.</li> <li><a href="/wiki/TidalCycles" title="TidalCycles">TidalCycles</a> is a domain special language for live coding musical patterns, embedded in Haskell.<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">&#91;</span>54<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Xmonad" title="Xmonad">Xmonad</a> is a <a href="/wiki/Window_manager" title="Window manager">window manager</a> for the <a href="/wiki/X_Window_System" title="X Window System">X Window System</a>, written fully in Haskell.<sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">&#91;</span>55<span class="cite-bracket">&#93;</span></a></sup></li> <li>GarganText<sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">&#91;</span>56<span class="cite-bracket">&#93;</span></a></sup> is a collaborative tool to map through semantic analysis texts on any <a href="/wiki/Web_browser" title="Web browser">web browser</a>, written fully in Haskell and <a href="/wiki/PureScript" title="PureScript">PureScript</a>, which is used for instance in the research community to draw up state-of-the-art reports and roadmaps.<sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">&#91;</span>57<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading3"><h3 id="Industry">Industry</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=10" title="Edit section: Industry"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Bluespec" title="Bluespec">Bluespec</a> <a href="/wiki/SystemVerilog" title="SystemVerilog">SystemVerilog</a> (BSV) is a language extension of Haskell, for designing <a href="/wiki/Electronics" title="Electronics">electronics</a>. It is an example of a <a href="/wiki/Domain-specific_language" title="Domain-specific language">domain-specific language</a> embedded into Haskell. Further, Bluespec, Inc.'s tools are implemented in Haskell.</li> <li><a href="/wiki/Cryptol" title="Cryptol">Cryptol</a>, a language and toolchain for developing and verifying <a href="/wiki/Cryptography" title="Cryptography">cryptography</a> algorithms, is implemented in Haskell.</li> <li><a href="/wiki/Facebook" title="Facebook">Facebook</a> implements its anti-spam programs<sup id="cite_ref-58" class="reference"><a href="#cite_note-58"><span class="cite-bracket">&#91;</span>58<span class="cite-bracket">&#93;</span></a></sup> in Haskell, maintaining the underlying data access library as <a href="/wiki/Open-source_software" title="Open-source software">open-source software</a>.<sup id="cite_ref-59" class="reference"><a href="#cite_note-59"><span class="cite-bracket">&#91;</span>59<span class="cite-bracket">&#93;</span></a></sup></li> <li>The <a href="/wiki/Cardano_(blockchain_platform)" title="Cardano (blockchain platform)">Cardano blockchain platform</a> is implemented in Haskell.<sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">&#91;</span>60<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/GitHub" title="GitHub">GitHub</a> implemented <a href="/w/index.php?title=Semantic_(software)&amp;action=edit&amp;redlink=1" class="new" title="Semantic (software) (page does not exist)">Semantic</a>, an open-source library for analysis, diffing, and interpretation of untrusted source code, in Haskell.<sup id="cite_ref-61" class="reference"><a href="#cite_note-61"><span class="cite-bracket">&#91;</span>61<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Standard_Chartered" title="Standard Chartered">Standard Chartered</a>'s financial modelling language Mu is syntactic Haskell running on a strict runtime.<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">&#91;</span>62<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/SeL4" class="mw-redirect" title="SeL4">seL4</a>, the first <a href="/wiki/Formal_methods" title="Formal methods">formally verified</a> <a href="/wiki/Microkernel" title="Microkernel">microkernel</a>,<sup id="cite_ref-klein-sosp09_63-0" class="reference"><a href="#cite_note-klein-sosp09-63"><span class="cite-bracket">&#91;</span>63<span class="cite-bracket">&#93;</span></a></sup> used Haskell as a prototyping language for the OS developer.<sup id="cite_ref-klein-sosp09_63-1" class="reference"><a href="#cite_note-klein-sosp09-63"><span class="cite-bracket">&#91;</span>63<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: p.2">&#58;&#8202;p.2&#8202;</span></sup> At the same time, the Haskell code defined an executable specification with which to reason, for automatic translation by the theorem-proving tool.<sup id="cite_ref-klein-sosp09_63-2" class="reference"><a href="#cite_note-klein-sosp09-63"><span class="cite-bracket">&#91;</span>63<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: p.3">&#58;&#8202;p.3&#8202;</span></sup> The Haskell code thus served as an intermediate prototype before final <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> refinement.<sup id="cite_ref-klein-sosp09_63-3" class="reference"><a href="#cite_note-klein-sosp09-63"><span class="cite-bracket">&#91;</span>63<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page / location: p.3">&#58;&#8202;p.3&#8202;</span></sup></li> <li><a href="/wiki/Target_Corporation" title="Target Corporation">Target</a> stores' supply chain optimization software is written in Haskell.<sup id="cite_ref-64" class="reference"><a href="#cite_note-64"><span class="cite-bracket">&#91;</span>64<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Co%E2%80%93Star" title="Co–Star">Co–Star</a><sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">&#91;</span>65<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Mercury_Technologies" title="Mercury Technologies">Mercury Technologies</a>' back end is written in Haskell.<sup id="cite_ref-66" class="reference"><a href="#cite_note-66"><span class="cite-bracket">&#91;</span>66<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading3"><h3 id="Web">Web</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=11" title="Edit section: Web"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Notable <a href="/wiki/Web_framework" title="Web framework">web frameworks</a> written for Haskell include:<sup id="cite_ref-67" class="reference"><a href="#cite_note-67"><span class="cite-bracket">&#91;</span>67<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li>IHP</li> <li><a href="/wiki/Servant_(web_framework)" title="Servant (web framework)">Servant</a></li> <li><a href="/wiki/Snap_(web_framework)" title="Snap (web framework)">Snap</a></li> <li><a href="/wiki/Yesod_(web_framework)" title="Yesod (web framework)">Yesod</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Criticism">Criticism</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=12" title="Edit section: Criticism"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Jan-Willem Maessen, in 2002, and <a href="/wiki/Simon_Peyton_Jones" title="Simon Peyton Jones">Simon Peyton Jones</a>, in 2003, discussed problems associated with lazy evaluation while also acknowledging the theoretical motives for it.<sup id="cite_ref-68" class="reference"><a href="#cite_note-68"><span class="cite-bracket">&#91;</span>68<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-69" class="reference"><a href="#cite_note-69"><span class="cite-bracket">&#91;</span>69<span class="cite-bracket">&#93;</span></a></sup> In addition to purely practical considerations such as improved performance,<sup id="cite_ref-70" class="reference"><a href="#cite_note-70"><span class="cite-bracket">&#91;</span>70<span class="cite-bracket">&#93;</span></a></sup> they note that lazy evaluation makes it more difficult for programmers to reason about the performance of their code (particularly its space use). </p><p>Bastiaan Heeren, Daan Leijen, and Arjan van IJzendoorn in 2003 also observed some stumbling blocks for Haskell learners: "The subtle syntax and sophisticated type system of Haskell are a double edged sword—highly appreciated by experienced programmers but also a source of frustration among beginners, since the generality of Haskell often leads to cryptic error messages."<sup id="cite_ref-71" class="reference"><a href="#cite_note-71"><span class="cite-bracket">&#91;</span>71<span class="cite-bracket">&#93;</span></a></sup> To address the error messages researchers from Utrecht University developed an advanced interpreter called <a href="/w/index.php?title=Helium_(Haskell)&amp;action=edit&amp;redlink=1" class="new" title="Helium (Haskell) (page does not exist)">Helium</a>, which improved the user-friendliness of error messages by limiting the generality of some Haskell features. In particular it disables type classes by default.<sup id="cite_ref-72" class="reference"><a href="#cite_note-72"><span class="cite-bracket">&#91;</span>72<span class="cite-bracket">&#93;</span></a></sup> </p><p>Ben Lippmeier designed Disciple<sup id="cite_ref-73" class="reference"><a href="#cite_note-73"><span class="cite-bracket">&#91;</span>73<span class="cite-bracket">&#93;</span></a></sup> as a <a href="/wiki/Evaluation_strategy" title="Evaluation strategy">strict-by-default</a> (lazy by explicit annotation) dialect of Haskell with a type-and-effect system, to address Haskell's difficulties in reasoning about lazy evaluation and in using traditional data structures such as mutable arrays.<sup id="cite_ref-74" class="reference"><a href="#cite_note-74"><span class="cite-bracket">&#91;</span>74<span class="cite-bracket">&#93;</span></a></sup> He argues (p.&#160;20) that "destructive update furnishes the programmer with two important and powerful tools&#160;... a set of efficient array-like data structures for managing collections of objects, and ... the ability to broadcast a new value to all parts of a program with minimal burden on the programmer." </p><p><a href="/wiki/Robert_Harper_(computer_scientist)" title="Robert Harper (computer scientist)">Robert Harper</a>, one of the authors of Standard ML, has given his reasons for not using Haskell to teach introductory programming. Among these are the difficulty of reasoning about resource use with non-strict evaluation, that lazy evaluation complicates the definition of datatypes and inductive reasoning,<sup id="cite_ref-75" class="reference"><a href="#cite_note-75"><span class="cite-bracket">&#91;</span>75<span class="cite-bracket">&#93;</span></a></sup> and the "inferiority" of Haskell's (old) class system compared to ML's module system.<sup id="cite_ref-76" class="reference"><a href="#cite_note-76"><span class="cite-bracket">&#91;</span>76<span class="cite-bracket">&#93;</span></a></sup> </p><p>Haskell's build tool, <a href="/wiki/Cabal_(software)" title="Cabal (software)">Cabal</a>, has historically been criticized for poorly handling multiple versions of the same library, a problem known as "Cabal hell". The Stackage server and <a href="/wiki/Stack_(Haskell)" title="Stack (Haskell)">Stack</a> build tool were made in response to these criticisms.<sup id="cite_ref-77" class="reference"><a href="#cite_note-77"><span class="cite-bracket">&#91;</span>77<span class="cite-bracket">&#93;</span></a></sup> Cabal itself has since addressed this problem by borrowing ideas from <a href="/wiki/Nix_package_manager" class="mw-redirect" title="Nix package manager">Nix</a>,<sup id="cite_ref-78" class="reference"><a href="#cite_note-78"><span class="cite-bracket">&#91;</span>78<span class="cite-bracket">&#93;</span></a></sup> with the new approach becoming the default in 2019. </p> <div class="mw-heading mw-heading2"><h2 id="Related_languages">Related languages</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=13" title="Edit section: Related languages"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Clean_(programming_language)" title="Clean (programming language)">Clean</a> is a close, slightly older relative of Haskell. Its biggest deviation from Haskell is in the use of <a href="/wiki/Uniqueness_type" title="Uniqueness type">uniqueness types</a> instead of monads for <a href="/wiki/Input/output" title="Input/output">input/output</a> (I/O) and side effects. </p><p>A series of languages inspired by Haskell, but with different type systems, have been developed, including: </p> <ul><li><a href="/wiki/Agda_(programming_language)" title="Agda (programming language)">Agda</a>, a functional language with <a href="/wiki/Dependent_type" title="Dependent type">dependent types</a>.</li> <li><a href="/wiki/Cayenne_(programming_language)" class="mw-redirect" title="Cayenne (programming language)">Cayenne</a>, with dependent types.</li> <li><a href="/wiki/Elm_(programming_language)" title="Elm (programming language)">Elm</a>, a functional language to create web front-end apps, no support for user-defined or higher-<a href="/wiki/Kind_(type_theory)" title="Kind (type theory)">kinded</a> <a href="/wiki/Type_classes" class="mw-redirect" title="Type classes">type classes</a> or instances.</li> <li><a href="/wiki/Epigram_(programming_language)" title="Epigram (programming language)">Epigram</a>, a functional language with dependent types suitable for proving properties of programs.</li> <li><a href="/wiki/Idris_(programming_language)" title="Idris (programming language)">Idris</a>, a general purpose functional language with dependent types, developed at the <a href="/wiki/University_of_St_Andrews" title="University of St Andrews">University of St Andrews</a>.</li> <li><a href="/wiki/PureScript" title="PureScript">PureScript</a> transpiles to JavaScript.</li> <li><a href="/wiki/%CE%A9mega" title="Ωmega">Ωmega</a>, a strict language that allows introduction of new <a href="/wiki/Kind_(type_theory)" title="Kind (type theory)">kinds</a>, and programming at the type level.</li></ul> <p>Other related languages include: </p> <ul><li><a href="/wiki/Curry_(programming_language)" title="Curry (programming language)">Curry</a>, a functional/logic programming language based on Haskell.</li></ul> <p>Notable Haskell variants include: </p> <ul><li><a href="/wiki/Generic_programming#Generic_Haskell" title="Generic programming">Generic Haskell</a>, a version of Haskell with type system support for <a href="/wiki/Generic_programming" title="Generic programming">generic programming</a>.</li> <li><a href="/wiki/Hume_(programming_language)" title="Hume (programming language)">Hume</a>, a strict functional language for <a href="/wiki/Embedded_system" title="Embedded system">embedded systems</a> based on processes as stateless automata over a sort of tuples of one element mailbox channels where the state is kept by feedback into the mailboxes, and a mapping description from outputs to channels as box wiring, with a Haskell-like expression language and syntax.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Conferences_and_workshops">Conferences and workshops</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=14" title="Edit section: Conferences and workshops"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The Haskell community meets regularly for research and development activities. The main events are: </p> <ul><li><a href="/wiki/International_Conference_on_Functional_Programming" title="International Conference on Functional Programming">International Conference on Functional Programming</a> (ICFP)</li> <li><a href="/wiki/Haskell_Symposium" class="mw-redirect" title="Haskell Symposium">Haskell Symposium</a> (formerly the Haskell Workshop)</li> <li>Haskell Implementors Workshop</li> <li><a href="/wiki/Commercial_Users_of_Functional_Programming" class="mw-redirect" title="Commercial Users of Functional Programming">Commercial Users of Functional Programming</a> (CUFP)</li> <li>ZuriHac,<sup id="cite_ref-79" class="reference"><a href="#cite_note-79"><span class="cite-bracket">&#91;</span>79<span class="cite-bracket">&#93;</span></a></sup> kind of <a href="/wiki/Hackathon" title="Hackathon">Hackathon</a> held every year in <a href="/wiki/Zurich" title="Zurich">Zurich</a></li></ul> <p>Starting in 2006, a series of organized <i>hackathons</i> has occurred, the Hac series, aimed at improving the programming language tools and libraries.<sup id="cite_ref-80" class="reference"><a href="#cite_note-80"><span class="cite-bracket">&#91;</span>80<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=15" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler2007-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler2007_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler2007_1-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler2007_1-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFHudakHughesPeyton_JonesWadler2007">Hudak et al. 2007</a>.</span> </li> <li id="cite_note-2010ann-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-2010ann_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-2010ann_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFMarlow2009" class="citation mailinglist cs1"><a href="/wiki/Simon_Marlow" title="Simon Marlow">Marlow, Simon</a> (24 November 2009). <a rel="nofollow" class="external text" href="http://www.haskell.org/pipermail/haskell/2009-November/021750.html">"Announcing Haskell 2010"</a>. <i>Haskell</i> (Mailing list)<span class="reference-accessdate">. Retrieved <span class="nowrap">12 March</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Announcing+Haskell+2010&amp;rft.date=2009-11-24&amp;rft.aulast=Marlow&amp;rft.aufirst=Simon&amp;rft_id=http%3A%2F%2Fwww.haskell.org%2Fpipermail%2Fhaskell%2F2009-November%2F021750.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-2020committee-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-2020committee_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-2020committee_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRiedel2016" class="citation mailinglist cs1">Riedel, Herbert (28 April 2016). <a rel="nofollow" class="external text" href="https://mail.haskell.org/pipermail/haskell-prime/2016-April/004050.html">"ANN: Haskell Prime 2020 committee has formed"</a>. <i>Haskell-prime</i> (Mailing list)<span class="reference-accessdate">. Retrieved <span class="nowrap">6 May</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=ANN%3A+Haskell+Prime+2020+committee+has+formed&amp;rft.date=2016-04-28&amp;rft.aulast=Riedel&amp;rft.aufirst=Herbert&amp;rft_id=https%3A%2F%2Fmail.haskell.org%2Fpipermail%2Fhaskell-prime%2F2016-April%2F004050.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-haskell-report-influences-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-haskell-report-influences_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-haskell-report-influences_4-12"><sup><i><b>m</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFPeyton_Jones2003">Peyton Jones 2003</a>, p.&#160;xi</span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNorell2008" class="citation web cs1">Norell, Ulf (2008). <a rel="nofollow" class="external text" href="http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf">"Dependently Typed Programming in Agda"</a> <span class="cs1-format">(PDF)</span>. Gothenburg: Chalmers University<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Dependently+Typed+Programming+in+Agda&amp;rft.place=Gothenburg&amp;rft.pub=Chalmers+University&amp;rft.date=2008&amp;rft.aulast=Norell&amp;rft.aufirst=Ulf&amp;rft_id=http%3A%2F%2Fwww.cse.chalmers.se%2F~ulfn%2Fpapers%2Fafp08%2Ftutorial.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712–38,_43-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712–38,_43_6-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFHudakHughesPeyton_JonesWadler2007">Hudak et al. 2007</a>, pp.&#160;12–38, 43.</span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStroustrupSutton2011" class="citation journal cs1"><a href="/wiki/Bjarne_Stroustrup" title="Bjarne Stroustrup">Stroustrup, Bjarne</a>; Sutton, Andrew (2011). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120210041742/http://www2.research.att.com/~bs/sle2011-concepts.pdf">"Design of Concept Libraries for C++"</a> <span class="cs1-format">(PDF)</span>. <i>Software Language Engineering</i>. Archived from <a rel="nofollow" class="external text" href="http://www2.research.att.com/~bs/sle2011-concepts.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 10 February 2012.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Software+Language+Engineering&amp;rft.atitle=Design+of+Concept+Libraries+for+C%2B%2B&amp;rft.date=2011&amp;rft.aulast=Stroustrup&amp;rft.aufirst=Bjarne&amp;rft.au=Sutton%2C+Andrew&amp;rft_id=http%3A%2F%2Fwww2.research.att.com%2F~bs%2Fsle2011-concepts.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712-45–46_8-9"><sup><i><b>j</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFHudakHughesPeyton_JonesWadler2007">Hudak et al. 2007</a>, pp.&#160;12-45–46.</span> </li> <li id="cite_note-meijer2012-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-meijer2012_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-meijer2012_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMeijer2006" class="citation journal cs1"><a href="/wiki/Erik_Meijer_(computer_scientist)" title="Erik Meijer (computer scientist)">Meijer, Erik</a> (2006). "Confessions of a Used Programming Language Salesman: Getting the Masses Hooked on Haskell". <i>Oopsla 2007</i>. <a href="/wiki/CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.72.868">10.1.1.72.868</a></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Oopsla+2007&amp;rft.atitle=Confessions+of+a+Used+Programming+Language+Salesman%3A+Getting+the+Masses+Hooked+on+Haskell&amp;rft.date=2006&amp;rft_id=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.72.868%23id-name%3DCiteSeerX&amp;rft.aulast=Meijer&amp;rft.aufirst=Erik&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMeijer2009" class="citation web cs1">Meijer, Erik (1 October 2009). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120616051226/http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/">"C9 Lectures: Dr. Erik Meijer&#160;– Functional Programming Fundamentals, Chapter 1 of 13"</a>. <i><a href="/wiki/Channel_9_(discussion_forum)" class="mw-redirect" title="Channel 9 (discussion forum)">Channel 9</a></i>. Microsoft. Archived from <a rel="nofollow" class="external text" href="http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/">the original</a> on 16 June 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Channel+9&amp;rft.atitle=C9+Lectures%3A+Dr.+Erik+Meijer+%E2%80%93+Functional+Programming+Fundamentals%2C+Chapter+1+of+13&amp;rft.date=2009-10-01&amp;rft.aulast=Meijer&amp;rft.aufirst=Erik&amp;rft_id=http%3A%2F%2Fchannel9.msdn.com%2Fshows%2FGoing%2BDeep%2FLecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDrobi2009" class="citation news cs1">Drobi, Sadek (4 March 2009). <a rel="nofollow" class="external text" href="http://www.infoq.com/interviews/LINQ-Erik-Meijer">"Erik Meijer on LINQ"</a>. <i>InfoQ</i>. QCon <a href="/wiki/San_Francisco" title="San Francisco">SF</a> 2008: C4Media Inc<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=InfoQ&amp;rft.atitle=Erik+Meijer+on+LINQ&amp;rft.date=2009-03-04&amp;rft.aulast=Drobi&amp;rft.aufirst=Sadek&amp;rft_id=http%3A%2F%2Fwww.infoq.com%2Finterviews%2FLINQ-Erik-Meijer&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_news" title="Template:Cite news">cite news</a>}}</code>: CS1 maint: location (<a href="/wiki/Category:CS1_maint:_location" title="Category:CS1 maint: location">link</a>)</span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHickey" class="citation web cs1">Hickey, Rich. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171003001051/https://www.amazon.com/gp/richpub/listmania/fullview/R3LG3ZBZS4GCTH">"Clojure Bookshelf"</a>. <i>Listmania!</i>. Archived from <a rel="nofollow" class="external text" href="https://www.amazon.com/gp/richpub/listmania/fullview/R3LG3ZBZS4GCTH">the original</a> on 3 October 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">3 October</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Listmania%21&amp;rft.atitle=Clojure+Bookshelf&amp;rft.aulast=Hickey&amp;rft.aufirst=Rich&amp;rft_id=https%3A%2F%2Fwww.amazon.com%2Fgp%2Frichpub%2Flistmania%2Ffullview%2FR3LG3ZBZS4GCTH&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHeller2011" class="citation news cs1">Heller, Martin (18 October 2011). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/2078452/turn-up-your-nose-at-dart-and-smell-the-coffeescript.html">"Turn up your nose at Dart and smell the CoffeeScript"</a>. <i><a href="/wiki/InfoWorld" title="InfoWorld">InfoWorld</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-15</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=InfoWorld&amp;rft.atitle=Turn+up+your+nose+at+Dart+and+smell+the+CoffeeScript&amp;rft.date=2011-10-18&amp;rft.aulast=Heller&amp;rft.aufirst=Martin&amp;rft_id=https%3A%2F%2Fwww.infoworld.com%2Farticle%2F2078452%2Fturn-up-your-nose-at-dart-and-smell-the-coffeescript.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.cs.bris.ac.uk/Publications/Papers/1000073.pdf">"Declarative programming in Escher"</a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">7 October</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Declarative+programming+in+Escher&amp;rft_id=http%3A%2F%2Fwww.cs.bris.ac.uk%2FPublications%2FPapers%2F1000073.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSymeGraniczCisternino2007" class="citation book cs1"><a href="/wiki/Don_Syme" title="Don Syme">Syme, Don</a>; Granicz, Adam; Cisternino, Antonio (2007). <i>Expert F#</i>. <a href="/wiki/Apress" class="mw-redirect" title="Apress">Apress</a>. p.&#160;2. <q>F# also draws from Haskell particularly with regard to two advanced language features called <i>sequence expressions</i> and <i>workflows</i>.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Expert+F%23&amp;rft.pages=2&amp;rft.pub=Apress&amp;rft.date=2007&amp;rft.aulast=Syme&amp;rft.aufirst=Don&amp;rft.au=Granicz%2C+Adam&amp;rft.au=Cisternino%2C+Antonio&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation magazine cs1"><a rel="nofollow" class="external text" href="https://www.wired.com/2014/03/facebook-hack/">"Facebook Introduces 'Hack,' the Programming Language of the Future"</a>. <i>WIRED</i>. 20 March 2014.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=WIRED&amp;rft.atitle=Facebook+Introduces+%27Hack%2C%27+the+Programming+Language+of+the+Future&amp;rft.date=2014-03-20&amp;rft_id=https%3A%2F%2Fwww.wired.com%2F2014%2F03%2Ffacebook-hack%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.idris-lang.org/">"Idris, a dependently typed language"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">26 October</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Idris%2C+a+dependently+typed+language&amp;rft_id=http%3A%2F%2Fwww.idris-lang.org%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://livescript.net/#inspiration">"LiveScript Inspiration"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">4 February</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=LiveScript+Inspiration&amp;rft_id=http%3A%2F%2Flivescript.net%2F%23inspiration&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFreeman2016" class="citation web cs1">Freeman, Phil (2016). <a rel="nofollow" class="external text" href="https://leanpub.com/purescript/read">"PureScript by Example"</a>. Leanpub<span class="reference-accessdate">. Retrieved <span class="nowrap">23 April</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=PureScript+by+Example&amp;rft.pub=Leanpub&amp;rft.date=2016&amp;rft.aulast=Freeman&amp;rft.aufirst=Phil&amp;rft_id=https%3A%2F%2Fleanpub.com%2Fpurescript%2Fread&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKuchling" class="citation web cs1">Kuchling, A. M. <a rel="nofollow" class="external text" href="https://docs.python.org/howto/functional.html">"Functional Programming HOWTO"</a>. <i>Python v2.7.2 documentation</i>. Python Software Foundation<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Python+v2.7.2+documentation&amp;rft.atitle=Functional+Programming+HOWTO&amp;rft.aulast=Kuchling&amp;rft.aufirst=A.+M.&amp;rft_id=https%3A%2F%2Fdocs.python.org%2Fhowto%2Ffunctional.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120121145808/http://www.perlfoundation.org/perl6/index.cgi?glossary_of_terms_and_jargon">"Glossary of Terms and Jargon"</a>. <i>Perl Foundation Perl 6 Wiki</i>. <a href="/wiki/The_Perl_Foundation" class="mw-redirect" title="The Perl Foundation">The Perl Foundation</a>. Archived from <a rel="nofollow" class="external text" href="http://www.perlfoundation.org/perl6/index.cgi?glossary_of_terms_and_jargon">the original</a> on 21 January 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Perl+Foundation+Perl+6+Wiki&amp;rft.atitle=Glossary+of+Terms+and+Jargon&amp;rft_id=http%3A%2F%2Fwww.perlfoundation.org%2Fperl6%2Findex.cgi%3Fglossary_of_terms_and_jargon&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://doc.rust-lang.org/reference/influences.html">"Influences - The Rust Reference"</a>. <i>The Rust Reference</i><span class="reference-accessdate">. Retrieved <span class="nowrap">31 December</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Rust+Reference&amp;rft.atitle=Influences+-+The+Rust+Reference&amp;rft_id=https%3A%2F%2Fdoc.rust-lang.org%2Freference%2Finfluences.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFogus2010" class="citation web cs1">Fogus, Michael (6 August 2010). <a rel="nofollow" class="external text" href="http://blog.fogus.me/2010/08/06/martinodersky-take5-tolist/">"MartinOdersky take(5) toList"</a>. <i>Send More Paramedics</i><span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Send+More+Paramedics&amp;rft.atitle=MartinOdersky+take%285%29+toList&amp;rft.date=2010-08-06&amp;rft.aulast=Fogus&amp;rft.aufirst=Michael&amp;rft_id=http%3A%2F%2Fblog.fogus.me%2F2010%2F08%2F06%2Fmartinodersky-take5-tolist%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-lattner2014-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-lattner2014_24-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLattner2014" class="citation web cs1">Lattner, Chris (3 June 2014). <a rel="nofollow" class="external text" href="http://nondot.org/sabre/">"Chris Lattner's Homepage"</a>. Chris Lattner<span class="reference-accessdate">. Retrieved <span class="nowrap">3 June</span> 2014</span>. <q>The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Chris+Lattner%27s+Homepage&amp;rft.pub=Chris+Lattner&amp;rft.date=2014-06-03&amp;rft.aulast=Lattner&amp;rft.aufirst=Chris&amp;rft_id=http%3A%2F%2Fnondot.org%2Fsabre%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChevalier2008" class="citation mailinglist cs1">Chevalier, Tim (28 January 2008). <a rel="nofollow" class="external text" href="http://www.haskell.org/pipermail/haskell-cafe/2008-January/038756.html">"anybody can tell me the pronunciation of "haskell"?"</a>. <i>Haskell-cafe</i> (Mailing list)<span class="reference-accessdate">. Retrieved <span class="nowrap">12 March</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=anybody+can+tell+me+the+pronunciation+of+%22haskell%22%3F&amp;rft.date=2008-01-28&amp;rft.aulast=Chevalier&amp;rft.aufirst=Tim&amp;rft_id=http%3A%2F%2Fwww.haskell.org%2Fpipermail%2Fhaskell-cafe%2F2008-January%2F038756.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text">Type inference originally using <a href="/wiki/Type_inference#Hindley–Milner_type_inference_algorithm" title="Type inference">Hindley-Milner type inference</a></span> </li> <li id="cite_note-FOOTNOTEPeyton_Jones2003-27"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEPeyton_Jones2003_27-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEPeyton_Jones2003_27-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEPeyton_Jones2003_27-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFPeyton_Jones2003">Peyton Jones 2003</a>.</span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text">Edward Kmett, <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=hIZxTQP1ifo">Edward Kmett – Type Classes vs. the World</a></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMossberg2020" class="citation cs2">Mossberg, Erik (8 June 2020), <a rel="nofollow" class="external text" href="https://github.com/erkmos/haskell-companies"><i>erkmos/haskell-companies</i></a><span class="reference-accessdate">, retrieved <span class="nowrap">22 June</span> 2020</span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=erkmos%2Fhaskell-companies&amp;rft.date=2020-06-08&amp;rft.aulast=Mossberg&amp;rft.aufirst=Erik&amp;rft_id=https%3A%2F%2Fgithub.com%2Ferkmos%2Fhaskell-companies&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFO&#39;SullivanGoerzenStewart2008" class="citation book cs1">O'Sullivan, Bryan; Goerzen, John; Stewart, Donald Bruce (15 November 2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=nh0okI1a1sQC"><i>Real World Haskell: Code You Can Believe In</i></a>. "O'Reilly Media, Inc.". pp.&#160;<span class="nowrap">xxviii–</span>xxxi. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-596-55430-9" title="Special:BookSources/978-0-596-55430-9"><bdi>978-0-596-55430-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Real+World+Haskell%3A+Code+You+Can+Believe+In&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3Exxviii-%3C%2Fspan%3Exxxi&amp;rft.pub=%22O%27Reilly+Media%2C+Inc.%22&amp;rft.date=2008-11-15&amp;rft.isbn=978-0-596-55430-9&amp;rft.aulast=O%27Sullivan&amp;rft.aufirst=Bryan&amp;rft.au=Goerzen%2C+John&amp;rft.au=Stewart%2C+Donald+Bruce&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3Dnh0okI1a1sQC&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://serokell.io/blog/haskell-in-industry-riskbook">"Haskell in Production: Riskbook"</a>. <i>Serokell Software Development Company</i><span class="reference-accessdate">. Retrieved <span class="nowrap">7 September</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Serokell+Software+Development+Company&amp;rft.atitle=Haskell+in+Production%3A+Riskbook&amp;rft_id=https%3A%2F%2Fserokell.io%2Fblog%2Fhaskell-in-industry-riskbook&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20210507222106/https://pypl.github.io/PYPL.html">"PYPL PopularitY of Programming Language index"</a>. <i>pypl.github.io</i>. May 2021. Archived from <a rel="nofollow" class="external text" href="http://pypl.github.io/PYPL.html">the original</a> on 7 May 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">16 May</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=pypl.github.io&amp;rft.atitle=PYPL+PopularitY+of+Programming+Language+index&amp;rft.date=2021-05&amp;rft_id=http%3A%2F%2Fpypl.github.io%2FPYPL.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFrederickson" class="citation web cs1">Frederickson, Ben. <a rel="nofollow" class="external text" href="https://www.benfrederickson.com/ranking-programming-languages-by-github-users/">"Ranking Programming Languages by GitHub Users"</a>. <i>www.benfrederickson.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">6 September</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.benfrederickson.com&amp;rft.atitle=Ranking+Programming+Languages+by+GitHub+Users&amp;rft.aulast=Frederickson&amp;rft.aufirst=Ben&amp;rft_id=https%3A%2F%2Fwww.benfrederickson.com%2Franking-programming-languages-by-github-users%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEPeyton_Jones2003Preface-34"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEPeyton_Jones2003Preface_34-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEPeyton_Jones2003Preface_34-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEPeyton_Jones2003Preface_34-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFPeyton_Jones2003">Peyton Jones 2003</a>, Preface.</span> </li> <li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWadler1988" class="citation web cs1">Wadler, Philip (October 1988). <a rel="nofollow" class="external text" href="https://www.researchgate.net/publication/2710954">"How to make ad-hoc polymorphism less ad hoc"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=How+to+make+ad-hoc+polymorphism+less+ad+hoc&amp;rft.date=1988-10&amp;rft.aulast=Wadler&amp;rft.aufirst=Philip&amp;rft_id=https%3A%2F%2Fwww.researchgate.net%2Fpublication%2F2710954&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1">Peyton Jones, Simon (2003). <a rel="nofollow" class="external text" href="https://www.microsoft.com/en-us/research/publication/wearing-hair-shirt-retrospective-haskell-2003/">"Wearing the hair shirt: a retrospective on Haskell"</a>. <i><a href="/wiki/Microsoft" title="Microsoft">Microsoft</a></i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Microsoft&amp;rft.atitle=Wearing+the+hair+shirt%3A+a+retrospective+on+Haskell&amp;rft.date=2003&amp;rft.aulast=Peyton+Jones&amp;rft.aufirst=Simon&amp;rft_id=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fresearch%2Fpublication%2Fwearing-hair-shirt-retrospective-haskell-2003%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-HaskellWikiImpl-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-HaskellWikiImpl_37-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.haskell.org/haskellwiki/Implementations">"Haskell Wiki: Implementations"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">18 December</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Haskell+Wiki%3A+Implementations&amp;rft_id=http%3A%2F%2Fwww.haskell.org%2Fhaskellwiki%2FImplementations&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160220103915/https://prime.haskell.org/">"Welcome to Haskell'<span class="cs1-kern-right"></span>"</a>. <i>The Haskell' Wiki</i>. Archived from <a rel="nofollow" class="external text" href="https://prime.haskell.org/">the original</a> on 20 February 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">11 February</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Haskell%27+Wiki&amp;rft.atitle=Welcome+to+Haskell%27&amp;rft_id=https%3A%2F%2Fprime.haskell.org%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-ghc9,2,1-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-ghc9,2,1_39-0">^</a></b></span> <span class="reference-text">GHC 2020 Team (29 October 2021) <a rel="nofollow" class="external text" href="https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/9.2.1-notes.html">GHC 9.2.1</a> released</span> </li> <li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/ghc-proposals/ghc-proposals">Proposed compiler and language changes for GHC and GHC/Haskell </a></span> </li> <li id="cite_note-wadler89-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-wadler89_41-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWadlerBlott1989" class="citation book cs1">Wadler, P.; Blott, S. (1989). "How to make ad-hoc polymorphism less ad hoc". <i>Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89</i>. <a href="/wiki/Association_for_Computing_Machinery" title="Association for Computing Machinery">ACM</a>. pp.&#160;<span class="nowrap">60–</span>76. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F75277.75283">10.1145/75277.75283</a></span>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-89791-294-5" title="Special:BookSources/978-0-89791-294-5"><bdi>978-0-89791-294-5</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:15327197">15327197</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=How+to+make+ad-hoc+polymorphism+less+ad+hoc&amp;rft.btitle=Proceedings+of+the+16th+ACM+SIGPLAN-SIGACT+symposium+on+Principles+of+programming+languages+-+POPL+%2789&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E60-%3C%2Fspan%3E76&amp;rft.pub=ACM&amp;rft.date=1989&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A15327197%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F75277.75283&amp;rft.isbn=978-0-89791-294-5&amp;rft.aulast=Wadler&amp;rft.aufirst=P.&amp;rft.au=Blott%2C+S.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-hallgren01-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-hallgren01_42-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHallgren2001" class="citation journal cs1">Hallgren, T. (January 2001). <a rel="nofollow" class="external text" href="http://www.cs.chalmers.se/~hallgren/Papers/wm01.html">"Fun with Functional Dependencies, or Types as Values in Static Computations in Haskell"</a>. <i>Proceedings of the Joint CS/CE Winter Meeting</i>. Varberg, Sweden.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Proceedings+of+the+Joint+CS%2FCE+Winter+Meeting&amp;rft.atitle=Fun+with+Functional+Dependencies%2C+or+Types+as+Values+in+Static+Computations+in+Haskell&amp;rft.date=2001-01&amp;rft.aulast=Hallgren&amp;rft.aufirst=T.&amp;rft_id=http%3A%2F%2Fwww.cs.chalmers.se%2F~hallgren%2FPapers%2Fwm01.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-shootout-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-shootout_43-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/haskell.html">Computer Language Benchmarks Game</a></span> </li> <li id="cite_note-hackage-stats-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-hackage-stats_44-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130503114836/http://hackage.haskell.org/cgi-bin/hackage-scripts/stats">"HackageDB statistics"</a>. Hackage.haskell.org. Archived from <a rel="nofollow" class="external text" href="http://hackage.haskell.org/cgi-bin/hackage-scripts/stats">the original</a> on 3 May 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">26 June</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=HackageDB+statistics&amp;rft.pub=Hackage.haskell.org&amp;rft_id=http%3A%2F%2Fhackage.haskell.org%2Fcgi-bin%2Fhackage-scripts%2Fstats&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-implementations-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-implementations_45-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.haskell.org/haskellwiki/Implementations">"Implementations"</a> at the Haskell Wiki</span> </li> <li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM">"The LLVM Backend"</a>. <i>GHC Trac</i>. 29 March 2019.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GHC+Trac&amp;rft.atitle=The+LLVM+Backend&amp;rft.date=2019-03-29&amp;rft_id=https%3A%2F%2Fghc.haskell.org%2Ftrac%2Fghc%2Fwiki%2FCommentary%2FCompiler%2FBackends%2FLLVM&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTereiChakravarty2010" class="citation conference cs1">Terei, David A.; Chakravarty, Manuel M. T. (2010). <a rel="nofollow" class="external text" href="http://www.cse.unsw.edu.au/~chak/papers/TC10.html">"An LLVM Backend for GHC"</a>. <i>Proceedings of ACM SIGPLAN Haskell Symposium 2010</i>. ACM Press.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=conference&amp;rft.atitle=An+LLVM+Backend+for+GHC&amp;rft.btitle=Proceedings+of+ACM+SIGPLAN+Haskell+Symposium+2010&amp;rft.pub=ACM+Press&amp;rft.date=2010&amp;rft.aulast=Terei&amp;rft.aufirst=David+A.&amp;rft.au=Chakravarty%2C+Manuel+M.+T.&amp;rft_id=http%3A%2F%2Fwww.cse.unsw.edu.au%2F~chak%2Fpapers%2FTC10.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text">C. Ryder and S. Thompson (2005). <a rel="nofollow" class="external text" href="http://kar.kent.ac.uk/14237/1/Tech_Chris.pdf">"Porting HaRe to the GHC API"</a></span> </li> <li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.cs.uu.nl/wiki/UHC">Utrecht Haskell Compiler</a></span> </li> <li id="cite_note-FOOTNOTEHudakHughesPeyton_JonesWadler200712–22-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEHudakHughesPeyton_JonesWadler200712–22_50-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFHudakHughesPeyton_JonesWadler2007">Hudak et al. 2007</a>, pp.&#160;12–22.</span> </li> <li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://github.com/agda/agda"><i>Agda 2</i></a>, Agda Github Community, 15 October 2021<span class="reference-accessdate">, retrieved <span class="nowrap">16 October</span> 2021</span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Agda+2&amp;rft.pub=Agda+Github+Community&amp;rft.date=2021-10-15&amp;rft_id=https%3A%2F%2Fgithub.com%2Fagda%2Fagda&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.haskell.org/cabal/">"The Haskell Cabal"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">8 April</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+Haskell+Cabal&amp;rft_id=https%3A%2F%2Fwww.haskell.org%2Fcabal%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20171227234048/http://urchin.earth.li/pipermail/debian-haskell/2006-May/000169.html">"Linspire/Freespire Core OS Team and Haskell"</a>. <i>Debian Haskell mailing list</i>. May 2006. Archived from <a rel="nofollow" class="external text" href="http://urchin.earth.li/pipermail/debian-haskell/2006-May/000169.html">the original</a> on 27 December 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">14 June</span> 2006</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Debian+Haskell+mailing+list&amp;rft.atitle=Linspire%2FFreespire+Core+OS+Team+and+Haskell&amp;rft.date=2006-05&amp;rft_id=http%3A%2F%2Furchin.earth.li%2Fpipermail%2Fdebian-haskell%2F2006-May%2F000169.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://doc.tidalcycles.org/">"Live code with Tidal Cycles"</a>. <i>Tidal Cycles</i><span class="reference-accessdate">. Retrieved <span class="nowrap">19 January</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Tidal+Cycles&amp;rft.atitle=Live+code+with+Tidal+Cycles&amp;rft_id=https%3A%2F%2Fdoc.tidalcycles.org%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-55">^</a></b></span> <span class="reference-text">xmonad.org</span> </li> <li id="cite_note-56"><span class="mw-cite-backlink"><b><a href="#cite_ref-56">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://gitlab.iscpif.fr/gargantext/main">"Gargantext – Main"</a>. 13 July 2023.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Gargantext+%E2%80%93+Main&amp;rft.date=2023-07-13&amp;rft_id=https%3A%2F%2Fgitlab.iscpif.fr%2Fgargantext%2Fmain&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavidGelderCaldarelliRosnay2023" class="citation thesis cs1">David, Chavalarias; et&#160;al. (8 May 2023). <a rel="nofollow" class="external text" href="https://hal-lara.archives-ouvertes.fr/hal-04091733/"><i>Toward a Research Agenda on Digital Media and Humanity Well-Being</i></a> (report).</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adissertation&amp;rft.title=Toward+a+Research+Agenda+on+Digital+Media+and+Humanity+Well-Being&amp;rft.date=2023-05-08&amp;rft.aulast=David&amp;rft.aufirst=Chavalarias&amp;rft.au=Gelder%2C+Beatrice+De&amp;rft.au=Caldarelli%2C+Guido&amp;rft.au=Rosnay%2C+Melanie+Dulong+de&amp;rft.au=Casilli%2C+Antonio+A.&amp;rft.au=Delano%C3%AB%2C+Alexandre&amp;rft.au=Fassi%2C+Luisa&amp;rft.au=Frau-Meigs%2C+Divina&amp;rft.au=Jouve%2C+Bertrand&amp;rft.au=Nowak%2C+Andrzej&amp;rft.au=Rodr%C3%ADguez-Doncel%2C+V%C3%ADctor&amp;rft.au=Roth%2C+Camille&amp;rft.au=Slater%2C+Mel&amp;rft.au=Amor%2C+Nahla+Ben&amp;rft.au=Boros%2C+Anna&amp;rft.au=Brunori%2C+Michela&amp;rft.au=Brites%2C+Maria+Jose&amp;rft.au=Dana%2C+Diminescu&amp;rft.au=Datchary%2C+Caroline&amp;rft.au=Fabrizio%2C+Silvestri&amp;rft.au=Hernandez%2C+Laura&amp;rft.au=Horodecki%2C+Pawel&amp;rft.au=Kotilainen%2C+Sirkku&amp;rft.au=Lass%C3%A8gue%2C+Jean&amp;rft.au=Lazega%2C+Emmanuel&amp;rft.au=Lobb%C3%A9%2C+Quentin&amp;rft.au=Lukowicz%2C+Paul&amp;rft.au=McDougall%2C+Julian&amp;rft.au=Meacham%2C+Darian&amp;rft.au=Omodei%2C+Elisa&amp;rft_id=https%3A%2F%2Fhal-lara.archives-ouvertes.fr%2Fhal-04091733%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-58">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.fb.com/security/fighting-spam-with-haskell/">"Fighting spam with Haskell"</a>. <i>Facebook Code</i>. 26 June 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">11 August</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Facebook+Code&amp;rft.atitle=Fighting+spam+with+Haskell&amp;rft.date=2015-06-26&amp;rft_id=https%3A%2F%2Fcode.fb.com%2Fsecurity%2Ffighting-spam-with-haskell%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-59">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.fb.com/web/open-sourcing-haxl-a-library-for-haskell/">"Open-sourcing Haxl, a library for Haskell"</a>. <i>Facebook Code</i>. 10 June 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">11 August</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Facebook+Code&amp;rft.atitle=Open-sourcing+Haxl%2C+a+library+for+Haskell&amp;rft.date=2014-06-10&amp;rft_id=https%3A%2F%2Fcode.fb.com%2Fweb%2Fopen-sourcing-haxl-a-library-for-haskell%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-60">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/input-output-hk/cardano-node">"input-output-hk/cardano-node: The core component that is used to participate in a Cardano decentralised blockchain"</a>. GitHub<span class="reference-accessdate">. Retrieved <span class="nowrap">18 March</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=input-output-hk%2Fcardano-node%3A+The+core+component+that+is+used+to+participate+in+a+Cardano+decentralised+blockchain&amp;rft.pub=GitHub&amp;rft_id=https%3A%2F%2Fgithub.com%2Finput-output-hk%2Fcardano-node&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-61">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://github.com/github/semantic"><i>Parsing, analyzing, and comparing source code across many languages: github/semantic</i></a>, GitHub, 7 June 2019<span class="reference-accessdate">, retrieved <span class="nowrap">7 June</span> 2019</span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Parsing%2C+analyzing%2C+and+comparing+source+code+across+many+languages%3A+github%2Fsemantic&amp;rft.pub=GitHub&amp;rft.date=2019-06-07&amp;rft_id=https%3A%2F%2Fgithub.com%2Fgithub%2Fsemantic&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://anil.recoil.org/papers/2011-cufp-scribe-preprint.pdf">"Commercial Users of Functional Programming Workshop Report"</a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">10 June</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Commercial+Users+of+Functional+Programming+Workshop+Report&amp;rft_id=https%3A%2F%2Fanil.recoil.org%2Fpapers%2F2011-cufp-scribe-preprint.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-klein-sosp09-63"><span class="mw-cite-backlink">^ <a href="#cite_ref-klein-sosp09_63-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-klein-sosp09_63-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-klein-sosp09_63-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-klein-sosp09_63-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"> A formal proof of functional correctness was completed in 2009. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKleinElphinstoneHeiserAndronick2009" class="citation conference cs1">Klein, Gerwin; Elphinstone, Kevin; <a href="/wiki/Gernot_Heiser" title="Gernot Heiser">Heiser, Gernot</a>; Andronick, June; Cock, David; Derrin, Philip; Elkaduwe, Dhammika; Engelhardt, Kai; Kolanski, Rafal; Norrish, Michael; Sewell, Thomas; Tuch, Harvey; Winwood, Simon (October 2009). <a rel="nofollow" class="external text" href="http://www.sigops.org/sosp/sosp09/papers/klein-sosp09.pdf">"seL4: Formal verification of an OS kernel"</a> <span class="cs1-format">(PDF)</span>. <i>22nd ACM Symposium on Operating System Principles</i>. Big Sky, Montana, USA.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=conference&amp;rft.atitle=seL4%3A+Formal+verification+of+an+OS+kernel&amp;rft.btitle=22nd+ACM+Symposium+on+Operating+System+Principles&amp;rft.place=Big+Sky%2C+Montana%2C+USA&amp;rft.date=2009-10&amp;rft.aulast=Klein&amp;rft.aufirst=Gerwin&amp;rft.au=Elphinstone%2C+Kevin&amp;rft.au=Heiser%2C+Gernot&amp;rft.au=Andronick%2C+June&amp;rft.au=Cock%2C+David&amp;rft.au=Derrin%2C+Philip&amp;rft.au=Elkaduwe%2C+Dhammika&amp;rft.au=Engelhardt%2C+Kai&amp;rft.au=Kolanski%2C+Rafal&amp;rft.au=Norrish%2C+Michael&amp;rft.au=Sewell%2C+Thomas&amp;rft.au=Tuch%2C+Harvey&amp;rft.au=Winwood%2C+Simon&amp;rft_id=http%3A%2F%2Fwww.sigops.org%2Fsosp%2Fsosp09%2Fpapers%2Fklein-sosp09.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-64">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=0EgHNq6Pej8">"Tikhon Jelvis: Haskell at Target"</a>. <i><a href="/wiki/YouTube" title="YouTube">YouTube</a></i>. 22 April 2017.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YouTube&amp;rft.atitle=Tikhon+Jelvis%3A+Haskell+at+Target&amp;rft.date=2017-04-22&amp;rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D0EgHNq6Pej8&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-65"><span class="mw-cite-backlink"><b><a href="#cite_ref-65">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.costarastrology.com/why-haskell/">"Why Co–Star uses Haskell"</a>. <i><a href="/wiki/Co%E2%80%93Star" title="Co–Star">Co–Star</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">30 September</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Co%E2%80%93Star&amp;rft.atitle=Why+Co%E2%80%93Star+uses+Haskell&amp;rft_id=https%3A%2F%2Fwww.costarastrology.com%2Fwhy-haskell%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-66"><span class="mw-cite-backlink"><b><a href="#cite_ref-66">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://serokell.io/blog/haskell-in-production-mercury">"Haskell in Production: Mercury"</a>. <i>Serokell</i><span class="reference-accessdate">. Retrieved <span class="nowrap">11 October</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Serokell&amp;rft.atitle=Haskell+in+Production%3A+Mercury&amp;rft_id=https%3A%2F%2Fserokell.io%2Fblog%2Fhaskell-in-production-mercury&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-67"><span class="mw-cite-backlink"><b><a href="#cite_ref-67">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wiki.haskell.org/Web/Frameworks">"Web/Frameworks – HaskellWiki"</a>. <i>wiki.haskell.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">17 September</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=wiki.haskell.org&amp;rft.atitle=Web%2FFrameworks+%E2%80%93+HaskellWiki&amp;rft_id=https%3A%2F%2Fwiki.haskell.org%2FWeb%2FFrameworks&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-68"><span class="mw-cite-backlink"><b><a href="#cite_ref-68">^</a></b></span> <span class="reference-text">Jan-Willem Maessen. <i>Eager Haskell: Resource-bounded execution yields efficient iteration</i>. Proceedings of the 2002 <a href="/wiki/Association_for_Computing_Machinery" title="Association for Computing Machinery">Association for Computing Machinery</a> (ACM) SIGPLAN workshop on Haskell.</span> </li> <li id="cite_note-69"><span class="mw-cite-backlink"><b><a href="#cite_ref-69">^</a></b></span> <span class="reference-text"><sup class="noprint Inline-Template"><span style="white-space: nowrap;">&#91;<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title="&#160;Dead link tagged May 2022">dead link</span></a></i><span style="visibility:hidden; color:transparent; padding-left:2px">&#8205;</span>&#93;</span></sup>Simon Peyton Jones. <a rel="nofollow" class="external text" href="http://research.microsoft.com/~simonpj/papers/haskell-retrospective"><i>Wearing the hair shirt: a retrospective on Haskell</i></a>. Invited talk at <a href="/wiki/POPL" class="mw-redirect" title="POPL">POPL</a> 2003.</span> </li> <li id="cite_note-70"><span class="mw-cite-backlink"><b><a href="#cite_ref-70">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.haskell.org/pipermail/haskell/2006-June/018127.html">"Lazy evaluation can lead to excellent performance, such as in The Computer Language Benchmarks Game"</a>. 27 June 2006.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Lazy+evaluation+can+lead+to+excellent+performance%2C+such+as+in+The+Computer+Language+Benchmarks+Game&amp;rft.date=2006-06-27&amp;rft_id=http%3A%2F%2Fwww.haskell.org%2Fpipermail%2Fhaskell%2F2006-June%2F018127.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-71"><span class="mw-cite-backlink"><b><a href="#cite_ref-71">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHeerenLeijenvan_IJzendoorn2003" class="citation book cs1">Heeren, Bastiaan; Leijen, Daan; van IJzendoorn, Arjan (2003). <a rel="nofollow" class="external text" href="http://www.cs.uu.nl/~bastiaan/heeren-helium.pdf">"Helium, for learning Haskell"</a> <span class="cs1-format">(PDF)</span>. <i>Proceedings of the 2003 ACM SIGPLAN workshop on Haskell</i>. pp.&#160;<span class="nowrap">62–</span>71. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F871895.871902">10.1145/871895.871902</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/1581137583" title="Special:BookSources/1581137583"><bdi>1581137583</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:11986908">11986908</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Helium%2C+for+learning+Haskell&amp;rft.btitle=Proceedings+of+the+2003+ACM+SIGPLAN+workshop+on+Haskell&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E62-%3C%2Fspan%3E71&amp;rft.date=2003&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A11986908%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F871895.871902&amp;rft.isbn=1581137583&amp;rft.aulast=Heeren&amp;rft.aufirst=Bastiaan&amp;rft.au=Leijen%2C+Daan&amp;rft.au=van+IJzendoorn%2C+Arjan&amp;rft_id=http%3A%2F%2Fwww.cs.uu.nl%2F~bastiaan%2Fheeren-helium.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-72"><span class="mw-cite-backlink"><b><a href="#cite_ref-72">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/Helium4Haskell/helium/blob/master/COMPILERDOCS.md">"Helium Compiler Docs"</a>. GitHub<span class="reference-accessdate">. Retrieved <span class="nowrap">9 June</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Helium+Compiler+Docs&amp;rft.pub=GitHub&amp;rft_id=https%3A%2F%2Fgithub.com%2FHelium4Haskell%2Fhelium%2Fblob%2Fmaster%2FCOMPILERDOCS.md&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-73"><span class="mw-cite-backlink"><b><a href="#cite_ref-73">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.haskell.org/haskellwiki/DDC">"DDC – HaskellWiki"</a>. Haskell.org. 3 December 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">26 June</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=DDC+%E2%80%93+HaskellWiki&amp;rft.pub=Haskell.org&amp;rft.date=2010-12-03&amp;rft_id=http%3A%2F%2Fwww.haskell.org%2Fhaskellwiki%2FDDC&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-74"><span class="mw-cite-backlink"><b><a href="#cite_ref-74">^</a></b></span> <span class="reference-text">Ben Lippmeier, <a rel="nofollow" class="external text" href="https://ahelp.com/wp-content/uploads/2025/02/lippmeier-impure-world.pdf">Type Inference and Optimisation for an Impure World</a>, <a href="/wiki/Australian_National_University" title="Australian National University">Australian National University</a> (2010) PhD thesis, chapter 1</span> </li> <li id="cite_note-75"><span class="mw-cite-backlink"><b><a href="#cite_ref-75">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRobert_Harper2011" class="citation web cs1">Robert Harper (25 April 2011). <a rel="nofollow" class="external text" href="http://existentialtype.wordpress.com/2011/04/24/the-real-point-of-laziness/">"The point of laziness"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+point+of+laziness&amp;rft.date=2011-04-25&amp;rft.au=Robert+Harper&amp;rft_id=http%3A%2F%2Fexistentialtype.wordpress.com%2F2011%2F04%2F24%2Fthe-real-point-of-laziness%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span> <span style="position:relative; top: -2px;"><span typeof="mw:File"><a href="/wiki/Paywall" title="closed access publication – behind paywall"><img alt="Closed access icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Closed_Access_logo_transparent.svg/9px-Closed_Access_logo_transparent.svg.png" decoding="async" width="9" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Closed_Access_logo_transparent.svg/14px-Closed_Access_logo_transparent.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Closed_Access_logo_transparent.svg/18px-Closed_Access_logo_transparent.svg.png 2x" data-file-width="640" data-file-height="1000" /></a></span></span></span> </li> <li id="cite_note-76"><span class="mw-cite-backlink"><b><a href="#cite_ref-76">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRobert_Harper2011" class="citation web cs1">Robert Harper (16 April 2011). <a rel="nofollow" class="external text" href="http://existentialtype.wordpress.com/2011/04/16/modules-matter-most/">"Modules matter most"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Modules+matter+most.&amp;rft.date=2011-04-16&amp;rft.au=Robert+Harper&amp;rft_id=http%3A%2F%2Fexistentialtype.wordpress.com%2F2011%2F04%2F16%2Fmodules-matter-most%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span> <span style="position:relative; top: -2px;"><span typeof="mw:File"><a href="/wiki/Paywall" title="closed access publication – behind paywall"><img alt="Closed access icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Closed_Access_logo_transparent.svg/9px-Closed_Access_logo_transparent.svg.png" decoding="async" width="9" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Closed_Access_logo_transparent.svg/14px-Closed_Access_logo_transparent.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Closed_Access_logo_transparent.svg/18px-Closed_Access_logo_transparent.svg.png 2x" data-file-width="640" data-file-height="1000" /></a></span></span></span> </li> <li id="cite_note-77"><span class="mw-cite-backlink"><b><a href="#cite_ref-77">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.yesodweb.com/blog/2012/11/solving-cabal-hell">"Solving Cabal Hell"</a>. <i>www.yesodweb.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">11 August</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.yesodweb.com&amp;rft.atitle=Solving+Cabal+Hell&amp;rft_id=https%3A%2F%2Fwww.yesodweb.com%2Fblog%2F2012%2F11%2Fsolving-cabal-hell&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-78"><span class="mw-cite-backlink"><b><a href="#cite_ref-78">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blog.ezyang.com/2016/05/announcing-cabal-new-build-nix-style-local-builds/">"Announcing cabal new-build: Nix-style local builds"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">1 October</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Announcing+cabal+new-build%3A+Nix-style+local+builds&amp;rft_id=http%3A%2F%2Fblog.ezyang.com%2F2016%2F05%2Fannouncing-cabal-new-build-nix-style-local-builds%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> <li id="cite_note-79"><span class="mw-cite-backlink"><b><a href="#cite_ref-79">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external free" href="https://zfoh.ch/">https://zfoh.ch/</a> <sup class="noprint Inline-Template" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Bare_URLs" title="Wikipedia:Bare URLs"><span title="A full citation is required to prevent link rot. (August 2024)">bare URL</span></a></i>&#93;</sup></span> </li> <li id="cite_note-80"><span class="mw-cite-backlink"><b><a href="#cite_ref-80">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://haskell.org/haskellwiki/Hackathon">"Hackathon – HaskellWiki"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Hackathon+%E2%80%93+HaskellWiki&amp;rft_id=http%3A%2F%2Fhaskell.org%2Fhaskellwiki%2FHackathon&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="Bibliography">Bibliography</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=16" title="Edit section: Bibliography"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt>Reports</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPeyton_Jones2003" class="citation book cs1"><a href="/wiki/Simon_Peyton_Jones" title="Simon Peyton Jones">Peyton Jones, Simon</a>, ed. (2003). <a rel="nofollow" class="external text" href="http://haskell.org/onlinereport/"><i>Haskell 98 Language and Libraries: The Revised Report</i></a>. Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0521826143" title="Special:BookSources/978-0521826143"><bdi>978-0521826143</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Haskell+98+Language+and+Libraries%3A+The+Revised+Report&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2003&amp;rft.isbn=978-0521826143&amp;rft_id=http%3A%2F%2Fhaskell.org%2Fonlinereport%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMarlow2010" class="citation book cs1"><a href="/wiki/Simon_Marlow" title="Simon Marlow">Marlow, Simon</a>, ed. (2010). <a rel="nofollow" class="external text" href="https://www.haskell.org/definition/haskell2010.pdf"><i>Haskell 2010 Language Report</i></a> <span class="cs1-format">(PDF)</span>. Haskell.org.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Haskell+2010+Language+Report&amp;rft.pub=Haskell.org&amp;rft.date=2010&amp;rft_id=https%3A%2F%2Fwww.haskell.org%2Fdefinition%2Fhaskell2010.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li></ul> <dl><dt>Textbooks</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavie1992" class="citation book cs1">Davie, Antony (1992). <i>An Introduction to Functional Programming Systems Using Haskell</i>. Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-521-25830-2" title="Special:BookSources/978-0-521-25830-2"><bdi>978-0-521-25830-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=An+Introduction+to+Functional+Programming+Systems+Using+Haskell&amp;rft.pub=Cambridge+University+Press&amp;rft.date=1992&amp;rft.isbn=978-0-521-25830-2&amp;rft.aulast=Davie&amp;rft.aufirst=Antony&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBird1998" class="citation book cs1"><a href="/wiki/Richard_Bird_(computer_scientist)" title="Richard Bird (computer scientist)">Bird, Richard</a> (1998). <a rel="nofollow" class="external text" href="http://www.cs.ox.ac.uk/publications/books/functional/"><i>Introduction to Functional Programming using Haskell</i></a> (2nd&#160;ed.). Prentice Hall Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-13-484346-9" title="Special:BookSources/978-0-13-484346-9"><bdi>978-0-13-484346-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Functional+Programming+using+Haskell&amp;rft.edition=2nd&amp;rft.pub=Prentice+Hall+Press&amp;rft.date=1998&amp;rft.isbn=978-0-13-484346-9&amp;rft.aulast=Bird&amp;rft.aufirst=Richard&amp;rft_id=http%3A%2F%2Fwww.cs.ox.ac.uk%2Fpublications%2Fbooks%2Ffunctional%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHudak2000" class="citation book cs1"><a href="/wiki/Paul_Hudak" title="Paul Hudak">Hudak, Paul</a> (2000). <a rel="nofollow" class="external text" href="http://www.cs.yale.edu/homes/hudak/SOE/"><i>The Haskell School of Expression: Learning Functional Programming through Multimedia</i></a>. New York: Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0521643382" title="Special:BookSources/978-0521643382"><bdi>978-0521643382</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Haskell+School+of+Expression%3A+Learning+Functional+Programming+through+Multimedia&amp;rft.place=New+York&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2000&amp;rft.isbn=978-0521643382&amp;rft.aulast=Hudak&amp;rft.aufirst=Paul&amp;rft_id=http%3A%2F%2Fwww.cs.yale.edu%2Fhomes%2Fhudak%2FSOE%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHutton2007" class="citation book cs1">Hutton, Graham (2007). <a rel="nofollow" class="external text" href="http://www.cs.nott.ac.uk/~gmh/book.html"><i>Programming in Haskell</i></a>. Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0521692694" title="Special:BookSources/978-0521692694"><bdi>978-0521692694</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Programming+in+Haskell&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2007&amp;rft.isbn=978-0521692694&amp;rft.aulast=Hutton&amp;rft.aufirst=Graham&amp;rft_id=http%3A%2F%2Fwww.cs.nott.ac.uk%2F~gmh%2Fbook.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFO&#39;SullivanStewartGoerzen2008" class="citation book cs1">O'Sullivan, Bryan; Stewart, Don; Goerzen, John (2008). <i>Real World Haskell</i>. Sebastopol: O'Reilly. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-596-51498-3" title="Special:BookSources/978-0-596-51498-3"><bdi>978-0-596-51498-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Real+World+Haskell&amp;rft.place=Sebastopol&amp;rft.pub=O%27Reilly&amp;rft.date=2008&amp;rft.isbn=978-0-596-51498-3&amp;rft.aulast=O%27Sullivan&amp;rft.aufirst=Bryan&amp;rft.au=Stewart%2C+Don&amp;rft.au=Goerzen%2C+John&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span> <a rel="nofollow" class="external text" href="http://book.realworldhaskell.org/read/">Real World Haskell</a> (full text).</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFThompson2011" class="citation book cs1">Thompson, Simon (2011). <a rel="nofollow" class="external text" href="http://www.haskellcraft.com/"><i>Haskell: The Craft of Functional Programming</i></a> (3rd&#160;ed.). Addison-Wesley. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0201882957" title="Special:BookSources/978-0201882957"><bdi>978-0201882957</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Haskell%3A+The+Craft+of+Functional+Programming&amp;rft.edition=3rd&amp;rft.pub=Addison-Wesley&amp;rft.date=2011&amp;rft.isbn=978-0201882957&amp;rft.aulast=Thompson&amp;rft.aufirst=Simon&amp;rft_id=http%3A%2F%2Fwww.haskellcraft.com%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLipovača2011" class="citation book cs1">Lipovača, Miran (April 2011). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/learnyouhaskellf00lipo_0"><i>Learn You a Haskell for Great Good!</i></a></span>. San Francisco: No Starch Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-59327-283-8" title="Special:BookSources/978-1-59327-283-8"><bdi>978-1-59327-283-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Learn+You+a+Haskell+for+Great+Good%21&amp;rft.place=San+Francisco&amp;rft.pub=No+Starch+Press&amp;rft.date=2011-04&amp;rft.isbn=978-1-59327-283-8&amp;rft.aulast=Lipova%C4%8Da&amp;rft.aufirst=Miran&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Flearnyouhaskellf00lipo_0&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span> (<a rel="nofollow" class="external text" href="http://learnyouahaskell.com/chapters">full text</a>)</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBird2014" class="citation book cs1"><a href="/wiki/Richard_Bird_(computer_scientist)" title="Richard Bird (computer scientist)">Bird, Richard</a> (2014). <i>Thinking Functionally with Haskell</i>. Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-107-45264-0" title="Special:BookSources/978-1-107-45264-0"><bdi>978-1-107-45264-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Thinking+Functionally+with+Haskell&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2014&amp;rft.isbn=978-1-107-45264-0&amp;rft.aulast=Bird&amp;rft.aufirst=Richard&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBirdGibbons2020" class="citation book cs1"><a href="/wiki/Richard_Bird_(computer_scientist)" title="Richard Bird (computer scientist)">Bird, Richard</a>; <a href="/wiki/Jeremy_Gibbons" title="Jeremy Gibbons">Gibbons, Jeremy</a> (July 2020). <i>Algorithm Design with Haskell</i>. Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-108-49161-7" title="Special:BookSources/978-1-108-49161-7"><bdi>978-1-108-49161-7</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Algorithm+Design+with+Haskell&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2020-07&amp;rft.isbn=978-1-108-49161-7&amp;rft.aulast=Bird&amp;rft.aufirst=Richard&amp;rft.au=Gibbons%2C+Jeremy&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li></ul> <dl><dt>Tutorials</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHudakPetersonFasel2000" class="citation web cs1"><a href="/wiki/Paul_Hudak" title="Paul Hudak">Hudak, Paul</a>; Peterson, John; Fasel, Joseph (June 2000). <a rel="nofollow" class="external text" href="http://haskell.org/tutorial/">"A Gentle Introduction To Haskell, Version 98"</a>. <i>Haskell.org</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Haskell.org&amp;rft.atitle=A+Gentle+Introduction+To+Haskell%2C+Version+98&amp;rft.date=2000-06&amp;rft.aulast=Hudak&amp;rft.aufirst=Paul&amp;rft.au=Peterson%2C+John&amp;rft.au=Fasel%2C+Joseph&amp;rft_id=http%3A%2F%2Fhaskell.org%2Ftutorial%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li>Learn You a Haskell for Great Good! - A community version (<i><a rel="nofollow" class="external text" href="https://learnyouahaskell.github.io">learnyouahaskell.github.io</a>)</i>. An up-to-date community maintained version of the renowned "Learn You a Haskell" (LYAH) guide.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDaumé" class="citation book cs1">Daumé, Hal III. <a rel="nofollow" class="external text" href="https://saksagan.ceng.metu.edu.tr/courses/ceng242/documents/haskell/yetanothertutorial.pdf"><i>Yet Another Haskell Tutorial</i></a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Yet+Another+Haskell+Tutorial&amp;rft.aulast=Daum%C3%A9&amp;rft.aufirst=Hal+III&amp;rft_id=https%3A%2F%2Fsaksagan.ceng.metu.edu.tr%2Fcourses%2Fceng242%2Fdocuments%2Fhaskell%2Fyetanothertutorial.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span> Assumes far less prior knowledge than official tutorial.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFYorgey2009" class="citation journal cs1">Yorgey, Brent (12 March 2009). <a rel="nofollow" class="external text" href="http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf">"The Typeclassopedia"</a> <span class="cs1-format">(PDF)</span>. <i>The Monad.Reader</i> (13): <span class="nowrap">17–</span>68.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=The+Monad.Reader&amp;rft.atitle=The+Typeclassopedia&amp;rft.issue=13&amp;rft.pages=%3Cspan+class%3D%22nowrap%22%3E17-%3C%2Fspan%3E68&amp;rft.date=2009-03-12&amp;rft.aulast=Yorgey&amp;rft.aufirst=Brent&amp;rft_id=http%3A%2F%2Fwww.haskell.org%2Fwikiupload%2F8%2F85%2FTMR-Issue13.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMaguire2018" class="citation book cs1">Maguire, Sandy (2018). <a rel="nofollow" class="external text" href="https://thinkingwithtypes.com/"><i>Thinking with Types: Type-Level Programming in Haskell</i></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Thinking+with+Types%3A+Type-Level+Programming+in+Haskell&amp;rft.date=2018&amp;rft.aulast=Maguire&amp;rft.aufirst=Sandy&amp;rft_id=https%3A%2F%2Fthinkingwithtypes.com%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li></ul> <dl><dt>History</dt></dl> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHudakHughesPeyton_JonesWadler2007" class="citation book cs1"><a href="/wiki/Paul_Hudak" title="Paul Hudak">Hudak, Paul</a>; <a href="/wiki/John_Hughes_(computer_scientist)" title="John Hughes (computer scientist)">Hughes, John</a>; <a href="/wiki/Simon_Peyton_Jones" title="Simon Peyton Jones">Peyton Jones, Simon</a>; <a href="/wiki/Philip_Wadler" title="Philip Wadler">Wadler, Philip</a> (2007). <a rel="nofollow" class="external text" href="http://research.microsoft.com/~simonpj/papers/history-of-haskell/history.pdf">"A history of Haskell"</a> <span class="cs1-format">(PDF)</span>. <i>Proceedings of the third ACM SIGPLAN conference on History of programming languages</i>. pp.&#160;12–1–55. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1238844.1238856">10.1145/1238844.1238856</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-59593-766-7" title="Special:BookSources/978-1-59593-766-7"><bdi>978-1-59593-766-7</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:52847907">52847907</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=A+history+of+Haskell&amp;rft.btitle=Proceedings+of+the+third+ACM+SIGPLAN+conference+on+History+of+programming+languages&amp;rft.pages=12-1-55&amp;rft.date=2007&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A52847907%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F1238844.1238856&amp;rft.isbn=978-1-59593-766-7&amp;rft.aulast=Hudak&amp;rft.aufirst=Paul&amp;rft.au=Hughes%2C+John&amp;rft.au=Peyton+Jones%2C+Simon&amp;rft.au=Wadler%2C+Philip&amp;rft_id=http%3A%2F%2Fresearch.microsoft.com%2F~simonpj%2Fpapers%2Fhistory-of-haskell%2Fhistory.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHamilton2008" class="citation journal cs1">Hamilton, Naomi (19 September 2008). <a rel="nofollow" class="external text" href="http://www.computerworld.com.au/article/261007/a-z_programming_languages_haskell/">"The A-Z of Programming Languages: Haskell"</a>. <i><a href="/wiki/Computerworld" title="Computerworld">Computerworld</a></i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Computerworld&amp;rft.atitle=The+A-Z+of+Programming+Languages%3A+Haskell&amp;rft.date=2008-09-19&amp;rft.aulast=Hamilton&amp;rft.aufirst=Naomi&amp;rft_id=http%3A%2F%2Fwww.computerworld.com.au%2Farticle%2F261007%2Fa-z_programming_languages_haskell%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHaskell" class="Z3988"></span></li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Haskell&amp;action=edit&amp;section=17" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Wikibooks-logo-en-noslogan.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/60px-Wikibooks-logo-en-noslogan.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/80px-Wikibooks-logo-en-noslogan.svg.png 2x" data-file-width="400" data-file-height="400" /></a></span></div> <div class="side-box-text plainlist">Wikibooks has a book on the topic of: <i><b><a href="https://en.wikibooks.org/wiki/Haskell" class="extiw" title="wikibooks:Haskell">Haskell</a></b></i></div></div> </div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1235681985"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1237033735"><div class="side-box side-box-right plainlinks sistersitebox"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409"> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Wikibooks-logo-en-noslogan.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/60px-Wikibooks-logo-en-noslogan.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/80px-Wikibooks-logo-en-noslogan.svg.png 2x" data-file-width="400" data-file-height="400" /></a></span></div> <div class="side-box-text plainlist">Wikibooks has a book on the topic of: <i><b><a href="https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours" class="extiw" title="wikibooks:Write Yourself a Scheme in 48 Hours">Write Yourself a Scheme in 48 Hours</a></b></i></div></div> </div> <ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://www.haskell.org">Official website</a></span></span> <span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q34010#P856" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></li></ul> <style data-mw-deduplicate="TemplateStyles:r1130092004">.mw-parser-output .portal-bar{font-size:88%;font-weight:bold;display:flex;justify-content:center;align-items:baseline}.mw-parser-output .portal-bar-bordered{padding:0 2em;background-color:#fdfdfd;border:1px solid #a2a9b1;clear:both;margin:1em auto 0}.mw-parser-output .portal-bar-related{font-size:100%;justify-content:flex-start}.mw-parser-output .portal-bar-unbordered{padding:0 1.7em;margin-left:0}.mw-parser-output .portal-bar-header{margin:0 1em 0 0.5em;flex:0 0 auto;min-height:24px}.mw-parser-output .portal-bar-content{display:flex;flex-flow:row wrap;flex:0 1 auto;padding:0.15em 0;column-gap:1em;align-items:baseline;margin:0;list-style:none}.mw-parser-output .portal-bar-content-related{margin:0;list-style:none}.mw-parser-output .portal-bar-item{display:inline-block;margin:0.15em 0.2em;min-height:24px;line-height:24px}@media screen and (max-width:768px){.mw-parser-output .portal-bar{font-size:88%;font-weight:bold;display:flex;flex-flow:column wrap;align-items:baseline}.mw-parser-output .portal-bar-header{text-align:center;flex:0;padding-left:0.5em;margin:0 auto}.mw-parser-output .portal-bar-related{font-size:100%;align-items:flex-start}.mw-parser-output .portal-bar-content{display:flex;flex-flow:row wrap;align-items:center;flex:0;column-gap:1em;border-top:1px solid #a2a9b1;margin:0 auto;list-style:none}.mw-parser-output .portal-bar-content-related{border-top:none;margin:0;list-style:none}}.mw-parser-output .navbox+link+.portal-bar,.mw-parser-output .navbox+style+.portal-bar,.mw-parser-output .navbox+link+.portal-bar-bordered,.mw-parser-output .navbox+style+.portal-bar-bordered,.mw-parser-output .sister-bar+link+.portal-bar,.mw-parser-output .sister-bar+style+.portal-bar,.mw-parser-output .portal-bar+.navbox-styles+.navbox,.mw-parser-output .portal-bar+.navbox-styles+.sister-bar{margin-top:-1px}</style><div class="portal-bar noprint metadata noviewer portal-bar-bordered" role="navigation" aria-label="Portals"><span class="portal-bar-header"><a href="/wiki/Wikipedia:Contents/Portals" title="Wikipedia:Contents/Portals">Portal</a>:</span><ul class="portal-bar-content"><li class="portal-bar-item"><span class="nowrap"><span typeof="mw:File"><a href="/wiki/File:Octicons-terminal.svg" class="mw-file-description"><img alt="icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Octicons-terminal.svg/17px-Octicons-terminal.svg.png" decoding="async" width="17" height="19" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Octicons-terminal.svg/25px-Octicons-terminal.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Octicons-terminal.svg/33px-Octicons-terminal.svg.png 2x" data-file-width="896" data-file-height="1024" /></a></span> </span><a href="/wiki/Portal:Computer_programming" title="Portal:Computer programming">Computer programming</a></li></ul></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Haskell_programming539" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Haskell_programming" title="Template:Haskell programming"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/w/index.php?title=Template_talk:Haskell_programming&amp;action=edit&amp;redlink=1" class="new" title="Template talk:Haskell programming (page does not exist)"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Haskell_programming" title="Special:EditPage/Template:Haskell programming"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Haskell_programming539" style="font-size:114%;margin:0 4em"><a class="mw-selflink selflink">Haskell</a> programming</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Software" title="Software">Software</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Programming_language_implementation" title="Programming language implementation">Implementations</a><br />(<a href="/wiki/Haskell_features" title="Haskell features">features</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Generic_programming#Generic_Haskell" title="Generic programming">Generic Haskell</a>°</li> <li><a href="/wiki/Glasgow_Haskell_Compiler" title="Glasgow Haskell Compiler">Glasgow Haskell Compiler</a>° <ul><li><a href="/wiki/Template_Haskell" title="Template Haskell">Template Haskell</a>°</li></ul></li> <li><i><a href="/wiki/Gofer_(programming_language)" title="Gofer (programming language)">Gofer</a></i>° → <a href="/wiki/Hugs_(interpreter)" title="Hugs (interpreter)">Hugs</a>°</li> <li><i>York Haskell Compiler</i>° (<i><a href="/wiki/Yhc" title="Yhc">Yhc</a></i>)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Dialect_(computing)" class="mw-redirect" title="Dialect (computing)">Dialects</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Agda_(programming_language)" title="Agda (programming language)">Agda</a>°</li> <li><a href="/wiki/Cryptol" title="Cryptol">Cryptol</a>°</li> <li><a href="/wiki/Curry_(programming_language)" title="Curry (programming language)">Curry</a>°</li> <li><a href="/wiki/Elm_(programming_language)" title="Elm (programming language)">Elm</a>°</li> <li><i><a href="/wiki/Hume_(programming_language)" title="Hume (programming language)">Hume</a></i>°</li> <li><a href="/wiki/Idris_(programming_language)" title="Idris (programming language)">Idris</a>°</li> <li><i><a href="/wiki/%CE%A9mega" title="Ωmega">Ωmega</a></i>°</li> <li><i><a href="/wiki/Orwell_(programming_language)" title="Orwell (programming language)">Orwell</a></i>°</li> <li><i><a href="/wiki/Pugs_(compiler)" title="Pugs (compiler)">Pugs</a></i>°</li> <li><a href="/wiki/TidalCycles" title="TidalCycles">TidalCycles</a>°</li> <li><a href="/wiki/Ur_(programming_language)" title="Ur (programming language)">Ur</a>°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Electronic_design_automation" title="Electronic design automation">Electronic design</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Atom_(programming_language)" title="Atom (programming language)">Atom</a>°</li> <li><a href="/wiki/Bluespec" title="Bluespec">Bluespec</a> <a href="/wiki/SystemVerilog" title="SystemVerilog">SystemVerilog</a> (BSV)</li></ul> </div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Library_(computing)" title="Library (computing)">Libraries</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Concurrent_Haskell" title="Concurrent Haskell">Concurrent Haskell</a>°</li> <li><i><a href="/wiki/Haskell_Platform" title="Haskell Platform">Haskell Platform</a></i>°</li> <li><a href="/wiki/Parsec_(parser)" title="Parsec (parser)">Parsec</a>°</li> <li><a href="/wiki/QuickCheck" title="QuickCheck">QuickCheck</a>°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Package_manager" title="Package manager">Package managers</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Cabal_(software)" title="Cabal (software)">Cabal</a>°</li> <li><a href="/wiki/Stack_(Haskell)" title="Stack (Haskell)">Stack</a>°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Windowing_system" title="Windowing system">Windowing systems</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Fudgets" title="Fudgets">Fudgets</a></li> <li><a href="/wiki/WxHaskell" title="WxHaskell">wxHaskell</a>°</li> <li><a href="/wiki/Xmonad" title="Xmonad">xmonad</a>°</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Web_framework" title="Web framework">Web frameworks</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Servant_(web_framework)" title="Servant (web framework)">Servant</a>°</li> <li><a href="/wiki/Snap_(web_framework)" title="Snap (web framework)">Snap</a>°</li> <li><a href="/wiki/Yesod_(web_framework)" title="Yesod (web framework)">Yesod</a>°</li></ul> </div></td></tr><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Cardano_(blockchain_platform)" title="Cardano (blockchain platform)">Cardano</a>°</li> <li><a href="/wiki/Darcs" title="Darcs">Darcs</a>°</li> <li><a href="/wiki/Ganeti" title="Ganeti">Ganeti</a>°</li> <li><a href="/wiki/Git-annex" title="Git-annex">git-annex</a>°</li> <li><a href="/wiki/Haddock_(software)" title="Haddock (software)">Haddock</a>°</li> <li><a href="/wiki/HaXml" title="HaXml">HaXml</a>°</li> <li><i><a href="/wiki/House_(operating_system)" title="House (operating system)">House</a></i>°</li> <li><a href="/wiki/Liquid_Haskell" title="Liquid Haskell">Liquid Haskell</a>°</li> <li><a href="/wiki/LOLITA" title="LOLITA">LOLITA</a></li> <li><a href="/wiki/Pandoc" title="Pandoc">Pandoc</a>°</li> <li><i><a href="/wiki/Paradox_(theorem_prover)" title="Paradox (theorem prover)">Paradox</a></i>°</li> <li><a href="/wiki/SQream_DB" title="SQream DB">SQream DB</a></li></ul> </div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="3" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"><a href="/wiki/File:Logo_of_the_Haskell_programming_language.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/100px-Logo_of_the_Haskell_programming_language.svg.png" decoding="async" width="100" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/150px-Logo_of_the_Haskell_programming_language.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/200px-Logo_of_the_Haskell_programming_language.svg.png 2x" data-file-width="512" data-file-height="80" /></a></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Book</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Real_World_Haskell" title="Real World Haskell">Real World Haskell</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Community_of_practice" title="Community of practice">Community</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Eponym10" scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Eponym" title="Eponym">Eponym</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Haskell_Curry" title="Haskell Curry">Haskell Curry</a></li></ul> </div></td></tr></tbody></table><div> <ul><li><a href="/wiki/Arvind_(computer_scientist)" title="Arvind (computer scientist)">Arvind</a></li> <li><a href="/wiki/Lennart_Augustsson" title="Lennart Augustsson">Lennart Augustsson</a></li> <li><a href="/wiki/Richard_Bird_(computer_scientist)" title="Richard Bird (computer scientist)">Richard Bird</a></li> <li><a href="/wiki/Jeremy_Gibbons" title="Jeremy Gibbons">Jeremy Gibbons</a></li> <li><a href="/wiki/Andrew_D._Gordon" title="Andrew D. Gordon">Andrew D. Gordon</a></li> <li><a href="/wiki/Paul_Hudak" title="Paul Hudak">Paul Hudak</a></li> <li><a href="/wiki/John_Hughes_(computer_scientist)" title="John Hughes (computer scientist)">John Hughes</a></li> <li><a href="/wiki/John_Launchbury" title="John Launchbury">John Launchbury</a></li> <li><a href="/wiki/John_MacFarlane_(philosopher)" title="John MacFarlane (philosopher)">John MacFarlane</a></li> <li><a href="/wiki/Simon_Marlow" title="Simon Marlow">Simon Marlow</a></li> <li><a href="/wiki/Conor_McBride" title="Conor McBride">Conor McBride</a></li> <li><a href="/wiki/Erik_Meijer_(computer_scientist)" title="Erik Meijer (computer scientist)">Erik Meijer</a></li> <li><a href="/wiki/Simon_Peyton_Jones" title="Simon Peyton Jones">Simon Peyton Jones</a></li> <li><a href="/wiki/David_Roundy" title="David Roundy">David Roundy</a></li> <li><a href="/wiki/Joe_Stoy" title="Joe Stoy">Joe Stoy</a></li> <li><a href="/wiki/Audrey_Tang" title="Audrey Tang">Audrey Tang</a></li> <li><a href="/wiki/Simon_Thompson_(professor)" title="Simon Thompson (professor)">Simon Thompson</a></li> <li><a href="/wiki/Philip_Wadler" title="Philip Wadler">Philip Wadler</a></li></ul></div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div><i>Italics</i> <b>= discontinued</b> <li><b>° = <a href="/wiki/Open-source_software" title="Open-source software">Open-source software</a></b><br /><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Symbol_book_class2.svg" class="mw-file-description" title="Wikipedia book"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/16px-Symbol_book_class2.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/23px-Symbol_book_class2.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/89/Symbol_book_class2.svg/31px-Symbol_book_class2.svg.png 2x" data-file-width="180" data-file-height="185" /></a></span> <b><a href="https://en.wikibooks.org/wiki/Haskell" class="extiw" title="wikibooks:Haskell">Book</a></b> <span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:Haskell_programming_language_family" title="Category:Haskell programming language family">Category:Family</a></b> <span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:Haskell_software" title="Category:Haskell software">Category:Software</a></b></li></div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Haskell_Curry607" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Haskell_Curry" title="Template:Haskell Curry"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/w/index.php?title=Template_talk:Haskell_Curry&amp;action=edit&amp;redlink=1" class="new" title="Template talk:Haskell Curry (page does not exist)"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Haskell_Curry" title="Special:EditPage/Template:Haskell Curry"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Haskell_Curry607" style="font-size:114%;margin:0 4em"><a href="/wiki/Haskell_Curry" title="Haskell Curry">Haskell Curry</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Namesake" title="Namesake">Namesakes</a>: <a href="/wiki/Mathematics" title="Mathematics">mathematics</a>,<br /><a href="/wiki/Computer_programming" title="Computer programming">computer programming</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Curry%E2%80%93Howard_correspondence" title="Curry–Howard correspondence">Curry–Howard correspondence</a></li> <li><a href="/wiki/Currying" title="Currying">Currying</a></li> <li><a href="/wiki/Curry%27s_paradox" title="Curry&#39;s paradox">Curry's paradox</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Programming_language" title="Programming language">Programming languages</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/BrookGPU" title="BrookGPU">Brook</a></i>°</li> <li><a href="/wiki/Curry_(programming_language)" title="Curry (programming language)">Curry</a>°</li> <li><a class="mw-selflink selflink">Haskell</a>°</li></ul> </div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="1" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"><a href="/wiki/File:Logo_of_the_Haskell_programming_language.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/150px-Logo_of_the_Haskell_programming_language.svg.png" decoding="async" width="150" height="23" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/225px-Logo_of_the_Haskell_programming_language.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Logo_of_the_Haskell_programming_language.svg/300px-Logo_of_the_Haskell_programming_language.svg.png 2x" data-file-width="512" data-file-height="80" /></a></span></div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div> <ul><li><i>Italics</i> <b>= discontinued</b></li> <li><b>° = <a href="/wiki/Open-source_software" title="Open-source software">Open-source software</a></b><br /><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:Philosophers_of_mathematics" title="Category:Philosophers of mathematics">Category:Mathematical philosophers</a></b> <span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:20th-century_American_mathematicians" title="Category:20th-century American mathematicians">Category:Mathematicians</a></b> <span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:American_logicians" title="Category:American logicians">Category:Logicians</a></b></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Programming_languages625" style="padding:3px"><table class="nowraplinks hlist mw-collapsible expanded navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Programming_languages" title="Template:Programming languages"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Programming_languages" title="Template talk:Programming languages"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Programming_languages" title="Special:EditPage/Template:Programming languages"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Programming_languages625" style="font-size:114%;margin:0 4em"><a href="/wiki/Programming_language" title="Programming language">Programming languages</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><a href="/wiki/Comparison_of_programming_languages" title="Comparison of programming languages">Comparison</a></li> <li><a href="/wiki/Timeline_of_programming_languages" title="Timeline of programming languages">Timeline</a></li> <li><a href="/wiki/History_of_programming_languages" title="History of programming languages">History</a></li></ul> </div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada</a></li> <li><a href="/wiki/ALGOL" title="ALGOL">ALGOL</a> <ul><li><a href="/wiki/Simula" title="Simula">Simula</a></li></ul></li> <li><a href="/wiki/APL_(programming_language)" title="APL (programming language)">APL</a></li> <li><a href="/wiki/Assembly_language" title="Assembly language">Assembly</a></li> <li><a href="/wiki/BASIC" title="BASIC">BASIC</a> <ul><li><a href="/wiki/Visual_Basic" title="Visual Basic">Visual Basic</a> <ul><li><a href="/wiki/Visual_Basic_(classic)" title="Visual Basic (classic)">classic</a></li> <li><a href="/wiki/Visual_Basic_(.NET)" title="Visual Basic (.NET)">.NET</a></li></ul></li></ul></li> <li><a href="/wiki/C_(programming_language)" title="C (programming language)">C</a></li> <li><a href="/wiki/C%2B%2B" title="C++">C++</a></li> <li><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a></li> <li><a href="/wiki/COBOL" title="COBOL">COBOL</a></li> <li><a href="/wiki/Erlang_(programming_language)" title="Erlang (programming language)">Erlang</a></li> <li><a href="/wiki/Forth_(programming_language)" title="Forth (programming language)">Forth</a></li> <li><a href="/wiki/Fortran" title="Fortran">Fortran</a></li> <li><a href="/wiki/Go_(programming_language)" title="Go (programming language)">Go</a></li> <li><a class="mw-selflink selflink">Haskell</a></li> <li><a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a></li> <li><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></li> <li><a href="/wiki/Julia_(programming_language)" title="Julia (programming language)">Julia</a></li> <li><a href="/wiki/Kotlin_(programming_language)" title="Kotlin (programming language)">Kotlin</a></li> <li><a href="/wiki/Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></li> <li><a href="/wiki/Lua_(programming_language)" title="Lua (programming language)">Lua</a></li> <li><a href="/wiki/MATLAB" title="MATLAB">MATLAB</a></li> <li><a href="/wiki/ML_(programming_language)" title="ML (programming language)">ML</a></li> <li><a href="/wiki/Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a> <ul><li><a href="/wiki/Object_Pascal" title="Object Pascal">Object Pascal</a></li></ul></li> <li><a href="/wiki/Perl" title="Perl">Perl</a></li> <li><a href="/wiki/PHP" title="PHP">PHP</a></li> <li><a href="/wiki/Prolog" title="Prolog">Prolog</a></li> <li><a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a></li> <li><a href="/wiki/R_(programming_language)" title="R (programming language)">R</a></li> <li><a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></li> <li><a href="/wiki/Rust_(programming_language)" title="Rust (programming language)">Rust</a></li> <li><a href="/wiki/SQL" title="SQL">SQL</a></li> <li><a href="/wiki/Scratch_(programming_language)" title="Scratch (programming language)">Scratch</a></li> <li><a href="/wiki/Shell_script" title="Shell script">Shell</a></li> <li><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></li> <li><a href="/wiki/Swift_(programming_language)" title="Swift (programming language)">Swift</a></li> <li><i><a href="/wiki/List_of_programming_languages" title="List of programming languages">more...</a></i></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-Symbol_list_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-Symbol_list_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-Symbol_list_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b>Lists:</b> <a href="/wiki/List_of_programming_languages" title="List of programming languages">Alphabetical</a></li> <li><a href="/wiki/List_of_programming_languages_by_type" title="List of programming languages by type">Categorical</a></li> <li><a href="/wiki/Generational_list_of_programming_languages" title="Generational list of programming languages">Generational</a></li> <li><a href="/wiki/Non-English-based_programming_languages" title="Non-English-based programming languages">Non-English-based</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Programming_languages" title="Category:Programming languages">Category</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"><style data-mw-deduplicate="TemplateStyles:r1038841319">.mw-parser-output .tooltip-dotted{border-bottom:1px dotted;cursor:help}</style></div><div role="navigation" class="navbox authority-control" aria-label="Navbox1168" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a>: National <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q34010#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4318275-6">Germany</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh93003496">United States</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb12362303j">France</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://data.bnf.fr/ark:/12148/cb12362303j">BnF data</a></span></li><li><span class="uid"><span class="rt-commentedText tooltip tooltip-dotted" title="Haskell (programovací jazyk)"><a rel="nofollow" class="external text" href="https://aleph.nkp.cz/F/?func=find-c&amp;local_base=aut&amp;ccl_term=ica=ph903880&amp;CON_LNG=ENG">Czech Republic</a></span></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&amp;authority_id=XX541061">Spain</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.nli.org.il/en/authorities/987007561153805171">Israel</a></span></li></ul></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐api‐ext.codfw.main‐7d44b9cd95‐m7c7t Cached time: 20250221100229 Cache expiry: 655066 Reduced expiry: true Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.312 seconds Real time usage: 1.508 seconds Preprocessor visited node count: 8606/1000000 Post‐expand include size: 224957/2097152 bytes Template argument size: 15621/2097152 bytes Highest expansion depth: 26/100 Expensive parser function count: 16/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 309774/5000000 bytes Lua time usage: 0.837/10.000 seconds Lua memory usage: 9745690/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1334.635 1 -total 36.65% 489.175 1 Template:Reflist 18.72% 249.833 2 Template:Infobox 16.96% 226.294 1 Template:Infobox_programming_language 13.86% 184.965 42 Template:Cite_web 10.84% 144.683 8 Template:Navbox 8.90% 118.800 21 Template:Sfn 8.16% 108.843 1 Template:Haskell_programming 8.05% 107.411 18 Template:Cite_book 7.75% 103.372 3 Template:Cite_mailing_list --> <!-- Saved in parser cache with key enwiki:pcache:27404990:|#|:idhash:canonical and timestamp 20250221100328 and revision id 1276885687. Rendering was triggered because: page-edit --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Haskell&amp;oldid=1276885687">https://en.wikipedia.org/w/index.php?title=Haskell&amp;oldid=1276885687</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Academic_programming_languages" title="Category:Academic programming languages">Academic programming languages</a></li><li><a href="/wiki/Category:Educational_programming_languages" title="Category:Educational programming languages">Educational programming languages</a></li><li><a href="/wiki/Category:Functional_languages" title="Category:Functional languages">Functional languages</a></li><li><a href="/wiki/Category:Haskell_programming_language_family" title="Category:Haskell programming language family">Haskell programming language family</a></li><li><a href="/wiki/Category:Literate_programming" title="Category:Literate programming">Literate programming</a></li><li><a href="/wiki/Category:Pattern_matching_programming_languages" title="Category:Pattern matching programming languages">Pattern matching programming languages</a></li><li><a href="/wiki/Category:Programming_languages_created_in_1990" title="Category:Programming languages created in 1990">Programming languages created in 1990</a></li><li><a href="/wiki/Category:Statically_typed_programming_languages" title="Category:Statically typed programming languages">Statically typed programming languages</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:CS1_maint:_location" title="Category:CS1 maint: location">CS1 maint: location</a></li><li><a href="/wiki/Category:All_articles_with_dead_external_links" title="Category:All articles with dead external links">All articles with dead external links</a></li><li><a href="/wiki/Category:Articles_with_dead_external_links_from_May_2022" title="Category:Articles with dead external links from May 2022">Articles with dead external links from May 2022</a></li><li><a href="/wiki/Category:All_articles_with_bare_URLs_for_citations" title="Category:All articles with bare URLs for citations">All articles with bare URLs for citations</a></li><li><a href="/wiki/Category:Articles_with_bare_URLs_for_citations_from_August_2024" title="Category:Articles with bare URLs for citations from August 2024">Articles with bare URLs for citations from August 2024</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Use_dmy_dates_from_November_2019" title="Category:Use dmy dates from November 2019">Use dmy dates from November 2019</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_February_2012" title="Category:Articles with unsourced statements from February 2012">Articles with unsourced statements from February 2012</a></li><li><a href="/wiki/Category:Articles_containing_potentially_dated_statements_from_May_2021" title="Category:Articles containing potentially dated statements from May 2021">Articles containing potentially dated statements from May 2021</a></li><li><a href="/wiki/Category:All_articles_containing_potentially_dated_statements" title="Category:All articles containing potentially dated statements">All articles containing potentially dated statements</a></li><li><a href="/wiki/Category:Articles_with_example_Haskell_code" title="Category:Articles with example Haskell code">Articles with example Haskell code</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 21 February 2025, at 10:02<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Haskell&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Haskell</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>54 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-d8647bfd6-xnrh2","wgBackendResponseTime":136,"wgPageParseReport":{"limitreport":{"cputime":"1.312","walltime":"1.508","ppvisitednodes":{"value":8606,"limit":1000000},"postexpandincludesize":{"value":224957,"limit":2097152},"templateargumentsize":{"value":15621,"limit":2097152},"expansiondepth":{"value":26,"limit":100},"expensivefunctioncount":{"value":16,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":309774,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 1334.635 1 -total"," 36.65% 489.175 1 Template:Reflist"," 18.72% 249.833 2 Template:Infobox"," 16.96% 226.294 1 Template:Infobox_programming_language"," 13.86% 184.965 42 Template:Cite_web"," 10.84% 144.683 8 Template:Navbox"," 8.90% 118.800 21 Template:Sfn"," 8.16% 108.843 1 Template:Haskell_programming"," 8.05% 107.411 18 Template:Cite_book"," 7.75% 103.372 3 Template:Cite_mailing_list"]},"scribunto":{"limitreport-timeusage":{"value":"0.837","limit":"10.000"},"limitreport-memusage":{"value":9745690,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFBird1998\"] = 1,\n [\"CITEREFBird2014\"] = 1,\n [\"CITEREFBirdGibbons2020\"] = 1,\n [\"CITEREFChevalier2008\"] = 1,\n [\"CITEREFDaumé\"] = 1,\n [\"CITEREFDavidGelderCaldarelliRosnay2023\"] = 1,\n [\"CITEREFDavie1992\"] = 1,\n [\"CITEREFDrobi2009\"] = 1,\n [\"CITEREFFogus2010\"] = 1,\n [\"CITEREFFrederickson\"] = 1,\n [\"CITEREFFreeman2016\"] = 1,\n [\"CITEREFHallgren2001\"] = 1,\n [\"CITEREFHamilton2008\"] = 1,\n [\"CITEREFHeerenLeijenvan_IJzendoorn2003\"] = 1,\n [\"CITEREFHeller2011\"] = 1,\n [\"CITEREFHickey\"] = 1,\n [\"CITEREFHudak2000\"] = 1,\n [\"CITEREFHudakHughesPeyton_JonesWadler2007\"] = 1,\n [\"CITEREFHudakPetersonFasel2000\"] = 1,\n [\"CITEREFHutton2007\"] = 1,\n [\"CITEREFKleinElphinstoneHeiserAndronick2009\"] = 1,\n [\"CITEREFKuchling\"] = 1,\n [\"CITEREFLattner2014\"] = 1,\n [\"CITEREFLipovača2011\"] = 1,\n [\"CITEREFMaguire2018\"] = 1,\n [\"CITEREFMarlow2009\"] = 1,\n [\"CITEREFMarlow2010\"] = 1,\n [\"CITEREFMeijer2006\"] = 1,\n [\"CITEREFMeijer2009\"] = 1,\n [\"CITEREFMossberg2020\"] = 1,\n [\"CITEREFNorell2008\"] = 1,\n [\"CITEREFO\u0026#039;SullivanGoerzenStewart2008\"] = 1,\n [\"CITEREFO\u0026#039;SullivanStewartGoerzen2008\"] = 1,\n [\"CITEREFPeyton_Jones2003\"] = 1,\n [\"CITEREFRiedel2016\"] = 1,\n [\"CITEREFRobert_Harper2011\"] = 2,\n [\"CITEREFStroustrupSutton2011\"] = 1,\n [\"CITEREFSymeGraniczCisternino2007\"] = 1,\n [\"CITEREFTereiChakravarty2010\"] = 1,\n [\"CITEREFThompson2011\"] = 1,\n [\"CITEREFWadler1988\"] = 1,\n [\"CITEREFWadlerBlott1989\"] = 1,\n [\"CITEREFYorgey2009\"] = 1,\n}\ntemplate_list = table#1 {\n [\"As of\"] = 1,\n [\"Authority control\"] = 1,\n [\"Bare URL inline\"] = 1,\n [\"Citation\"] = 3,\n [\"Citation needed\"] = 2,\n [\"Cite book\"] = 18,\n [\"Cite conference\"] = 2,\n [\"Cite journal\"] = 5,\n [\"Cite magazine\"] = 1,\n [\"Cite mailing list\"] = 3,\n [\"Cite news\"] = 2,\n [\"Cite thesis\"] = 1,\n [\"Cite web\"] = 42,\n [\"Closed access\"] = 2,\n [\"Dead link\"] = 1,\n [\"Harvnb\"] = 1,\n [\"Haskell Curry\"] = 1,\n [\"Haskell programming\"] = 1,\n [\"IPAc-en\"] = 1,\n [\"Infobox programming language\"] = 1,\n [\"Main\"] = 1,\n [\"Official website\"] = 1,\n [\"Other uses\"] = 1,\n [\"Portal bar\"] = 1,\n [\"Programming languages\"] = 1,\n [\"Reflist\"] = 1,\n [\"Rp\"] = 3,\n [\"See also\"] = 2,\n [\"Sfn\"] = 21,\n [\"Short description\"] = 1,\n [\"Start date and age\"] = 2,\n [\"URL\"] = 1,\n [\"Use dmy dates\"] = 1,\n [\"Wikibooks\"] = 2,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n"},"cachereport":{"origin":"mw-api-ext.codfw.main-7d44b9cd95-m7c7t","timestamp":"20250221100229","ttl":655066,"transientcontent":true}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Haskell","url":"https:\/\/en.wikipedia.org\/wiki\/Haskell","sameAs":"http:\/\/www.wikidata.org\/entity\/Q34010","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q34010","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-07-27T03:06:51Z","dateModified":"2025-02-21T10:02:27Z","headline":"purely functional programming language"}</script> </body> </html>

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