<commit_before><!-- 2017-11-09 -->

Welcome to another issue of Haskell Weekly!
[Haskell](https://haskell-lang.org) is a safe, purely functional programming language with a fast, concurrent runtime.
This is a weekly summary of what's going on in its community.

Want to see something featured in Haskell Weekly?
We love contributions!
Tweet us at [@HaskellWeekly](https://twitter.com/haskellweekly) or [open a pull request](https://github.com/haskellweekly/haskellweekly.github.io).

## Featured

-   [Understanding HLint rules](https://neilmitchell.blogspot.com/2017/11/understanding-hlint-rules.html)

    > I've just released HLint 2.0.10, which includes a rule to recognize uses of `foldr` that should really be `map`. As an example: `foldr (\curr acc -> (+1) curr : acc) []` Can be rewritten as: `map (\curr -> (+1) curr)`

-   [Computing with impossible types](https://gelisam.blogspot.ca/2017/11/computing-with-impossible-types.html)

    > <NAME> recently posted a puzzling gist seemingly showing that at the type level, the `()` kind has more than one inhabitant. The goal of this post is to explain what's going on.

-   [Authorization in Servant: Walkthrough](https://ibnuda.gitlab.io/636452721192300168_authorizationinservant.html)

    > This article is about `servant-server` 0.11's `experimental-auth` which is still in experimental stage. Deployment in production is not encouraged. And yes, I know about `servant-auth` but I haven't read it thoroughly, yet.

## Jobs

-   [Functional programmers at Myrtle Software](https://www.myrtlesoftware.com/vacancies/)
<commit_msg>Link to "Eventful email signup"<commit_after><!-- 2017-11-09 -->

Welcome to another issue of Haskell Weekly!
[Haskell](https://haskell-lang.org) is a safe, purely functional programming language with a fast, concurrent runtime.
This is a weekly summary of what's going on in its community.

Want to see something featured in Haskell Weekly?
We love contributions!
Tweet us at [@HaskellWeekly](https://twitter.com/haskellweekly) or [open a pull request](https://github.com/haskellweekly/haskellweekly.github.io).

## Featured

-   [Understanding HLint rules](https://neilmitchell.blogspot.com/2017/11/understanding-hlint-rules.html)

    > I've just released HLint 2.0.10, which includes a rule to recognize uses of `foldr` that should really be `map`. As an example: `foldr (\curr acc -> (+1) curr : acc) []` Can be rewritten as: `map (\curr -> (+1) curr)`

-   [Computing with impossible types](https://gelisam.blogspot.ca/2017/11/computing-with-impossible-types.html)

    > <NAME> recently posted a puzzling gist seemingly showing that at the type level, the `()` kind has more than one inhabitant. The goal of this post is to explain what's going on.

-   [Authorization in Servant: Walkthrough](https://ibnuda.gitlab.io/636452721192300168_authorizationinservant.html)

    > This article is about `servant-server` 0.11's `experimental-auth` which is still in experimental stage. Deployment in production is not encouraged. And yes, I know about `servant-auth` but I haven't read it thoroughly, yet.

-   [Eventful email signup](https://medium.com/@concertdaw/eventful-email-signup-f0814fc7d7fa)

    > We wanted to try out some of these new (to us) ideas to see how they would gel together and whether we would want to use any of them in production. What follows is my account of using <NAME>'s event-sourcing/CQRS library, Eventful, to build our email sign-up backend.

## Jobs

-   [Functional programmers at Myrtle Software](https://www.myrtlesoftware.com/vacancies/)

{'fraction_non_alphanumeric': 0.10827489481065919, 'fraction_numerical': 0.028050490883590462, 'mean_word_length': 4.338323353293413, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 19, 'https://': 15, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1175797', 'n_tokens_mistral': 1169, 'n_tokens_neox': 1045, 'n_words': 397}