PLAY PODCASTS
Haskell Weekly

Haskell Weekly

57 episodes — Page 1 of 2

Ep 572021 Survey Results

<p>Thanks to everyone who filled out the 2021 State of Haskell Survey! This week Cameron and Taylor review the results.</p> <ul> <li><a href="https://taylor.fausak.me/2021/11/16/haskell-survey-results/">https://taylor.fausak.me/2021/11/16/haskell-survey-results/</a></li> </ul>

Dec 6, 202134 min

Ep 56Monad Architecture

<p>This week Cameron and Taylor answer our first listener question: How should you structure large applications? We compare ReaderT with MTL along with other approaches.</p> <ul> <li><a href="https://join.slack.com/t/haskell-foundation/shared_invite/zt-mjh76fw0-CEjg2NbyVE8rVQDvR~0F4A">https://join.slack.com/t/haskell-foundation/shared_invite/zt-mjh76fw0-CEjg2NbyVE8rVQDvR~0F4A</a></li> </ul>

Nov 15, 202123 min

Ep 55GHC 9.2.1

<p>We’re back! After a month off, Cameron and Taylor get together to talk about what’s new in the Haskell world.</p> <ul> <li><a href="https://www.haskell.org/ghc/blog/20211029-ghc-9.2.1-released.html">https://www.haskell.org/ghc/blog/20211029-ghc-9.2.1-released.html</a></li> <li><a href="https://haskellweekly.news/survey/2021.html">https://haskellweekly.news/survey/2021.html</a></li> </ul>

Nov 8, 202127 min

Ep 54Loop Breaker

<p>Cameron Gera and Taylor Fausak discuss Drew Olson’s adventures in looping. What should you do if you want to loop forever, but break out of the loop early sometimes?</p> <ul> <li><a href="https://blog.drewolson.org/adventures-in-looping">https://blog.drewolson.org/adventures-in-looping</a></li> </ul>

Oct 4, 202121 min

Ep 53Hash Flooding Aeson

<p>Special guest Tom Sydney Kerckhove talks with Taylor Fausak about a denial of service vulnerability in Aeson, a Haskell library for JSON.</p> <ul> <li><a href="https://cs-syd.eu/posts/2021-09-11-json-vulnerability">https://cs-syd.eu/posts/2021-09-11-json-vulnerability</a></li> <li><a href="https://hackage.haskell.org/package/sydtest-0.4.0.0">https://hackage.haskell.org/package/sydtest-0.4.0.0</a></li> <li><a href="https://hackage.haskell.org/package/genvalidity-0.11.0.2">https://hackage.haskell.org/package/genvalidity-0.11.0.2</a></li> <li><a href="https://hackage.haskell.org/package/yamlparse-applicative-0.2.0.0">https://hackage.haskell.org/package/yamlparse-applicative-0.2.0.0</a></li> </ul>

Sep 27, 202126 min

Ep 52Evoking Instances

<p>Taylor Fausak talks with Cameron Gera about Evoke, Taylor’s latest GHC plugin for deriving instances without generics or Template Haskell.</p> <ul> <li><a href="https://taylor.fausak.me/2021/09/10/evoke/">https://taylor.fausak.me/2021/09/10/evoke/</a></li> </ul>

Sep 13, 202136 min

Ep 51Dependent Haskell with Vladislav Zavialov

<p>Curious about dependent types? Special guest Vladislav Zavialov from Serokell breaks it down for us. We discuss comparisons to refinement types, sigma and pi types, interactions with linear types, and much more!</p> <ul> <li><a href="https://serokell.io/blog/developing-ghc-for-a-living">https://serokell.io/blog/developing-ghc-for-a-living</a></li> <li><a href="https://twitter.com/int_index">https://twitter.com/int_index</a></li> </ul>

Aug 23, 202156 min

Ep 50Our Tech Stack

<p>Stack, HLint, and Brittany, oh my! Cameron Gera and Taylor Fausak go on a deep dive into the ACI Learning tech stack.</p> <ul> <li><a href="https://www.acilearning.com">https://www.acilearning.com</a></li> </ul>

Aug 16, 202139 min

Ep 49Cast Values with Witch

<p>Back from summer break, Cameron Gera discusses the Witch library with it’s author, Taylor Fausak. Learn about the many motivations behind this simple library for converting values between various types.</p> <ul> <li><a href="https://taylor.fausak.me/2021/07/13/witch/">https://taylor.fausak.me/2021/07/13/witch/</a></li> <li><a href="https://hackage.haskell.org/package/say-my-name-0.1.0.0">https://hackage.haskell.org/package/say-my-name-0.1.0.0</a></li> </ul>

Aug 9, 202133 min

Ep 48The Voids of Haskell

<p>There’s a lot to like about Haskell, but what is it missing? We explore Alexander Granin’s post where he suggests some topics for books that could benefit the Haskell community.</p> <ul> <li><a href="https://github.com/graninas/The-Voids-Of-Haskell/blob/9b401e33af37f991dcb3ab2eedc023661237d845/README.md">https://github.com/graninas/The-Voids-Of-Haskell/blob/9b401e33af37f991dcb3ab2eedc023661237d845/README.md</a></li> </ul>

Jun 8, 202130 min

Ep 47Simple Haskell Handbook with Marco Sampellegrini

<p>Special guest Marco Sampellegrini talks with us about his recent book, The Simple Haskell Handbook. The book describes a project driven approach to Haskell development, using a continuous integration server as a motivating example.</p> <ul> <li><a href="https://leanpub.com/simple-haskell-book">https://leanpub.com/simple-haskell-book</a></li> </ul>

Jun 1, 202142 min

Ep 46Module Organization Guidelines

<p>Should you organize modules vertically or horizontally? This week we take a look at another article by Gabriella Gonzalez, this time about organizing projects and packages.</p> <ul> <li><a href="https://www.haskellforall.com/2021/05/module-organization-guidelines-for.html">https://www.haskellforall.com/2021/05/module-organization-guidelines-for.html</a></li> </ul>

May 24, 202126 min

Ep 45Avoiding Nested Errors

<p>How can you avoid deeply nested error handling code? This week we review Gabriella Gonzalez’s trick for keeping error handling flat.</p> <ul> <li><a href="https://www.haskellforall.com/2021/05/the-trick-to-avoid-deeply-nested-error.html">https://www.haskellforall.com/2021/05/the-trick-to-avoid-deeply-nested-error.html</a></li> </ul>

May 10, 202118 min

Ep 44Haskell Foundation with Andrew Boardman

<p>Curious about the Haskell Foundation? This week we interview Andrew Boardman, its Executive Director. He explains the Foundation’s purpose and how you can help.</p> <ul> <li><a href="https://haskell.foundation">https://haskell.foundation</a></li> <li><a href="https://fpchat-invite.herokuapp.com">https://fpchat-invite.herokuapp.com</a></li> <li><a href="https://funprog.zulipchat.com/login/">https://funprog.zulipchat.com/login/</a></li> <li><a href="https://wiki.haskell.org/IRC_channel">https://wiki.haskell.org/IRC_channel</a></li> <li><a href="https://discourse.haskell.org">https://discourse.haskell.org</a></li> <li><a href="https://twitter.com/myShoggoth">https://twitter.com/myShoggoth</a></li> <li><a href="https://myshoggoth.com">https://myshoggoth.com</a></li> <li><a href="https://joyofhaskell.com/posts/2021-02-24-why-stm.html">https://joyofhaskell.com/posts/2021-02-24-why-stm.html</a></li> </ul>

May 4, 202153 min

Ep 43Default Exception Handlers

<p>What happens to exceptions when you don’t explicitly handle them? This week we review Taylor’s blog post about default exception handlers.</p> <ul> <li><a href="https://taylor.fausak.me/2021/04/03/default-exception-handler-in-haskell/">https://taylor.fausak.me/2021/04/03/default-exception-handler-in-haskell/</a></li> </ul>

Apr 19, 202113 min

Ep 42Async Exceptions

<p>Special guest Cody Goodman walks us through an interesting PostgreSQL bug. Handling async exceptions properly is trickier than you might expect!</p> <ul> <li><a href="https://www.parsonsmatt.org/2021/03/17/async_control_flow.html">https://www.parsonsmatt.org/2021/03/17/async_control_flow.html</a></li> <li><a href="https://github.com/codygman/tech-roam/blob/master/20210326113249-haskell_persistent_issues_postgres_connections_are_returned_to_pool_too_quickly.org">https://github.com/codygman/tech-roam/blob/master/20210326113249-haskell_persistent_issues_postgres_connections_are_returned_to_pool_too_quickly.org</a></li> </ul>

Mar 29, 202129 min

Ep 41Unified Vector

<p>Byte string, text, and vector, oh my! This week we review Michael Snoyman’s proposal to unify vector-like types. Learn about boxed versus unboxed values, pinned versus unpinned memory, and more.</p> <ul> <li><a href="https://www.snoyman.com/blog/2021/04/haskell-base-proposal/">https://www.snoyman.com/blog/2021/04/haskell-base-proposal/</a></li> </ul>

Mar 22, 202124 min

Ep 40Chat Wisely

<p>Special guests Michael Litchard and Brian Hurt talk with us about their new social networking site Chat Wisely. We hear about their experience using Haskell not only on the backend but also on the frontend through GHCJS.</p> <ul> <li><a href="https://www.chatwisely.com">https://www.chatwisely.com</a></li> <li><a href="https://www.patreon.com/chatwisely">https://www.patreon.com/chatwisely</a></li> </ul>

Mar 17, 202146 min

Ep 39Haskell Wingman with Sandy Maguire

<p>Special guest Sandy Maguire talks with us about using Haskell Wingman for program synthesis, designing bulletproof abstractions with algebra, wrangling type level programming in Haskell, and managing effects with his Polysemy library.</p> <ul> <li><a href="https://www.patreon.com/wingman_for_haskell">https://www.patreon.com/wingman_for_haskell</a></li> <li><a href="https://leanpub.com/algebra-driven-design">https://leanpub.com/algebra-driven-design</a></li> <li><a href="https://leanpub.com/thinking-with-types">https://leanpub.com/thinking-with-types</a></li> <li><a href="https://github.com/polysemy-research/polysemy">https://github.com/polysemy-research/polysemy</a></li> <li><a href="https://reasonablypolymorphic.com">https://reasonablypolymorphic.com</a></li> <li><a href="https://sandymaguire.me">https://sandymaguire.me</a></li> </ul>

Mar 8, 202147 min

Ep 38GHC 9.0.1

<p>Linear types finally landed in GHC 9.0.1! We talk through what that means along with other news from the Haskell Foundation and Tweag.</p> <ul> <li><a href="https://discourse.haskell.org/t/haskell-foundation-executive-director-and-chief-technology-officer/1861">https://discourse.haskell.org/t/haskell-foundation-executive-director-and-chief-technology-officer/1861</a></li> <li><a href="https://discourse.haskell.org/t/ghc-8-10-4-released/1847">https://discourse.haskell.org/t/ghc-8-10-4-released/1847</a></li> <li><a href="https://discourse.haskell.org/t/ghc-9-0-1-released/1840">https://discourse.haskell.org/t/ghc-9-0-1-released/1840</a></li> <li><a href="https://www.tweag.io/blog/2021-02-10-linear-base/">https://www.tweag.io/blog/2021-02-10-linear-base/</a></li> </ul>

Feb 22, 202127 min

Ep 37Type Applications

<p>Come <code>@</code> me bro! In this episode we review Zac Wood’s post about the type applications language extension.</p> <ul> <li><a href="https://zacwood.me/posts/haskell-type-application/">https://zacwood.me/posts/haskell-type-application/</a></li> </ul>

Feb 8, 202118 min

Ep 36Production Haskell with Matt Parsons

<p>Special guest Matt Parsons talks to us about his upcoming book, Production Haskell.</p> <ul> <li><a href="https://leanpub.com/production-haskell">https://leanpub.com/production-haskell</a></li> <li><a href="https://twitter.com/prodhaskell">https://twitter.com/prodhaskell</a></li> </ul>

Feb 1, 202132 min

Ep 35Maybe Either

<p>Is Maybe problematic? Well, maybe. Robert Peszek thinks that Maybe is overused. Cameron Gera and Taylor Fausak break it down and consider alternatives.</p> <ul> <li><a href="https://rpeszek.github.io/posts/2021-01-17-maybe-overuse.html">https://rpeszek.github.io/posts/2021-01-17-maybe-overuse.html</a></li> </ul>

Jan 26, 202128 min

Ep 34Production Haskell

<p>Christian Charukiewicz at Foxhound Systems wrote a list of reasons to prefer Haskell for building production systems. Cameron Gera and Taylor Fausak review the list and share their experience at ITProTV.</p> <ul> <li><a href="https://www.foxhound.systems/blog/why-haskell-for-production/">https://www.foxhound.systems/blog/why-haskell-for-production/</a></li> </ul>

Jan 22, 202126 min

Ep 332020 Retrospective

<p>Using Adam Wespiser’s blog post as a jumping off point, Cameron Gera and Taylor Fausak look back on a year of Haskell.</p> <ul> <li><a href="https://wespiser.com/posts/2021-01-03-Lessons-Learned-From-A-Year-Of-Haskell.html">https://wespiser.com/posts/2021-01-03-Lessons-Learned-From-A-Year-Of-Haskell.html</a></li> </ul>

Jan 11, 202127 min

Ep 32Parser Combinators

<p>Are you curious about how Parsec is implemented behind the scenes? Cameron Gera and Taylor Fausak follow Antoine Leblanc’s walkthrough.</p> <ul> <li><a href="https://hasura.io/blog/parser-combinators-walkthrough/">https://hasura.io/blog/parser-combinators-walkthrough/</a></li> <li><a href="http://dev.stephendiehl.com/fun/002_parsers.html">http://dev.stephendiehl.com/fun/002_parsers.html</a></li> </ul>

Dec 14, 202033 min

Ep 31Simplify Deriving

<p>Can Haskell’s deriving mechanism be simplified? Cody Goodman, Cameron Gera, and Taylor Fausak walk through the changes that Matt Parsons suggested.</p> <ul> <li><a href="https://www.parsonsmatt.org/2020/11/10/simplifying_deriving.html">https://www.parsonsmatt.org/2020/11/10/simplifying_deriving.html</a></li> </ul>

Nov 16, 202027 min

Ep 30Type Safety

<p>Newtypes let you give things names, but is that type safety? Andres Schmois, Cameron Gera, and Taylor Fausak explore a blog post by Alexis King.</p> <ul> <li><a href="https://lexi-lambda.github.io/blog/2020/11/01/names-are-not-type-safety/">https://lexi-lambda.github.io/blog/2020/11/01/names-are-not-type-safety/</a></li> <li><a href="https://www.youtube.com/watch?v=MEmRarBL9kw">https://www.youtube.com/watch?v=MEmRarBL9kw</a></li> <li><a href="https://np.reddit.com/r/haskell/comments/jnwg7i/haskell_foundation_ama/">https://np.reddit.com/r/haskell/comments/jnwg7i/haskell_foundation_ama/</a></li> </ul>

Nov 9, 202024 min

Ep 29Bad Parts

<p>Even well-designed languages have rough edges. Cameron Gera and Taylor Fausak review some of the bad parts of Haskell.</p> <ul> <li><a href="https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1">https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1</a></li> <li><a href="https://haskellweekly.news/survey/2020.html">https://haskellweekly.news/survey/2020.html</a></li> </ul>

Nov 2, 202021 min

Ep 28GHC 2021

<p>Does the idea of -XGHC2021 excite you? Cameron Gera and Taylor Fausak work through this proposed set of language extensions.</p> <ul> <li><a href="https://np.reddit.com/r/haskell/comments/je1t82/does_the_idea_of_xghc2021_excite_you/">https://np.reddit.com/r/haskell/comments/je1t82/does_the_idea_of_xghc2021_excite_you/</a></li> <li><a href="https://github.com/ghc-proposals/ghc-proposals/pull/372">https://github.com/ghc-proposals/ghc-proposals/pull/372</a></li> <li><a href="https://hacktoberfest.digitalocean.com">https://hacktoberfest.digitalocean.com</a></li> <li><a href="https://github.com/kowainik/learn4haskell">https://github.com/kowainik/learn4haskell</a></li> </ul>

Oct 26, 202022 min

Ep 27Interview Questions

<p>Learn how to answer common technical interview questions with Haskell. Cameron Gera and Taylor Fausak discuss Chris Penner’s blog post.</p> <ul> <li><a href="https://chrispenner.ca/posts/interview">https://chrispenner.ca/posts/interview</a></li> <li><a href="https://hacktoberfest.digitalocean.com">https://hacktoberfest.digitalocean.com</a></li> <li><a href="https://github.com/kowainik/learn4haskell">https://github.com/kowainik/learn4haskell</a></li> </ul>

Oct 19, 202031 min

Ep 26Recursive Monoids

<p>Sara Lichtenstein, Cameron Gera, and Taylor Fausak get recursively drunk on semigroups and monoids.</p> <ul> <li><a href="https://dev.to/sshine/getting-recursively-drunk-with-monoids-2jek">https://dev.to/sshine/getting-recursively-drunk-with-monoids-2jek</a></li> </ul>

Oct 13, 202018 min

Ep 25Strategic Deriving

<p>Cameron Gera and Taylor Fausak discuss the pros and cons of various deriving strategies.</p> <ul> <li><a href="https://kowainik.github.io/posts/deriving">https://kowainik.github.io/posts/deriving</a></li> <li><a href="https://hacktoberfest.digitalocean.com">https://hacktoberfest.digitalocean.com</a></li> <li><a href="https://dev.to/tfausak/how-to-define-json-instances-quickly-5ei7">https://dev.to/tfausak/how-to-define-json-instances-quickly-5ei7</a></li> <li><a href="https://www.parsonsmatt.org/2019/11/27/keeping_compilation_fast.html">https://www.parsonsmatt.org/2019/11/27/keeping_compilation_fast.html</a></li> <li><a href="https://www.youtube.com/watch?v=pwnrfREbhWY">https://www.youtube.com/watch?v=pwnrfREbhWY</a></li> </ul>

Oct 8, 202033 min

Ep 24Haskell Survey

<p>Jose Silvestri and Cameron Gera go over the 2019 State of Haskell Survey and encourage you to fill it out.</p> <ul> <li><a href="https://haskellweekly.news/survey/2019.html">https://haskellweekly.news/survey/2019.html</a></li> <li><a href="https://taylor.fausak.me/2018/11/18/2018-state-of-haskell-survey-results/">https://taylor.fausak.me/2018/11/18/2018-state-of-haskell-survey-results/</a></li> <li><a href="https://taylor.fausak.me/2017/11/15/2017-state-of-haskell-survey-results/">https://taylor.fausak.me/2017/11/15/2017-state-of-haskell-survey-results/</a></li> </ul>

Nov 8, 20197 min

Ep 23Functional Reactive Programming

<p>Jose Silvestri and Dustin Segers give a whirlwind tour of FRP, exploring what it is and why you might want to use it.</p> <ul> <li><a href="https://begriffs.com/posts/2015-07-22-essence-of-frp.html">https://begriffs.com/posts/2015-07-22-essence-of-frp.html</a></li> <li><a href="https://www.seas.upenn.edu/~cis194/fall16/lectures/11-frp.html">https://www.seas.upenn.edu/~cis194/fall16/lectures/11-frp.html</a></li> <li><a href="https://apfelmus.nfshost.com/blog/2011/05/06-frp-why-functors.html">https://apfelmus.nfshost.com/blog/2011/05/06-frp-why-functors.html</a></li> <li><a href="https://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming">https://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming</a></li> <li><a href="https://wiki.haskell.org/FRP_explanation_using_reactive-banana">https://wiki.haskell.org/FRP_explanation_using_reactive-banana</a></li> <li><a href="https://wiki.haskell.org/Reactive-banana/Examples">https://wiki.haskell.org/Reactive-banana/Examples</a></li> <li><a href="https://github.com/gelisam/frp-zoo">https://github.com/gelisam/frp-zoo</a></li> </ul>

Oct 30, 201920 min

Ep 22Refactoring Yahtzee

<p>Cameron Gera and Taylor Fausak discuss using types to guide refactoring toward better design.</p> <ul> <li><a href="http://h2.jaguarpaw.co.uk/posts/good-design-and-type-safety-in-yahtzee/">http://h2.jaguarpaw.co.uk/posts/good-design-and-type-safety-in-yahtzee/</a></li> </ul>

Oct 14, 201931 min

Ep 21Event Log

<p>Cody Goodman and Taylor Fausak explore the event log that GHC can produce when compiling or running.</p> <ul> <li><a href="https://www.well-typed.com/blog/2019/09/eventful-ghc/">https://www.well-typed.com/blog/2019/09/eventful-ghc/</a></li> </ul>

Oct 7, 201914 min

Ep 20Polymorphic Rounding

<p>Sara Lichtenstein and Taylor Fausak discuss converting between numeric types with polymorphic functions.</p> <ul> <li><a href="https://typeclasses.com/featured/rounding">https://typeclasses.com/featured/rounding</a></li> </ul>

Sep 13, 201915 min

Ep 19Profunctor Optics

<p>Cameron Gera and Andres Schmois talk about practical uses for profunctor lenses and optics.</p> <ul> <li><a href="https://thomashoneyman.com/articles/practical-profunctor-lenses-optics/">https://thomashoneyman.com/articles/practical-profunctor-lenses-optics/</a></li> </ul>

Aug 20, 201918 min

Ep 18Inventing Monads

<p>Cody Goodman and Taylor Fausak walk through inventing monads from scratch in JavaScript.</p> <ul> <li><a href="https://blog.kabir.sh/posts/inventing-monads.html">https://blog.kabir.sh/posts/inventing-monads.html</a></li> </ul>

Aug 13, 201916 min

Ep 17Haskell Phrasebook

<p>Sara Lichtenstein and Andres Schmois discuss quickly learning Haskell by studying annotated examples.</p> <ul> <li><a href="https://typeclasses.com/news/2019-07-phrasebook">https://typeclasses.com/news/2019-07-phrasebook</a></li> </ul>

Aug 6, 201913 min

Ep 16Game Development

<p>Dustin Segers and Cody Goodman talk about developing video games using Haskell.</p> <ul> <li><a href="https://linearity.itch.io/peoplemon">https://linearity.itch.io/peoplemon</a></li> <li><a href="http://jxv.io/blog/2018-02-28-A-Game-in-Haskell.html">http://jxv.io/blog/2018-02-28-A-Game-in-Haskell.html</a></li> <li><a href="https://www.indiedb.com/games/nikki-and-the-robots/downloads">https://www.indiedb.com/games/nikki-and-the-robots/downloads</a></li> <li><a href="https://github.com/FailWhaleBrigade/water-wars">https://github.com/FailWhaleBrigade/water-wars</a></li> <li><a href="https://www.allureofthestars.com/">https://www.allureofthestars.com/</a></li> <li><a href="https://np.reddit.com/r/haskellgamedev">https://np.reddit.com/r/haskellgamedev</a></li> <li><a href="https://mmhaskell.com/blog/2019/3/25/making-a-glossy-game-part-1">https://mmhaskell.com/blog/2019/3/25/making-a-glossy-game-part-1</a></li> <li><a href="https://ocharles.org.uk/posts/2013-12-10-24-days-of-hackage-gloss.html">https://ocharles.org.uk/posts/2013-12-10-24-days-of-hackage-gloss.html</a></li> <li><a href="http://andrew.gibiansky.com/blog/haskell/haskell-gloss/">http://andrew.gibiansky.com/blog/haskell/haskell-gloss/</a></li> <li><a href="https://fumieval.github.io/rhythm-game-tutorial/">https://fumieval.github.io/rhythm-game-tutorial/</a></li> <li><a href="https://cdry.wordpress.com/2016/10/11/tetris-in-haskell-in-a-weekend/">https://cdry.wordpress.com/2016/10/11/tetris-in-haskell-in-a-weekend/</a></li> <li><a href="https://blog.aas.sh/posts/2018-09-10-Making-A-Game-With-Haskell-And-Apecs/">https://blog.aas.sh/posts/2018-09-10-Making-A-Game-With-Haskell-And-Apecs/</a></li> <li><a href="http://keera.co.uk/blog/2013/03/19/creating-board-games-in-haskell/">http://keera.co.uk/blog/2013/03/19/creating-board-games-in-haskell/</a></li> <li><a href="https://www.youtube.com/watch?v=1MNTerD8IuI">https://www.youtube.com/watch?v=1MNTerD8IuI</a></li> <li><a href="https://jshaskell.blogspot.com">https://jshaskell.blogspot.com</a></li> <li><a href="https://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html">https://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html</a></li> <li><a href="https://prog21.dadgum.com/23.html">https://prog21.dadgum.com/23.html</a></li> <li><a href="https://github.com/meteficha/Hipmunk">https://github.com/meteficha/Hipmunk</a></li> </ul>

Jul 30, 201912 min

Ep 15Lazy Sharing

<p>Cameron Gera and Taylor Fausak talk about how function calls are evaluated in Haskell with regards to non-strictness.</p> <ul> <li><a href="https://treszkai.github.io/2019/07/13/haskell-eval">https://treszkai.github.io/2019/07/13/haskell-eval</a></li> </ul>

Jul 23, 201918 min

Ep 14Refinement Types

<p>Andres Schmois and Cody Goodman talk about using the Refined library to turn runtime checks into types.</p> <ul> <li><a href="https://danieljharvey.github.io/posts/2019-07-05-refined-types.html">https://danieljharvey.github.io/posts/2019-07-05-refined-types.html</a></li> </ul>

Jul 16, 201915 min

Ep 13Why Haskell?

<p>Cameron Gera and Taylor Fausak talk about why the Semantic team at GitHub decided to use Haskell.</p> <ul> <li><a href="https://github.com/github/semantic/blob/eaf13783838861fe5eb6cd46d59354774a8eb88d/docs/why-haskell.md">https://github.com/github/semantic/blob/eaf13783838861fe5eb6cd46d59354774a8eb88d/docs/why-haskell.md</a></li> </ul>

Jun 10, 201925 min

Ep 12Formatting Code

<p>Dustin Segers and Cody Goodman talk about formatting Haskell source code with automated tools like Ormolu.</p> <ul> <li><a href="https://www.tweag.io/posts/2019-05-27-ormolu.html">https://www.tweag.io/posts/2019-05-27-ormolu.html</a></li> </ul>

Jun 3, 201916 min

Ep 11Profiling Performance

<p>Sara Lichtenstein and Taylor Fausak talk about improving the performance of Haskell programs by profiling them.</p> <ul> <li><a href="https://blog.jez.io/profiling-in-haskell/">https://blog.jez.io/profiling-in-haskell/</a></li> </ul>

May 27, 201919 min

Ep 10Functional Architecture

<p>Cameron Gera and Taylor Fausak talk about how Haskell encourages you to use the ports and adapters architecture.</p> <ul> <li><a href="https://blog.ploeh.dk/2016/03/18/functional-architecture-is-ports-and-adapters/">https://blog.ploeh.dk/2016/03/18/functional-architecture-is-ports-and-adapters/</a></li> </ul>

May 20, 201916 min

Ep 9Improving Haskell

<p>Jason Fry and Cameron Gera talk about four small ways to improve Haskell as a language.</p> <ul> <li><a href="https://medium.com/daml-driven/four-tweaks-to-improve-haskell-b1de9c87f816">https://medium.com/daml-driven/four-tweaks-to-improve-haskell-b1de9c87f816</a></li> </ul>

May 6, 201921 min

Ep 8Best Practices

<p>Cameron Gera and Cody Goodman talk about enforcing best practices with HLint and refactoring.</p> <ul> <li><a href="https://medium.com/co-star-engineering/continuous-improvement-with-hlint-code-smells-e490886558a1">https://medium.com/co-star-engineering/continuous-improvement-with-hlint-code-smells-e490886558a1</a></li> </ul>

Apr 29, 201914 min