71

Only one sticker.

I go door-to-door every Sunday, "Excuse me dear sir/madam, do you have a moment to talk about our lord and savior Haskell?".

Most people slam the door shut in my face, but every lost family I convert to the way of the monad is worth it.

Even if they don't believe in the same deity, even if they express their love for the divine through something as misguided as Typescript or Swift or whatever, as long as they embrace the truth of strong types and composable code, as long as they at least read the gospel of the functional style once in their lives, have one enlightened moment where they see the glory of morphisms, it's all good.

Comments
  • 17
    Reportin' for door-to-door Haskevangelism duty, cap'n.
  • 9
    I raise you: Erlang

    (don't kill me, Haskell was too pure for my tainted soul)
  • 4
    @FrodoSwaggins why is that?
  • 5
    @epse love Erlang, my first internship used that and it was a blast.
  • 6
    Amen, brother bittersweet, and have you heard of the new testament of Idris? ๐Ÿ˜‰
  • 3
    @maushax the other way round for me. Erlang is quite barebones and extremely focused on just one thing - making writing distributed stuff easier. Elixir tries to add a lot on top of that, but hey, it's great too and awesome if you like it.
  • 9
    @epse No killing. As elitist as our religion is, ultimately it's all about love and acceptance.

    And we are fully aware that FP in its most pure form is too intricate for humans to handle, and too unusable in practical applications.

    Just connect to the Goddess of the Holy Recursive Fold* once in a while, bathe in her brilliance. Feel how the whole universe is constructed out of polymorphic lenses, pray by writing higher order functions, meditate on the glory of type systems which support GADTs.

    (*I think all FP deities are genderless, but I imagine her as a very classy lady with a cup of tea and a long-haired purring cat on her lap)
  • 10
    Also, it just happens that I found the divine through Haskell, but the angels speak Lambda Calculus.

    Erlang, Elm, Scala, Clojure, Lisp, Elixir... they're all just interpretations of the Holy Truth.
  • 8
    I particularly like the succ function ( อก° อœส– อก°)
  • 4
    @maushax elixir seems nice, but gives me the feeling of being a vanity project for Valim, when I look for how to learn it, I find his book and that weird minidocu first. And I then found a video serieus which turned payware halfway through which pissed me off enough to leave elixir. Probably should look at it again though
  • 11
    @CoffeeNcode Chant with us.
    (>>=) :: m a -> (a -> m b) -> m b
    return :: a -> m a

    (>>=) :: m a -> (a -> m b) -> m b
    return :: a -> m a

    (>>=) :: m a -> (a -> m b) -> m b
    return :: a -> m a
  • 3
    @CoffeeNcode do positive cults exist? I would like them to exist. Let's make this a positive cult. Welcome. We have yet to come up with an entrance rite so you don't need to so anything.
  • 5
    Lord of Haskell calls me to his path everytime I see it in our codebase.. and every time I say "Not today, oh lord"
  • 4
    @Root now what does that do? Is that a lambda that returns a lambda that returns a lambda?
  • 4
    @maushax oh. Oh. Monads.
  • 5
    @epse Tell me, are you a software engineer?
  • 4
    @Root I guess not, I'm a student
  • 9
  • 5
    @Root oh that's amazing! Thank you!
  • 11
    @Root Oh wow โค๏ธ

    "We can fell a Maybe-tree with a Maybe-ax and always hear a Maybe-sound when it crashes down—even if the sound is Nothing at all, when the ax isn’t real or there’s no tree to fall."

    "Ironically, the Monad always has at least one side-effect: it makes me feel like an idiot."

    Beautiful.
  • 7
    @epse

    To the heathens who follow delusional object-oriented paths, the power of the monad is indeed best explained by making you relive the Trauma Of Null.

    Have you ever tried to retrieve a person from the database using an ID, storing it in a variable called "user", to then proceed to access an attribute/method on that user, to see your whole world fall apart into a dark state often called the Null Pointer Exception?

    Heathens will tell you to write sinful checks like "if (user == null)", returning special made up values, or throwing new exceptions.

    Some languages support the Maybe or Option monad, sometimes even alongside an Either monad, or even more complex wrappers. Super useful if you want to return "Maybe a user", or "Either a human or a cat", or even "Either a list or tree of Maybe (Either human or cat)s"

    Languages supporting this in strict forms have few problems when it comes to handling Null/Nil/Nothing: You can apply "Maybe Hug" to everything inside that tree/list.
  • 5
    @bittersweet is this becoming a poem thread? I like it
  • 7
    @epse

    All of life is a poem, every moment, every letter, some parts just rhyme better. For maximum growth, follow a natural flow. But every verse is indisputable, recursively beautiful.
  • 4
    @bittersweet you just had to get Recursion in there didn't you
  • 5
    Preach to me about those morphisms, can I get an amen?
  • 5
    @Root ah, the holy spells of binding.
  • 4
    What do you need to prove you’re old enough to get into a bar? The I combinator! (I’m here all week)
  • 6
    @epse you should read his other rants. He's been asked countless times to write a book. He's a true software poet so to say.
  • 8
    @epse I try to get recursion into everything, even into a concept like recursion. It gently tickles the brain :)
  • 3
    @bittersweet wow, who are youuu
  • 3
    @Teknas I'm bittersweet, nice to meet you :)
  • 1
    @hash-table http://learnyouahaskell.com/chapter...

    That's the Kids Bible equivalent of our testament, it's free, easy to read but has enough depth to get you started ๐Ÿ˜
  • 4
    @hash-table you can use haskell syntax for webdev with https://elm-lang.org/ That way you don't have to lie to your boss ๐Ÿ˜„
  • 0
    I have followed your link into the realm of LearnMeAHaskell and sometime soon I may be counted amongst the brethren in Haskell. If nothing else I will have tasted from the chalice and let the future unfold as it may...
Add Comment