<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Popular blogs – Haskell – Aelve Guide</title><id>https://guide.aelve.com/haskell/feed/category/dila2lox</id><updated>2019-05-07T08:42:25Z</updated><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/feed/category/dila2lox"/><entry><id>up13c2gu</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Kowainik</title><updated>2019-05-07T08:42:25Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://kowainik.github.io/&#34; class=&#34;item-name&#34;&gt;Kowainik&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/co-log&#34;&gt;&lt;code&gt;co-log&lt;/code&gt;&lt;/a&gt;: &lt;a href=&#34;https://kowainik.github.io/posts/2018-09-25-co-log&#34;&gt;co-log: Composable Contravariant Combinatorial Comonadic Configurable Convenient Logging&lt;/a&gt; (by Dmitrii Kovanikov)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/membrain&#34;&gt;&lt;code&gt;membrain&lt;/code&gt;&lt;/a&gt;: &lt;a href=&#34;https://kowainik.github.io/posts/membrain&#34;&gt;Insane in the Membrain&lt;/a&gt; (by Veronika Romashkina)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/tomland&#34;&gt;&lt;code&gt;tomland&lt;/code&gt;&lt;/a&gt;: &lt;a href=&#34;https://kowainik.github.io/posts/2019-01-14-tomland&#34;&gt;Bidirectional TOML serialization&lt;/a&gt; (by Dmitrii Kovanikov)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/typerep-map&#34;&gt;&lt;code&gt;typerep-map&lt;/code&gt;&lt;/a&gt;: &lt;a href=&#34;https://kowainik.github.io/posts/2018-07-11-typerep-map-step-by-step&#34;&gt;typerep-map step by step&lt;/a&gt; (by Veronika Romashkina)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/haskell/comments/8nsgll/ann_summoner_better_cabal_init_or_alternative_to/&#34;&gt;&lt;code&gt;summoner&lt;/code&gt;&lt;/a&gt;: Modern tool for scaffolding Haskell projects (by Veronika Romashkina)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/haskell/comments/a1skcb/ann_summoner120_tui_better_scaffolding/&#34;&gt;&lt;code&gt;summoner-tui&lt;/code&gt;&lt;/a&gt;: TUI for the Summoner scaffolding tool (by Veronika Romashkina)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/haskell/comments/90xyb1/ann_smuggler_ghc_source_plugin_to_manage_import/&#34;&gt;&lt;code&gt;smuggler&lt;/code&gt;&lt;/a&gt;: GHC Source pluging for automatically removing unused imports (by Dmitrii Kovanikov)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/haskell/comments/8vsvjg/ann_lifesync_manage_your_personal_configuration/&#34;&gt;&lt;code&gt;life-sync&lt;/code&gt;&lt;/a&gt;: CLI tool for managing personal configs via GitHub (by Dmitrii Kovanikov)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://kowainik.github.io/posts/2018-08-19-picnic-put-containers-into-a-backpack&#34;&gt;Picnic: put containers into a backpack&lt;/a&gt; (by Dmitrii Kovanikov)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://kowainik.github.io/posts/2018-11-18-state-pattern-matching&#34;&gt;State monad comes to help sequential pattern matching&lt;/a&gt; (by Dmitrii Kovanikov)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Guides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://kowainik.github.io/posts/2019-02-06-style-guide&#34;&gt;Haskell Style Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://kowainik.github.io/posts/2018-06-21-haskell-build-tools&#34;&gt;Haskell: Build Tools&lt;/a&gt; (by Dmitrii Kovanikov)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://kowainik.github.io/posts/2018-09-09-dhall-to-hlint&#34;&gt;Dhall to HLint: Using Dhall to generate HLint rules&lt;/a&gt; (by Veronika Romashkina)&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-up13c2gu"/></entry><entry><id>h14ap0mh</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Vaibhav Sagar</title><updated>2019-03-11T02:11:35Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://vaibhavsagar.com/archive/&#34; class=&#34;item-name&#34;&gt;Vaibhav Sagar&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://vaibhavsagar.com/blog/2017/08/13/i-haskell-a-git/&#34;&gt;I Haskell a Git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://vaibhavsagar.com/blog/2018/02/04/revisiting-monadic-parsing-haskell/&#34;&gt;Revisiting &#39;Monadic Parsing in Haskell&#39;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://vaibhavsagar.com/blog/2017/05/29/imperative-haskell/&#34;&gt;Imperative Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://vaibhavsagar.com/blog/2018/06/19/trees-that-shrink/&#34;&gt;Trees That Shrink&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://vaibhavsagar.com/blog/2018/07/29/hamts-from-scratch/&#34;&gt;HAMTs from Scratch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-h14ap0mh"/></entry><entry><id>o2uvxrrq</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Matthew Pickering</title><updated>2019-03-10T12:46:50Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://mpickering.github.io/&#34; class=&#34;item-name&#34;&gt;Matthew Pickering&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/plugins.html&#34;&gt;&lt;strong&gt;Index of resources about GHC plugins&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/posts/2017-05-17-inlining-case-study.html&#34;&gt;INLIN(E)ing: a case study&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/posts/2017-03-20-inlining-and-specialisation.html&#34;&gt;Inlining and specialisation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/posts/2018-03-20-recordsvstypeclasses.html&#34;&gt;Replacing type classes with records affects optimisation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/posts/2018-06-11-source-plugins.html&#34;&gt;Source plugins: four ways to build a typechecked Haskell expression&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/posts/2015-07-23-ghc-exactprint.html&#34;&gt;ghc-exactprint: a new foundation for refactoring tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/posts/2015-12-12-pattern-synonyms-8.html&#34;&gt;Pattern Synonyms in GHC 8.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://mpickering.github.io/posts/2015-11-22-hlint-refactor.html&#34;&gt;Automatically apply HLint suggestions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-o2uvxrrq"/></entry><entry><id>w6alyv7t</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Ryan Scott</title><updated>2019-03-10T12:41:06Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://ryanglscott.github.io/&#34; class=&#34;item-name&#34;&gt;Ryan Scott&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On QuantifiedConstraints:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://ryanglscott.github.io/2018/02/11/how-to-derive-generic-for-some-gadts/&#34;&gt;How to derive Generic for (some) GADTs using QuantifiedConstraints&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ryanglscott.github.io/2018/03/04/how-quantifiedconstraints-can-let-us-put-join-back-in-monad/&#34;&gt;How QuantifiedConstraints can let us put join back in Monad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ryanglscott.github.io/2018/06/22/quantifiedconstraints-and-the-trouble-with-traversable/&#34;&gt;QuantifiedConstraints and the trouble with Traversable&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ryanglscott.github.io/2019/02/06/proxy-arguments-in-class-methods/&#34;&gt;Proxy arguments in class methods: a comparative analysis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://ryanglscott.github.io/2016/05/12/whats-new-with-ghc-generics-in-80/&#34;&gt;What&#39;s new with GHC generics in 8.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ryanglscott.github.io/2017/04/12/improvements-to-deriving-in-ghc-82/&#34;&gt;Improvements to deriving in GHC 8.2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-w6alyv7t"/></entry><entry><id>p13tm1qz</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Sandy Maguire</title><updated>2019-03-10T11:49:35Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://reasonablypolymorphic.com&#34; class=&#34;item-name&#34;&gt;Sandy Maguire&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On the &amp;quot;higher-kinded data&amp;quot; pattern:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/higher-kinded-data/&#34;&gt;Higher-Kinded Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/free-lenses/&#34;&gt;Free Lenses for Higher-Kinded Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/hkd-not-terrible/&#34;&gt;HKD: Less Terrible than You Might Expect&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;On free monads:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/freer-monads/&#34;&gt;Freer Monads, More Better Programs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/too-fast-too-free/&#34;&gt;Freer Monads: Too Fast, Too Free&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/prospecting-free-monads/&#34;&gt;Static Analysis of Free Monads&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/type-directed-code-generation/&#34;&gt;Type-Directed Code Generation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://reasonablypolymorphic.com/blog/roles/&#34;&gt;Coercions and Roles for Dummies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Book: &lt;a href=&#34;https://thinkingwithtypes.com/&#34;&gt;&lt;strong&gt;Thinking with Types&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-p13tm1qz"/></entry><entry><id>dxm4yg1e</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Chris Penner</title><updated>2019-03-10T11:46:01Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://chrispenner.ca&#34; class=&#34;item-name&#34;&gt;Chris Penner&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://chrispenner.ca/posts/monadio-considered-harmful&#34;&gt;&lt;code&gt;MonadIO&lt;/code&gt; considered harmful&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chrispenner.ca/posts/type-tac-toe&#34;&gt;Type Tac Toe: Advanced Type Safety&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chrispenner.ca/posts/intro-to-finger-trees&#34;&gt;A Practical Introduction To Finger Trees&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chrispenner.ca/posts/typesafe-api-versioning&#34;&gt;Typesafe Versioned APIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chrispenner.ca/posts/mock-effects-with-data-kinds&#34;&gt;Mocking Effects Using Constraints And Phantom Data Kinds&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Series:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://lens-by-example.chrispenner.ca/&#34;&gt;Lens by Example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://recursion-schemes-by-example.chrispenner.ca/&#34;&gt;Recursion Schemes by Example&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-dxm4yg1e"/></entry><entry><id>fbcfht9z</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Mark Karpov</title><updated>2019-03-10T10:59:12Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://markkarpov.com/posts.html&#34; class=&#34;item-name&#34;&gt;Mark Karpov&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Long-form tutorials:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/megaparsec/megaparsec.html&#34;&gt;Megaparsec tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/tutorial/th.html&#34;&gt;Template Haskell tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/tutorial/exceptions.html&#34;&gt;Exceptions tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/smart-constructors-that-cannot-fail.html&#34;&gt;Smart constructors that cannot fail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/free-monad-considered-harmful.html&#34;&gt;Free monad considered harmful&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/migrating-text-metrics.html&#34;&gt;Migrating text-metrics to pure Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/short-bs-and-text.html&#34;&gt;Short &lt;code&gt;ByteString&lt;/code&gt; and &lt;code&gt;Text&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/existential-quantification.html&#34;&gt;Existential quantification&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/announcing-hasky-stack.html&#34;&gt;Hasky Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/announcing-mmark.html&#34;&gt;MMark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/announcing-ghc-syntax-highlighter.html&#34;&gt;GHC syntax highlighter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://markkarpov.com/post/megaparsec-more-speed-more-power.html&#34;&gt;Megaparsec 6&lt;/a&gt; and &lt;a href=&#34;https://markkarpov.com/post/megaparsec-7.html&#34;&gt;Megaparsec 7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-fbcfht9z"/></entry><entry><id>n1wjdc9c</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Bartosz Milewski</title><updated>2017-07-30T13:39:46Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://bartoszmilewski.com/&#34; class=&#34;item-name&#34;&gt;Bartosz Milewski&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-n1wjdc9c"/></entry><entry><id>z4av3b0g</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Stephen Diehl</title><updated>2017-07-30T13:37:40Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://www.stephendiehl.com/posts.html&#34; class=&#34;item-name&#34;&gt;Stephen Diehl&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Longreads:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://dev.stephendiehl.com/hask/&#34;&gt;&lt;strong&gt;What I Wish I Knew When Learning Haskell&lt;/strong&gt;&lt;/a&gt; – an immensely popular, small-book-length article filled with knowledge about Haskell (language itself, extensions, libraries, tools, and ideas)
&lt;ul&gt;
&lt;li&gt;also see: &lt;a href=&#34;http://www.stephendiehl.com/posts/essential_haskell.html&#34;&gt;A Haskell Reading List&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/llvm/&#34;&gt;Implementing a JIT Compiled Language with Haskell and LLVM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://dev.stephendiehl.com/fun/&#34;&gt;Write You a Haskell&lt;/a&gt; (incomplete)
&lt;ul&gt;
&lt;li&gt;also see: &lt;a href=&#34;http://www.stephendiehl.com/posts/essential_compilers.html&#34;&gt;A Haskell Implementation Reading List&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/posts/haskell_2017.html&#34;&gt;Reflecting on Haskell in 2016&lt;/a&gt;
(see also: &lt;a href=&#34;http://www.stephendiehl.com/posts/haskell_2016.html&#34;&gt;2015&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/posts/production.html&#34;&gt;The Joy and Agony of Haskell in Production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/posts/vim_2016.html&#34;&gt;Vim and Haskell in 2016&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/posts/monads_machine_code.html&#34;&gt;Monads to Machine Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/posts/strings.html&#34;&gt;A Sticky Stringy Quandary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dive into GHC:
&lt;a href=&#34;http://www.stephendiehl.com/posts/ghc_01.html&#34;&gt;pipeline&lt;/a&gt; |
&lt;a href=&#34;http://www.stephendiehl.com/posts/ghc_02.html&#34;&gt;intermediate forms&lt;/a&gt; |
&lt;a href=&#34;http://www.stephendiehl.com/posts/ghc_03.html&#34;&gt;targeting core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/posts/monads.html&#34;&gt;Monads Made Difficult&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.stephendiehl.com/posts/generics.html&#34;&gt;Cooking Classes with Datatype Generic Programming&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-z4av3b0g"/></entry><entry><id>ltkke5jz</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">edsko.net</title><updated>2017-07-30T13:29:51Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://edsko.net/&#34; class=&#34;item-name&#34;&gt;edsko.net&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO.&lt;/p&gt;
&lt;p&gt;He has also written &lt;a href=&#34;http://www.well-typed.com/blog/people/edsko/&#34;&gt;a lot of posts for Well-Typed&lt;/a&gt;.&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-ltkke5jz"/></entry><entry><id>e3ondnym</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Oleg Grenrus</title><updated>2017-07-30T13:29:24Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://oleg.fi/gists/&#34; class=&#34;item-name&#34;&gt;Oleg Grenrus&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On lenses:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://oleg.fi/gists/posts/2017-04-18-glassery.html&#34;&gt;Glassery&lt;/a&gt; – a huge post on the profunctor lenses hierarchy&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://oleg.fi/gists/posts/2017-04-26-indexed-poptics.html&#34;&gt;Indexed profunctor optics&lt;/a&gt; – continuation&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://oleg.fi/gists/posts/2017-03-20-affine-traversal.html&#34;&gt;Affine traversals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://oleg.fi/gists/posts/2017-04-07-mutated-lens.html&#34;&gt;Mutated lenses&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://oleg.fi/gists/posts/2017-01-17-linear-thoughts.html&#34;&gt;Linear thoughts&lt;/a&gt; – a post about linear types&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://oleg.fi/gists/posts/2017-06-16-alternative-exercises.html&#34;&gt;&lt;code&gt;Alternative&lt;/code&gt; exercise&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-e3ondnym"/></entry><entry><id>bd3lxlm2</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Joachim Breitner</title><updated>2017-07-30T13:23:56Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://www.joachim-breitner.de/blog/tag/Haskell&#34; class=&#34;item-name&#34;&gt;Joachim Breitner&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;&lt;a href=&#34;http://haskell-for-readers.nomeata.de/&#34;&gt;&lt;strong&gt;Haskell for Readers&lt;/strong&gt;&lt;/a&gt;: &amp;quot;This workshop is uniquely tailored to those who need to read, rather than write Haskell code: auditors, scientists, managers, testers etc.&amp;quot;&lt;/p&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.joachim-breitner.de/blog/717-Why_prove_programs_equivalent_when_your_compiler_can_do_that_for_you_&#34;&gt;Why prove programs equivalent when your compiler can do that for you?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.joachim-breitner.de/blog/600-On_taking_the_last_n_elements_of_a_list&#34;&gt;On taking the last n elements of a list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.joachim-breitner.de/blog/710-Showcasing_Applicative&#34;&gt;Showcasing Applicative&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.joachim-breitner.de/blog/734-Finding_bugs_in_Haskell_code_by_proving_it&#34;&gt;Finding bugs in Haskell code by proving it&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.joachim-breitner.de/blog/682-The_Incredible_Proof_Machine&#34;&gt;The Incredible Proof Machine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.joachim-breitner.de/blog/719-veggies__Haskell_code_generation_from_scratch&#34;&gt;veggies: Haskell code generation from scratch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.joachim-breitner.de/blog/610-Adding_safe_coercions_to_Haskell&#34;&gt;Adding safe coercions to Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.joachim-breitner.de/blog/705-The_new_CIS-194&#34;&gt;The new CIS-194&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-bd3lxlm2"/></entry><entry><id>ggvda0ug</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Matt Parsons</title><updated>2017-07-30T13:19:48Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://www.parsonsmatt.org/&#34; class=&#34;item-name&#34;&gt;Matt Parsons&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.parsonsmatt.org/2018/03/22/three_layer_haskell_cake.html&#34;&gt;Three Layer Haskell Cake&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.parsonsmatt.org/2016/11/18/clean_alternatives_with_maybet.html&#34;&gt;Clean Alternatives with MaybeT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.parsonsmatt.org/2017/04/08/maybe_use_a_type_parameter.html&#34;&gt;Maybe? Use a type parameter!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.parsonsmatt.org/2018/05/19/ghcid_for_the_win.html&#34;&gt;ghcid for the win!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;TODO: more?&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-ggvda0ug"/></entry><entry><id>lo12i8ea</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Justin Le</title><updated>2017-07-30T13:18:59Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://blog.jle.im/entries.html&#34; class=&#34;item-name&#34;&gt;Justin Le&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-lo12i8ea"/></entry><entry><id>uazvxwzq</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Alexis King</title><updated>2017-07-30T13:18:39Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://lexi-lambda.github.io/&#34; class=&#34;item-name&#34;&gt;Alexis King&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-uazvxwzq"/></entry><entry><id>hx747p38</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">tweag.io</title><updated>2017-07-30T13:18:15Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://blog.tweag.io/blog&#34; class=&#34;item-name&#34;&gt;tweag.io&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linear types in Haskell:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.tweag.io/posts/2017-03-13-linear-types.html&#34;&gt;Linear types make performance more predictable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/posts/2017-08-24-linear-types-packed-data.html&#34;&gt;Compact normal forms + linear types = efficient network communication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/posts/2017-08-03-linear-typestates.html&#34;&gt;Encode state transitions in types using linear types&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/inline-java&#34;&gt;&lt;code&gt;inline-java&lt;/code&gt;&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.tweag.io/posts/2016-10-17-inline-java.html&#34;&gt;A new ecosystem for Haskell: the JVM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/posts/2017-09-22-inline-java-ghc-plugin.html&#34;&gt;GHC compiler plugins in the wild:
typing Java&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/blog/programming-r-at-native-speed-using-haskell&#34;&gt;Programming R at native speed using Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/posts/2017-08-09-array-programming-in-haskell.html&#34;&gt;Array programming in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/blog/haskell-meets-large-scale-distributed-analytics&#34;&gt;Haskell meets large scale distributed analytics with Spark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/posts/2017-08-01-chak-joins-tweag.html&#34;&gt;I am a functional programming evangelist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.tweag.io/posts/2017-07-27-streaming-programs.html&#34;&gt;Streaming programs without laziness: a short primer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tweag.io/posts/2019-02-13-types-got-you.html&#34;&gt;The types got you&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-hx747p38"/></entry><entry><id>takxouxv</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Nikita Volkov</title><updated>2017-07-30T13:17:27Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://nikita-volkov.github.io/&#34; class=&#34;item-name&#34;&gt;Nikita Volkov&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/record&#34;&gt;record&lt;/a&gt;:
&lt;a href=&#34;http://nikita-volkov.github.io/record/&#34;&gt;Announcing the first class records library&lt;/a&gt;
(one of the top /r/haskell posts overall)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/compound-types&#34;&gt;compound-types&lt;/a&gt;:
&lt;a href=&#34;http://nikita-volkov.github.io/first-class-sums-and-products/&#34;&gt;First-class sums and products&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/refined&#34;&gt;refined&lt;/a&gt;:
&lt;a href=&#34;http://nikita-volkov.github.io/refined/&#34;&gt;Announcing the refinement types library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/stm-containers&#34;&gt;stm-containers&lt;/a&gt;:
&lt;a href=&#34;http://nikita-volkov.github.io/stm-containers/&#34;&gt;Announcing the &amp;quot;stm-containers&amp;quot; library&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://nikita-volkov.github.io/if-haskell-were-strict/&#34;&gt;If Haskell were strict, what would the laziness be like?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://nikita-volkov.github.io/a-taste-of-state-parsers-are-easy/&#34;&gt;A taste of State: parsers are easy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://nikita-volkov.github.io/profiling-cabal-projects/&#34;&gt;Tutorial: Profiling Cabal projects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-takxouxv"/></entry><entry><id>mse536ps</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">two-wrongs.com</title><updated>2017-07-30T13:17:03Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://two-wrongs.com/&#34; class=&#34;item-name&#34;&gt;two-wrongs.com&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://two-wrongs.com/dynamic-dispatch-in-haskell-how-to-make-code-extendable&#34;&gt;Dynamic Dispatch in Haskell, or: How Can I Make My Code Extendable?&lt;/a&gt;
(also see &lt;a href=&#34;https://two-wrongs.com/extendable-data-in-haskell-pt-2&#34;&gt;part 2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://two-wrongs.com/the-what-are-monads-fallacy&#34;&gt;The &amp;quot;What Are Monads?&amp;quot; Fallacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://two-wrongs.com/on-competing-with-c-using-haskell&#34;&gt;On Competing with C Using Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://two-wrongs.com/haskell-time-library-tutorial&#34;&gt;A Haskell &lt;code&gt;time&lt;/code&gt; Library Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://two-wrongs.com/parser-combinators-parsing-for-haskell-beginners&#34;&gt;Parser Combinators: Parsing for Haskell Beginners&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-mse536ps"/></entry><entry><id>xxi0spby</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Heinrich Apfelmus</title><updated>2017-07-30T12:10:01Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://apfelmus.nfshost.com/&#34; class=&#34;item-name&#34;&gt;Heinrich Apfelmus&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://apfelmus.nfshost.com/articles/monoid-fingertree.html&#34;&gt;Monoids and Finger Trees&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apfelmus.nfshost.com/blog/2013/08/21-space-invariants.html&#34;&gt;Reasoning about space leaks with space invariants&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://apfelmus.nfshost.com/blog/2012/03/29-frp-three-principles-bidirectional-gui.html&#34;&gt;FRP - Three principles for GUI elements with bidirectional data flow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-xxi0spby"/></entry><entry><id>cwx6irj2</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Luke Palmer</title><updated>2017-07-30T12:09:36Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://lukepalmer.wordpress.com/&#34; class=&#34;item-name&#34;&gt;Luke Palmer&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://lukepalmer.wordpress.com/2010/01/24/haskell-antipattern-existential-typeclass/&#34;&gt;Haskell Antipattern: Existential Typeclass&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lukepalmer.wordpress.com/2010/03/19/haskells-big-three/&#34;&gt;Haskell&#39;s Big Three&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lukepalmer.wordpress.com/2011/05/20/the-whole-program-fallacy/&#34;&gt;The Whole Program Fallacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lukepalmer.wordpress.com/2010/11/17/searchable-data-types/&#34;&gt;Searchable Data Types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lukepalmer.wordpress.com/2008/05/02/enumerating-a-context-free-language/&#34;&gt;Enumerating a Context-Free Language&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-cwx6irj2"/></entry><entry><id>uyooi4o9</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">The Comonad.Reader</title><updated>2017-07-30T12:08:30Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://comonad.com/reader/&#34; class=&#34;item-name&#34;&gt;The Comonad.Reader&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;A collective blog about various semi-advanced things (category theory, etc) by Edward Kmett, Dan Doel, and Gershom Bazerman.&lt;/p&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://comonad.com/reader/2014/letter-to-a-young-haskell-enthusiast/&#34;&gt;Letter to a Young Haskell Enthusiast&lt;/a&gt; (non-technical)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://comonad.com/reader/2012/abstracting-with-applicatives/&#34;&gt;Abstracting with Applicatives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://comonad.com/reader/2015/free-monoids-in-haskell/&#34;&gt;Free Monoids in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://comonad.com/reader/2012/mirrored-lenses/&#34;&gt;Mirrored Lenses&lt;/a&gt; – a post that led to the generalization of lenses as they are in &lt;a href=&#34;https://hackage.haskell.org/package/lens&#34;&gt;lens&lt;/a&gt; today&lt;/li&gt;
&lt;li&gt;Free Monads for Less:
&lt;a href=&#34;http://comonad.com/reader/2011/free-monads-for-less/&#34;&gt;part 1&lt;/a&gt; – Codensity,
&lt;a href=&#34;http://comonad.com/reader/2011/free-monads-for-less-2/&#34;&gt;part 2&lt;/a&gt; – Yoneda,
&lt;a href=&#34;http://comonad.com/reader/2011/free-monads-for-less-3/&#34;&gt;part 3&lt;/a&gt; – Yielding IO&lt;/li&gt;
&lt;li&gt;What Constraints Entail (posts about &lt;code&gt;-XConstraintKinds&lt;/code&gt;):
&lt;a href=&#34;http://comonad.com/reader/2011/what-constraints-entail-part-1/&#34;&gt;part 1&lt;/a&gt;,
&lt;a href=&#34;http://comonad.com/reader/2011/what-constraints-entail-part-2/&#34;&gt;part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://comonad.com/reader/2015/on-the-unsafety-of-interleaved-io/&#34;&gt;On the unsafety of interleaved I/O&lt;/a&gt; – why &lt;code&gt;unsafeInterleavedIO&lt;/code&gt; is called &lt;code&gt;unsafe&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-uyooi4o9"/></entry><entry><id>kkgpwa4a</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Johan Tibell</title><updated>2017-07-30T12:08:08Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://blog.johantibell.com/&#34; class=&#34;item-name&#34;&gt;Johan Tibell&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-kkgpwa4a"/></entry><entry><id>l4t1wsiw</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Neil Mitchell</title><updated>2017-07-30T12:07:37Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://neilmitchell.blogspot.com&#34; class=&#34;item-name&#34;&gt;Neil Mitchell&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-l4t1wsiw"/></entry><entry><id>ly0zeg7h</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Dan Piponi</title><updated>2017-07-30T12:07:13Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://blog.sigfpe.com/&#34; class=&#34;item-name&#34;&gt;Dan Piponi&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-ly0zeg7h"/></entry><entry><id>ij4bysuq</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Jasper Van der Jeugt</title><updated>2017-07-30T12:06:15Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://jaspervdj.be/posts.html&#34; class=&#34;item-name&#34;&gt;Jasper Van der Jeugt&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2014-02-25-profiteur-ghc-prof-visualiser.html&#34;&gt;Profiteur: a visualiser for Haskell GHC .prof files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2013-01-16-hakyll-4.0.html&#34;&gt;Hakyll 4.0&lt;/a&gt;
(&lt;a href=&#34;https://jaspervdj.be/hakyll/&#34;&gt;Hakyll&lt;/a&gt; is a popular static blog generator)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2013-10-22-websockets-0.8.html&#34;&gt;WebSockets 0.8&lt;/a&gt; and
&lt;a href=&#34;https://jaspervdj.be/posts/2017-04-16-websockets-0.11.html&#34;&gt;WebSockets 0.11&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2015-01-20-haskell-design-patterns-extended-modules.html&#34;&gt;Haskell Design Patterns: &lt;code&gt;.Extended&lt;/code&gt; Modules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2014-11-27-comonads-image-processing.html&#34;&gt;Image Processing with Comonads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2016-05-11-ad-hoc-datatypes.html&#34;&gt;On Ad-hoc Datatypes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2015-02-24-lru-cache.html&#34;&gt;Writing an LRU Cache in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jaspervdj.be/posts/2017-01-17-lazy-io-graphs.html&#34;&gt;Lazy I/O and graphs: Winterfell to King&#39;s Landing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-ij4bysuq"/></entry><entry><id>jheefsz2</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Chris Smith</title><updated>2017-07-30T11:47:29Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://cdsmith.wordpress.com/&#34; class=&#34;item-name&#34;&gt;Chris Smith&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;TODO&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-jheefsz2"/></entry><entry><id>qtxj26oc</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Don Stewart</title><updated>2017-07-30T11:46:14Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://donsbot.wordpress.com/&#34; class=&#34;item-name&#34;&gt;Don Stewart&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Don doesn&#39;t post much nowadays (apart from advertising Haskell vacancies: &lt;a href=&#34;https://donsbot.wordpress.com/2017/07/26/software-engineer-static-analysis-at-facebook/&#34;&gt;1&lt;/a&gt;, &lt;a href=&#34;https://donsbot.wordpress.com/2017/01/31/haskell-developer-roles-at-standard-chartered/&#34;&gt;2&lt;/a&gt;, &lt;a href=&#34;https://donsbot.wordpress.com/2016/09/29/haskell-dev-roles-with-strats-standard-chartered/&#34;&gt;3&lt;/a&gt;), but some of his old posts are still good.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://donsbot.wordpress.com/2010/02/21/smoking-fast-haskell-code-using-ghcs-new-llvm-codegen/&#34;&gt;Smoking fast Haskell code using GHC’s new LLVM codegen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://donsbot.wordpress.com/2009/03/09/evolving-faster-haskell-programs/&#34;&gt;Evolving faster Haskell programs&lt;/a&gt; and
&lt;a href=&#34;https://donsbot.wordpress.com/2010/03/01/evolving-faster-haskell-programs-now-with-llvm/&#34;&gt;Evolving faster Haskell programs (now with LLVM!)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://donsbot.wordpress.com/2010/08/17/practical-haskell/&#34;&gt;Practical Haskell: scripting with types&lt;/a&gt; (slides)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://donsbot.wordpress.com/2009/10/11/self-optimizing-data-structures-using-types-to-make-lists-faster/&#34;&gt;Self-optimizing data structures: using types to make lists faster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://donsbot.wordpress.com/2009/03/16/visualising-the-haskell-universe/&#34;&gt;Visualising the Haskell universe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://donsbot.wordpress.com/2009/09/03/parallel-programming-in-haskell-a-reading-list/&#34;&gt;Parallel programming in Haskell: a reading list&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-qtxj26oc"/></entry><entry><id>yy1afc3k</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Brent Yorgey</title><updated>2017-07-30T11:45:41Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://byorgey.wordpress.com/&#34; class=&#34;item-name&#34;&gt;Brent Yorgey&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/diagrams&#34;&gt;diagrams&lt;/a&gt;:
the &lt;a href=&#34;https://byorgey.wordpress.com/2014/01/17/diagrams-1-0/&#34;&gt;announcement for version 1.0&lt;/a&gt; (also see
&lt;a href=&#34;https://byorgey.wordpress.com/2009/01/31/diagrams-02-release/&#34;&gt;0.2&lt;/a&gt;,
&lt;a href=&#34;https://byorgey.wordpress.com/2012/03/09/announcing-diagrams-0-5/&#34;&gt;0.5&lt;/a&gt;, and
&lt;a href=&#34;https://byorgey.wordpress.com/2012/12/11/diagrams-0-6/&#34;&gt;0.6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/MonadRandom&#34;&gt;MonadRandom&lt;/a&gt;: the recent &lt;a href=&#34;https://byorgey.wordpress.com/2017/01/03/monadrandom-0-5-released/&#34;&gt;announcement for version 0.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.haskell.org/Typeclassopedia&#34;&gt;&lt;strong&gt;the Typoclassopedia&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2012/11/05/foldr-is-made-of-monoids/&#34;&gt;foldr is made of monoids&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2010/04/03/haskell-anti-pattern-incremental-ad-hoc-parameter-abstraction/&#34;&gt;Haskell anti-pattern: incremental ad-hoc parameter abstraction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;On random generators for recursive algebraic data types:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2016/03/23/boltzmann-sampling-for-generic-arbitrary-instances/&#34;&gt;Boltzmann sampling for generic Arbitrary instances&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2016/09/20/the-generic-random-library-part-1-simple-generic-arbitrary-instances/&#34;&gt;Simple generic Arbitrary instances&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2013/04/25/random-binary-trees-with-a-size-limited-critical-boltzmann-sampler-2/&#34;&gt;Random binary trees with a size-limited critical Boltzmann sampler&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;On combinatorial species:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2009/07/24/introducing-math-combinatorics-species/&#34;&gt;Introducing Math.Combinatorics.Species!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2009/07/30/primitive-species-and-species-operations/&#34;&gt;Primitive species and species operations: part 1&lt;/a&gt; and &lt;a href=&#34;https://byorgey.wordpress.com/2009/07/31/primitive-species-and-species-operations-part-ii/&#34;&gt;part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://byorgey.wordpress.com/2010/04/07/functional-pearl-on-combinatorial-species/&#34;&gt;&lt;strong&gt;Functional pearl on combinatorial species&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;all posts can be found under the &lt;a href=&#34;https://byorgey.wordpress.com/tag/species&#34;&gt;“species” tag&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-yy1afc3k"/></entry><entry><id>nmh8y9fb</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Roman Cheplyaka</title><updated>2017-07-30T11:45:11Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://ro-che.info/articles/haskell&#34; class=&#34;item-name&#34;&gt;Roman Cheplyaka&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2014-04-24-lens-unidiomatic.html&#34;&gt;Lens is unidiomatic Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2013-02-19-smallcheck.html&#34;&gt;Announcing SmallCheck-1.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2012-04-08-space-usage-reasoning.html&#34;&gt;Reasoning about space usage in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2014-06-11-problem-with-mtl.html&#34;&gt;The problem with mtl&lt;/a&gt;
(also see the &lt;a href=&#34;https://ro-che.info/articles/extensible-effects&#34;&gt;extensible effects&lt;/a&gt; series)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2017-01-10-nested-loop-space-leak&#34;&gt;Nested monadic loops may cause space leaks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2017-06-17-generic-unification&#34;&gt;Generic unification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2016-04-02-descending-sort-haskell&#34;&gt;Descending sort in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ro-che.info/articles/2017-07-26-haskell-library-in-c-project&#34;&gt;Haskell library in a C project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also see his &lt;a href=&#34;https://ro-che.info/ccc/&#34;&gt;Cartesian Closed Comics&lt;/a&gt; (comics about Haskell and programming).&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-nmh8y9fb"/></entry><entry><id>vh0qo6yj</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Chris Done</title><updated>2017-07-30T11:44:36Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://chrisdone.com/archive&#34; class=&#34;item-name&#34;&gt;Chris Done&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/lucid&#34;&gt;&lt;code&gt;lucid&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://chrisdone.com/posts/lucid&#34;&gt;Templating DSL for HTML&lt;/a&gt; and
&lt;a href=&#34;http://chrisdone.com/posts/lucid2&#34;&gt;Lucid 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/hindent&#34;&gt;&lt;code&gt;hindent&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://chrisdone.com/posts/hindent&#34;&gt;A Haskell indenter&lt;/a&gt; and
&lt;a href=&#34;http://chrisdone.com/posts/hindent-5&#34;&gt;hindent 5: One style to rule them all&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/shell-conduit&#34;&gt;&lt;code&gt;shell-conduit&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://chrisdone.com/posts/shell-conduit&#34;&gt;Write shell scripts in Haskell with Conduit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/path&#34;&gt;&lt;code&gt;path&lt;/code&gt;&lt;/a&gt;: &lt;a href=&#34;http://chrisdone.com/posts/path-package&#34;&gt;The path package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/formatting&#34;&gt;&lt;code&gt;formatting&lt;/code&gt;&lt;/a&gt;: &lt;a href=&#34;http://chrisdone.com/posts/formatting&#34;&gt;Formatting in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/fast-haskell-c-parsing-xml&#34;&gt;Fast Haskell: Competing with C at parsing XML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/haskellers&#34;&gt;How Haskellers are seen and see themselves&lt;/a&gt; (not a technical post)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/haskell-repl&#34;&gt;Use the REPL, Luke&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/haskell-lisp-philosophy-difference&#34;&gt;A philosophical difference between Haskell and Lisp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/haskell-constraint-trick&#34;&gt;The constraint trick for instances&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/haskell-wishlist&#34;&gt;My Haskell tooling wishlist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/existentials&#34;&gt;Existentials and the heterogenous list fallacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/identity-monad&#34;&gt;The Identity monad trick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/data-typeable&#34;&gt;Typeable and Data in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://chrisdone.com/posts/twitter-problem-loeb&#34;&gt;Twitter waterflow problem and loeb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-vh0qo6yj"/></entry><entry><id>rmfupnzx</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Well-Typed</title><updated>2017-07-30T11:42:14Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://www.well-typed.com/blog/&#34; class=&#34;item-name&#34;&gt;Well-Typed&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/90/&#34;&gt;Fixing &lt;code&gt;foldl&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/94/&#34;&gt;Understanding the stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/2015/07/checked-exceptions/&#34;&gt;Lightweight Checked Exceptions in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/2016/09/sharing-conduit/&#34;&gt;Sharing, Space Leaks, and Conduit and friends&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/2016/01/efficient-queues/&#34;&gt;Efficient Amortised and Real-Time Queues in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/2015/11/implementing-a-minimal-version-of-haskell-servant/&#34;&gt;Implementing a minimal version of haskell-servant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.well-typed.com/blog/2019/01/qsm-in-depth/&#34;&gt;An in-depth look at &lt;code&gt;quickcheck-state-machine&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cloud Haskell:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/2012/10/the-new-cloud-haskell&#34;&gt;The New Cloud Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Communication Patterns in Cloud Haskell:
&lt;a href=&#34;http://www.well-typed.com/blog/2012/10/communication-patterns-in-cloud-haskell-part-1&#34;&gt;part 1&lt;/a&gt;,
&lt;a href=&#34;http://www.well-typed.com/blog/2012/10/communication-patterns-in-cloud-haskell-part-2&#34;&gt;part 2&lt;/a&gt;,
&lt;a href=&#34;http://www.well-typed.com/blog/2012/10/communication-patterns-in-cloud-haskell-part-3&#34;&gt;part 3&lt;/a&gt;,
&lt;a href=&#34;http://www.well-typed.com/blog/2012/10/communication-patterns-in-cloud-haskell-part-4&#34;&gt;part 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;-XOverloadedRecordFields&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/84/&#34;&gt;Overloaded record fields for GHC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.well-typed.com/blog/2015/03/overloadedrecordfields-revived/&#34;&gt;OverloadedRecordFields revived&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cabal, Hackage, and the package ecosystem:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How we might abolish Cabal Hell:
&lt;a href=&#34;http://www.well-typed.com/blog/2014/09/how-we-might-abolish-cabal-hell-part-1/&#34;&gt;part 1&lt;/a&gt;,
&lt;a href=&#34;http://www.well-typed.com/blog/2015/01/how-we-might-abolish-cabal-hell-part-2/&#34;&gt;part 2&lt;/a&gt;,
&lt;a href=&#34;http://www.well-typed.com/blog/2015/03/qualified-goals/&#34;&gt;improving the Cabal solver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Improving Hackage security:
&lt;a href=&#34;http://www.well-typed.com/blog/2015/04/improving-hackage-security/&#34;&gt;introduction&lt;/a&gt;,
&lt;a href=&#34;http://www.well-typed.com/blog/2015/07/hackage-security-alpha&#34;&gt;alpha release&lt;/a&gt;,
&lt;a href=&#34;http://www.well-typed.com/blog/2015/08/hackage-security-beta&#34;&gt;beta release&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-rmfupnzx"/></entry><entry><id>we4x65pp</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Gabriel Gonzalez</title><updated>2017-07-30T11:41:46Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://www.haskellforall.com/&#34; class=&#34;item-name&#34;&gt;Gabriel Gonzalez&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/optparse-generic&#34;&gt;&lt;code&gt;optparse-generic&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://www.haskellforall.com/2016/02/auto-generate-command-line-interface.html&#34;&gt;Auto-generate a command line interface from a data type&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/dhall&#34;&gt;&lt;code&gt;dhall&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://www.haskellforall.com/2016/12/dhall-non-turing-complete-configuration.html&#34;&gt;A non-Turing-complete configuration language&lt;/a&gt; and
&lt;a href=&#34;http://www.haskellforall.com/2017/06/dhall-is-now-template-engine.html&#34;&gt;Dhall is now a template engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/morte&#34;&gt;&lt;code&gt;morte&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://www.haskellforall.com/2014/09/morte-intermediate-language-for-super.html&#34;&gt;An intermediate language for super-optimizing functional programs&lt;/a&gt; and
&lt;a href=&#34;http://www.haskellforall.com/2015/05/the-internet-of-code.html&#34;&gt;The internet of code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/pipes&#34;&gt;&lt;code&gt;pipes&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://www.haskellforall.com/2013/09/pipes-40-simpler-types-and-api.html&#34;&gt;pipes-4.0&lt;/a&gt;,
&lt;a href=&#34;http://www.haskellforall.com/2013/09/perfect-streaming-using-pipes-bytestring.html&#34;&gt;pipes-bytestring-1.0.0&lt;/a&gt;,
&lt;a href=&#34;http://www.haskellforall.com/2013/06/pipes-parse-100-pushback-delimited.html&#34;&gt;pipes-parse-1.0.0&lt;/a&gt;, etc.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hackage.haskell.org/package/typed-spreadsheet&#34;&gt;&lt;code&gt;typed-spreadsheet&lt;/code&gt;&lt;/a&gt;:
&lt;a href=&#34;http://www.haskellforall.com/2015/11/haskell-native-spreadsheets.html&#34;&gt;Haskell-native spreadsheets&lt;/a&gt; and
&lt;a href=&#34;http://www.haskellforall.com/2015/11/interactive-and-composable-charts.html&#34;&gt;Interactive and composable charts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Miscellaneous popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/Gabriel439/post-rfc/blob/master/sotu.md&#34;&gt;&lt;strong&gt;State of the Haskell ecosystem&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2015/10/explicit-is-better-than-implicit.html&#34;&gt;Explicit is better than implicit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2015/09/how-to-make-your-haskell-code-more.html&#34;&gt;How to make your Haskell code more readable to non-Haskell programmers
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2016/04/worst-practices-should-be-hard.html&#34;&gt;Worst practices should be hard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2015/01/use-haskell-for-shell-scripting.html&#34;&gt;Use Haskell for shell scripting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Introductions and explanations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2014/03/introductions-to-advanced-haskell-topics.html&#34;&gt;Introductions to advanced Haskell topics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html&#34;&gt;Program imperatively using Haskell lenses&lt;/a&gt; – one of the most popular &lt;a href=&#34;https://hackage.haskell.org/package/lens&#34;&gt;lens&lt;/a&gt; tutorials&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2015/12/compile-time-memory-safety-using-liquid.html&#34;&gt;Compile-time memory safety using Liquid Haskell&lt;/a&gt; – an introduction to &lt;a href=&#34;https://ucsd-progsys.github.io/liquidhaskell-blog/&#34;&gt;Liquid Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2012/08/the-category-design-pattern.html&#34;&gt;The category design pattern&lt;/a&gt; and &lt;a href=&#34;http://www.haskellforall.com/2012/09/the-functor-design-pattern.html&#34;&gt;The functor design pattern&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2012/12/the-continuation-monad.html&#34;&gt;The continuation monad&lt;/a&gt; – an introduction to the &lt;a href=&#34;http://hackage.haskell.org/package/transformers/docs/Control-Monad-Trans-Cont.html&#34;&gt;Cont&lt;/a&gt; monad&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2013/02/you-could-have-invented-comonads.html&#34;&gt;Comonads are objects&lt;/a&gt; – an introduction to &lt;a href=&#34;http://hackage.haskell.org/package/comonad/docs/Control-Comonad.html&#34;&gt;comonads&lt;/a&gt; with examples&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2012/06/you-could-have-invented-free-monads.html&#34;&gt;Why free monads matter&lt;/a&gt; and &lt;a href=&#34;http://www.haskellforall.com/2012/07/purify-code-using-free-monads.html&#34;&gt;Purify code using free monads&lt;/a&gt; – posts about &lt;a href=&#34;https://hackage.haskell.org/package/free&#34;&gt;free monads&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For beginners:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2015/10/basic-haskell-examples.html&#34;&gt;Basic Haskell examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2015/12/how-to-contribute-to-haskell-ecosystem.html&#34;&gt;How to contribute to the Haskell ecosystem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2014/10/how-to-desugar-haskell-code.html&#34;&gt;How to desugar Haskell code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2015/10/polymorphism-for-dummies.html&#34;&gt;Polymorphism for dummies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2013/12/equational-reasoning.html&#34;&gt;Equational reasoning&lt;/a&gt; (also see &lt;a href=&#34;http://www.haskellforall.com/2014/07/equational-reasoning-at-scale.html&#34;&gt;Equational reasoning at scale&lt;/a&gt; and &lt;a href=&#34;http://www.haskellforall.com/2015/03/algebraic-side-effects.html&#34;&gt;Algebraic side effects&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.haskellforall.com/2013/01/introduction-to-haskell-io.html&#34;&gt;Introduction to Haskell IO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-we4x65pp"/></entry><entry><id>dd8as2rf</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Bryan O&#39;Sullivan</title><updated>2017-07-30T11:38:10Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://www.serpentine.com/blog/&#34; class=&#34;item-name&#34;&gt;Bryan O&amp;#39;Sullivan&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Stories of performance tuning and bug-hunting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2015/05/13/sometimes-the-old-ways-are-the-best/&#34;&gt;Sometimes, the old ways are the best&lt;/a&gt; (&lt;code&gt;aeson&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2013/03/20/whats-good-for-c-is-good-for-haskell/&#34;&gt;What&#39;s good for C++ is good for... Haskell!?&lt;/a&gt; (&lt;code&gt;text&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2014/05/31/attoparsec/&#34;&gt;A major upgrade to attoparsec: more speed, more power&lt;/a&gt; (&lt;code&gt;attoparsec&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2012/09/12/the-case-of-the-mysterious-explosion-in-space/&#34;&gt;The case of the mysterious explosion in space&lt;/a&gt; (&lt;code&gt;text&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2012/06/25/yes-its-worth-looking-at-the-small-stuff/&#34;&gt;Performance: yes, it’s worth looking at the small stuff&lt;/a&gt; (&lt;code&gt;text&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2013/12/30/testing-a-utf-8-decoder-with-vigour/&#34;&gt;Testing a UTF-8 decoder with vigour&lt;/a&gt; (&lt;code&gt;text&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Various posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2014/08/08/criterion-1-0/&#34;&gt;Criterion 1.0 announcement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2011/06/29/here-be-dragons-advances-in-problems-you-didnt-even-know-you-had/&#34;&gt;Here be dragons: advances in problems you didn’t even know you had&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.serpentine.com/blog/2014/03/18/book-review-parallel-and-concurrent-programming-in-haskell/&#34;&gt;Book review: Parallel and Concurrent Programming in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-dd8as2rf"/></entry><entry><id>u706t1i3</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Conal Elliott</title><updated>2017-07-29T12:20:22Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://conal.net/blog&#34; class=&#34;item-name&#34;&gt;Conal Elliott&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Note: Conal has also written a lot of papers. They can be found on his &lt;a href=&#34;http://conal.net/papers/&#34;&gt;papers page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Miscellaneous popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/can-functional-programming-be-liberated-from-the-von-neumann-paradigm&#34;&gt;Can functional programming be liberated from the von Neumann paradigm?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/3d-rendering-as-functional-reactive-programming&#34;&gt;3D rendering as functional reactive programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/everything-is-a-function-in-haskell&#34;&gt;“Everything is a function” in Haskell?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On purity:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/the-c-language-is-purely-functional&#34;&gt;The C language is purely functional&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/notions-of-purity-in-haskell&#34;&gt;Notions of purity in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On partial values, &lt;code&gt;unamb&lt;/code&gt;, &lt;code&gt;lub&lt;/code&gt;, etc:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/functional-concurrency-with-unambiguous-choice&#34;&gt;Functional concurrency with unambiguous choice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/merging-partial-values&#34;&gt;Merging partial values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/nonstrict-memoization&#34;&gt;Non-strict memoization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/exact-numeric-integration&#34;&gt;Exact numeric integration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On cartesian closed categories (also see his &lt;a href=&#34;http://conal.net/papers/compiling-to-categories/&#34;&gt;“Compiling to categories”&lt;/a&gt; paper):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/haskell-to-hardware-via-cccs&#34;&gt;From Haskell to hardware via cartesian closed categories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/overloading-lambda&#34;&gt;Overloading lambda&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/optimizing-cccs&#34;&gt;Optimizing CCCs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://conal.net/blog/posts/circuits-as-a-bicartesian-closed-category&#34;&gt;Circuits as a bicartesian closed category&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-u706t1i3"/></entry><entry><id>wtha785i</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Oliver Charles</title><updated>2017-07-26T20:16:20Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://ocharles.org.uk/blog/&#34; class=&#34;item-name&#34;&gt;Oliver Charles&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Series:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/pages/2012-12-01-24-days-of-hackage.html&#34;&gt;24 Days of Hackage (2012)&lt;/a&gt; – a series of posts about interesting packages on Hackage&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/pages/2013-12-01-24-days-of-hackage.html&#34;&gt;24 Days of Hackage (2013)&lt;/a&gt; – same, but a year later and about different packages&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/pages/2014-12-01-24-days-of-ghc-extensions.html&#34;&gt;24 Days of GHC Extensions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular standalone posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/posts/2014-02-04-how-i-develop-with-nixos.html&#34;&gt;How I Develop with Nix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/posts/2016-01-26-transformers-free-monads-mtl-laws.html&#34;&gt;Monad transformers, free monads, mtl, laws and a new approach&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html&#34;&gt;Building an Asteroids Clone in Haskell using Netwire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/posts/2014-02-25-dependent-types-and-plhaskell.html&#34;&gt;Interpreting Haskell Inside PostgreSQL With Singleton Types&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/posts/2014-07-13-announcing-socket-io-for-haskell.html&#34;&gt;Announcing engine-io and socket-io for Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/posts/2015-09-07-announcing-sdl2.html&#34;&gt;Announcing a new set of high-level SDL2 bindings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ocharles.org.uk/blog/posts/2016-04-23-transformers-eff.html&#34;&gt;Announcing transformers-eff&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-wtha785i"/></entry><entry><id>qf7i10a4</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Yesod framework&#39;s blog</title><updated>2017-07-08T21:58:00Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://www.yesodweb.com/&#34; class=&#34;item-name&#34;&gt;Yesod framework&amp;#39;s blog&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;News about &lt;a href=&#34;https://hackage.haskell.org/package/yesod&#34;&gt;Yesod&lt;/a&gt; (a web framework) mixed with posts about various other things, mostly by Greg Weber and Michael Snoyman.&lt;/p&gt;
&lt;p&gt;Popular announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yesodweb.com/blog/2015/07/http2&#34;&gt;Warp now supports HTTP/2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yesodweb.com/blog/2012/04/announcing-yesod-1-0&#34;&gt;Announcing Yesod 1.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yesodweb.com/blog/2015/08/ssl-server-test&#34;&gt;Warp TLS: Getting rating A from the SSL Server test&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yesodweb.com/blog/2011/09/limitations-of-haskell&#34;&gt;The Limitations of Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yesodweb.com/blog/2015/02/awesome-haskell-community&#34;&gt;The awesome Haskell community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yesodweb.com/blog/2015/02/brittle-haskell-toolchain&#34;&gt;The brittle Haskell toolchain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.yesodweb.com/blog/2016/03/why-i-prefer-typeclass-based-libraries&#34;&gt;Why I prefer typeclass-based libraries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-qf7i10a4"/></entry><entry><id>xzr4y17u</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">Edward Z. Yang</title><updated>2017-07-08T21:40:49Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;http://blog.ezyang.com/&#34; class=&#34;item-name&#34;&gt;Edward Z. Yang&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2014/01/so-you-want-to-add-a-new-concurrency-primitive-to-ghc/&#34;&gt;So you want to add a new concurrency primitive to GHC...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2016/07/what-template-haskell-gets-wrong-and-racket-gets-right/&#34;&gt;What Template Haskell gets wrong and Racket gets right&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2013/01/the-ghc-scheduler/&#34;&gt;The GHC scheduler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2014/05/parsec-try-a-or-b-considered-harmful/&#34;&gt;Parsec: “try a &amp;lt;|&amp;gt; b” considered harmful&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Posts about Backpack (an advanced module system Edward has implemented):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2016/10/try-backpack-ghc-backpack/&#34;&gt;Try Backpack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2014/08/whats-a-module-system-good-for-anyway/&#34;&gt;What&#39;s a module system good for anyway?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2016/09/the-base-of-a-string-theory-for-haskell/&#34;&gt;The Base of a String Theory for Haskell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Posts about package management:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2016/05/announcing-cabal-new-build-nix-style-local-builds/&#34;&gt;Announcing cabal new-build: Nix-style local builds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2016/08/cabal-new-build-is-a-package-manager/&#34;&gt;cabal new-build is a package manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.ezyang.com/2014/08/the-fundamental-problem-of-programming-language-package-management/&#34;&gt;The fundamental problem of programming language package management&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-xzr4y17u"/></entry><entry><id>xo6maz0o</id><title xmlns:ns="http://www.w3.org/2005/Atom" ns:type="text">FPComplete</title><updated>2017-07-08T21:38:31Z</updated><content xmlns:ns="http://www.w3.org/2005/Atom" ns:type="html">&lt;h1&gt;  &lt;a href=&#34;https://www.fpcomplete.com/blog&#34; class=&#34;item-name&#34;&gt;FPComplete&lt;/a&gt;

&lt;/h1&gt;&lt;p&gt;Pretty much everything: Haskell design patterns and best practices, announces of new libraries and projects by FPComplete engineers, tutorials, etc.&lt;/p&gt;
&lt;p&gt;Popular announcements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2015/05/inline-c&#34;&gt;inline-c: Call C functions from Haskell without bindings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2016/05/weigh-package&#34;&gt;weigh: Measuring allocations in Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2015/06/announcing-first-public-beta-stack&#34;&gt;First public beta of Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2015/05/school-of-haskell-2.0&#34;&gt;School of Haskell 2.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Popular posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2015/06/why-is-stack-not-cabal&#34;&gt;Why is stack not cabal?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2015/02/primitive-haskell&#34;&gt;Primitive Haskell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2015/05/haskell-web-server-in-5mb&#34;&gt;Haskell Web Server in a 5MB Docker Image&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fpcomplete.com/blog/2017/06/readert-design-pattern&#34;&gt;The ReaderT Design Pattern&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;TODO: add more posts; add new posts&lt;/p&gt;
</content><link xmlns:ns="http://www.w3.org/2005/Atom" ns:href="https://guide.aelve.com/haskell/popular-blogs-dila2lox#item-xo6maz0o"/></entry></feed>