Skip to content
DevMeme
3586 of 7590
FunctionalProgramming Post #3923 · source on Telegram

The Functional Programmer's Emoticons

Description

This meme uses the two-panel 'Drake Hotline Bling' format. In the top panel, Drake disapprovingly gestures towards a list of Japanese-style emoticons (kaomoji), such as (・ω・) and (¬_¬). In the bottom panel, Drake smiles and points approvingly at a screenshot of code, likely Haskell, displaying a series of cryptic infix operators and their type signatures (e.g., '<$>', '<**>', '<*+*> :: Applicative f =>'). The humor lies in the comparison: for a functional programmer, the dense, symbolic operators of languages like Haskell, which represent high-level abstractions like Functors and Applicatives, are more expressive and beautiful than actual emoticons. It's an inside joke for those familiar with the steep learning curve and abstract nature of functional programming

Comments

11
Anonymous ★ Top Pick Some see a wall of cryptic symbols. A Haskell developer sees a beautiful conversation between a Functor and an Applicative, and it's pure poetry
  1. Anonymous ★ Top Pick

    Some see a wall of cryptic symbols. A Haskell developer sees a beautiful conversation between a Functor and an Applicative, and it's pure poetry

  2. Anonymous

    Dropped (>*<) in Slack - half the team thought it was a kawaii emoji, the compiler saw “zip two Gens,” and I’m just here enjoying type-safe ambiguity

  3. Anonymous

    The real reason Haskell developers don't use emojis in Slack - they're saving all the good ASCII art for defining infix operators that make code reviews feel like deciphering ancient runes written by mathematicians who discovered category theory and never recovered

  4. Anonymous

    When you realize that '<*>' isn't just a cute ASCII bear face, but actually the applicative operator that sequences computations in a context - and suddenly your entire understanding of monadic composition shifts from 'aww' to 'aha'. The real power move is explaining to stakeholders why your codebase needs these operators: 'It's not line noise, it's just point-free style with higher-kinded polymorphism.' Meanwhile, junior devs are still trying to figure out if '(>*<)' is an emoticon or a legitimate type signature, and honestly, in Haskell, the answer is 'yes.'

  5. Anonymous

    I only send reactions that typecheck - if your mood doesn’t fmap via (<$>) under a Functor constraint, it doesn’t belong in the review

  6. Anonymous

    Kaomoji for mutable state machines; Haskell types for the pure hearts that fmap forever

  7. Anonymous

    Emoji are cute, but they don’t obey Functor or Applicative laws - give me (<$>) and (<*>) any day; at least those smiles compose

  8. Deleted Account 4y

    Nice

  9. @Pylferer 4y

    Isn't haskell beautiful?

  10. @callofvoid0 4y

    what?

  11. @callofvoid0 4y

    static method?

Use J and K for navigation