{"id":272847,"date":"2007-07-23T00:00:00","date_gmt":"2007-07-23T07:00:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-research-item&#038;p=272847"},"modified":"2019-08-21T08:39:03","modified_gmt":"2019-08-21T15:39:03","slug":"taste-haskell-part-2","status":"publish","type":"msr-video","link":"https:\/\/www.microsoft.com\/en-us\/research\/video\/taste-haskell-part-2\/","title":{"rendered":"A Taste of Haskell &#8211; Part 2"},"content":{"rendered":"<p>I was lucky enough to be able to give a three-hour tutorial on Haskell at the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/conferences.oreillynet.com\/os2007\/\">O&#8217;Reilly Open Source Convention 2007<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, in Portland. A huge thank-you to Galois Inc, for making the video happen.\u00a0View <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/video\/taste-haskell-part-1\/\">Part\u00a01 here<\/a>.<\/p>\n<ul>\n<li>Slides <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2007\/07\/TasteOfHaskell.pdf\">PDF<\/a><\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/haskell.org\/haskellwiki\/Simonpj\/Talk:TasteOfHaskell\">Wiki talk page for discussion<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<\/ul>\n<p><strong>Abstract<\/strong><\/p>\n<p>Haskell is the world&#8217;s leading purely functional programming language that offers a radical and elegant attack on the whole business of writing programs. In the last two or three years there has been an explosion of interest in Haskell, and it is now being used for a bewildering variety of applications.<\/p>\n<p>In this tutorial, I will try to show you why programming in Haskell is such fun, and how it makes you think about programming in a new way.<\/p>\n<p>I&#8217;m going to use <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/xmonad.org\/\">xmonad<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> as my running example; it&#8217;s an X11 window manager written entirely in 500 lines of Haskell. Based on xmonad I will show you how to<\/p>\n<ul>\n<li>write functional programs<\/li>\n<li>test them using QuickCheck<\/li>\n<li>write imperative programs<\/li>\n<li>call foreign functions<\/li>\n<li>use Haskell for scripting applications<\/li>\n<\/ul>\n<p>I won&#8217;t assume you know any functional programming at all, but I will assume that you are an experienced professional programmer, so I will move along quite briskly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was lucky enough to be able to give a three-hour tutorial on Haskell at the O&#8217;Reilly Open Source Convention 2007, in Portland. A huge thank-you to Galois Inc, for making the video happen.\u00a0View Part\u00a01 here. Slides PDF Wiki talk page for discussion Abstract Haskell is the world&#8217;s leading purely functional programming language that offers [&hellip;]<\/p>\n","protected":false},"featured_media":604707,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr_hide_image_in_river":0,"footnotes":""},"research-area":[13560],"msr-video-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-session-type":[],"msr-impact-theme":[],"msr-pillar":[],"msr-episode":[],"msr-research-theme":[],"class_list":["post-272847","msr-video","type-msr-video","status-publish","has-post-thumbnail","hentry","msr-research-area-programming-languages-software-engineering","msr-locale-en_us"],"msr_download_urls":"","msr_external_url":"https:\/\/www.youtube.com\/watch?v=IqXTUbdLig0","msr_secondary_video_url":"","msr_video_file":"","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/272847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-video"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/272847\/revisions"}],"predecessor-version":[{"id":604710,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/272847\/revisions\/604710"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/604707"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=272847"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=272847"},{"taxonomy":"msr-video-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video-type?post=272847"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=272847"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=272847"},{"taxonomy":"msr-session-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-session-type?post=272847"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=272847"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=272847"},{"taxonomy":"msr-episode","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-episode?post=272847"},{"taxonomy":"msr-research-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-theme?post=272847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}