Skip to content
DevMeme
2426 of 7435
A Tale of Two Lisps: Speech Impediments vs. Programming Languages
Languages Post #2697, on Jan 28, 2021 in TG

A Tale of Two Lisps: Speech Impediments vs. Programming Languages

Why is this Languages meme funny?

Level 1: One Word, Two Meanings

Imagine you hear a word that you know, but it turns out that word means something completely different in another context. It can lead to a really funny mix-up! In this meme, the word “lisp” is like that.

Think of the word “apple.” To most people, an apple is a fruit you can eat. But Apple is also the name of a famous company that makes iPhones and iPads. Now picture someone innocently asking about apples (the fruits): “What are some other kinds of apples?” They expect to hear about, say, Granny Smith or Golden Delicious (different fruit types). But instead, a silly friend answers, “Apple makes iPhones, MacBooks, and Apple Watches.” That would be pretty funny, right? They answered as if the question was about Apple products, not the fruit!

Something similar is happening in this joke. One person is talking about a lisp as in a speech trait (when someone has a tiny difficulty saying the “s” sound). Another person hears the word “lisp” and, maybe as a cheeky joke, answers as if we were talking about Lisp, which (surprise!) is also the name of a family of computer languages. So instead of naming types of speech impediments, they list the names of some computer languages called “Lisp” (Arc, Hy, and so on). It’s like answering the apple question with iPhones – a total misunderstanding on purpose.

For a little kid, the humor comes from this mix-up. It’s one of those silly moments when the same word leads two people to think of totally different things. One is thinking about how people talk, and the other is off thinking about nerdy computer stuff. When the second person rattles off a bunch of weird names as the answer, it sounds absurd because it doesn’t match the question at all. It’s as if you asked “What’s your favorite kind of ball?” meaning a toy ball, and your friend started listing “basketball, football, baseball” – oh wait, that actually fits… Let’s say you meant a dance ball, but they listed sports balls – see, confusing but funny!

In short, this meme made people laugh because a single word (“lisp”) was interpreted in two ways. It’s a big silly misunderstanding. The poor asker got an answer, just not the kind of answer they expected at all. It’s the kind of joke where you’d tilt your head and then giggle once you realized the mix-up. Even if you don’t know what those strange words (Arc, Hy, etc.) are, you can understand that the person answering went off on a completely different track. It’s a playful reminder that language can be tricky — one word can lead us down two very different paths, sometimes with hilarious results!

Level 2: Not That Lisp

For a less experienced developer or a newcomer, let’s break down what’s happening in this meme. First, there’s a bit of wordplay: the word “lisp” can mean two very different things. In everyday language, a lisp is a way someone might pronounce sounds (often “s” or “z”) a little differently – it’s a minor speech impediment. But Lisp, with a capital L, is also the name of a famous family of programming languages. So, the confusion (and the joke) comes from one person thinking of the speech meaning and another person responding with the programming meaning.

In the screenshot (which is from Reddit’s mobile app in dark mode, specifically the r/explainlikeimfive subreddit), someone commented about their sister having a slight “s” lisp when she talks. Another user curiously asks, “What other kinds of lisps are there?” They probably were asking about other kinds of speech differences. But then along comes a user who answers as if the question was about the Lisp programming language family. They list Arc, Hy, Nu, Liskell, and LFE and even clarify that LFE stands for “Lisp Flavored Erlang.” These are not different speech issues – they’re actually names of programming languages! The result is a humorous misunderstanding: the question was taken in a geeky direction that the original asker probably never intended.

Now, why list those weird names? It turns out Lisp (the programming language) isn’t just one language – it’s a whole family of languages or dialects. A “dialect” in programming is a variant of a language, kind of like how human languages can have dialects. For example, there are dialects of English (like American English vs. British English) that are mostly the same with some differences. Similarly, Lisp has many dialects that share the core ideas of Lisp but have their own special features or were created for specific purposes. Here’s a quick rundown of the ones mentioned:

  • Arc – This is a small, minimalist dialect of Lisp created by Paul Graham (a well-known programmer and essayist). He designed Arc to experiment with making a simpler, more powerful Lisp. It runs on a platform called Racket (which itself is a descendant of Scheme, another Lisp). Arc isn’t very widely used, but it’s known among Lisp enthusiasts as an interesting project to simplify the language.
  • Hy – Hy is a Lisp that’s built to work with Python. Imagine you love Lisp’s style (lots of parentheses and prefix notation for calling functions) but you also want to use Python’s libraries. Hy lets you write code in Lisp syntax, and under the hood it translates that into Python code. This means you can intermingle with the entire Python ecosystem, but write in a Lisp-y way. It’s a neat bridge between two languages and showcases how flexible Lisp’s structure is – you can sort of bolt it onto Python!
  • Nu – Nu is a more obscure one. It’s a Lisp dialect that was created to run on Apple’s Objective-C runtime (used in macOS and iOS programming). Basically, Nu was an attempt to bring Lisp’s expressiveness into the world of Cocoa (Apple’s development framework). With Nu, a developer could write Mac or iPhone app code in a Lisp-like language, while still calling Objective-C libraries. It remained a niche tool, but it’s another example of Lisp popping up in unexpected places.
  • Liskell – The name “Liskell” is a mashup of Lisp and Haskell. Haskell is another programming language (a purely functional one with strong static typing). Liskell was an experimental project to give Haskell a Lisp-style syntax. In other words, under the hood it’s Haskell (same semantics and powerful type system), but you write it with Lisp’s parentheses and prefix notation. This was likely done to marry Haskell’s capabilities with Lisp’s simple, uniform syntax, possibly to get the best of both worlds or just as a fun experiment in language design.
  • LFE (Lisp Flavored Erlang) – This one even spells out that it’s a Lisp variant for Erlang. Erlang is a programming language used to build highly reliable concurrent systems (originally developed by Ericsson for telephone switches). It has its own syntax (which is very different from Lisp). Someone created LFE to bring Lisp’s syntax and features into the Erlang ecosystem. So with LFE, you can write modules for the Erlang VM using Lisp syntax. Essentially, it’s Lisp running on an Erlang engine, which is great if you like Lisp’s style but need to work in Erlang’s world of concurrent programming.

All of these are Lisp dialects – they follow Lisp’s core principles (like using lots of parentheses, treating code as data, having first-class functions, etc.) but adapt them to different contexts or try out new ideas. This list is kind of a fun sampler of how far and wide Lisp has spread in the programming world. If you’re new to programming, think of it this way: Lisp is like an old recipe that many chefs around the world have tweaked and reinterpreted, coming up with “Lisp-flavored” dishes suitable for different occasions. Arc, Hy, Nu, Liskell, and LFE are five such unique dishes – not famous like the main course (Common Lisp or Scheme), but definitely real recipes in the cookbook.

Now back to the meme: The reason this answer is funny is precisely because it’s answering the wrong question on purpose (or at least in a very unexpected way). The person asked “What other kinds of lisps are there?” presumably about speech. If taken that way, the answer should have been about speech lisps (for instance, an “interdental lisp” where “s” and “z” sounds are pushed between the tongue and teeth, or a “lateral lisp” where air flows over the sides of the tongue – yes, those are real speech lisp types!). But instead the answer lists programming languages. It’s as if someone completely ignored the context of speaking and went straight to nerd land.

On Reddit’s r/explainlikeimfive (ELI5 for short), people usually answer questions in very simple, accessible terms, almost like you’re five years old. That makes this response doubly amusing: not only did they switch context to programming, but they also used rather not five-year-old-friendly terms by listing niche programming languages. The irony is strong – on a forum dedicated to simplifying things, someone dropped a highly technical list.

For a junior developer or someone not familiar with Lisp, the comment might look like a bunch of gibberish or random proper nouns. But once you know these are real languages in the Lisp family, you appreciate the cleverness. The commenter essentially combined two worlds: the everyday concept of a “lisp” in speech, and the programmer’s world of programming languages. It’s a classic tech humor moment where a word that straddles normal life and coding life gets playfully twisted.

Also, noticing the context: that comment got a Silver Award on Reddit (meaning someone spent a little money to congratulate the poster for a good comment) and a lot of upvotes (indicated by the “1.3k” points on the post and the voting arrows). This tells us that many readers found it funny or appreciated it. It resonated with people who know about Lisp dialects – it’s like an Easter egg for programmers hidden in a normal conversation. The whole thing is a good-natured pun. Nobody’s laughing at the person with the speech lisp; instead, they’re laughing at the unexpected detour into geek territory. In summary, understanding this meme as a junior dev simply requires knowing that Lisp is a famous programming language (with many variants), not just a way of talking. Once you see that, the comment transforms from confusing to a brilliant inside joke. It showcases a little slice of programming culture: we just love our puns and language quirks!

Level 3: Dialects, Not Defects

For the seasoned developer, the humor here comes from a classic geeky misinterpretation. The thread starts innocently with a comment about a slight “s” lisp (the speech impediment). Another user quips, “What other kinds of lisps are there?” likely expecting a discussion about different speech lisp types (like a frontal lisp vs. lateral lisp in pronunciation). But a tech-savvy commenter seizes the opportunity for an inside joke and responds by listing actual Lisp dialects (Arc, Hy, Nu, Liskell, LFE). The punchline is a play on the word lisp: instead of treating it as a speech quirk, they treat “Lisp” as the programming language family. It’s a perfect example of programmer humor where a normal word is overloaded with a tech meaning, and someone answers the wrong question on purpose so earnestly that it loops back around to being hilarious.

In developer culture, Lisp holds a legendary status, and there are indeed many dialects of Lisp floating around. A dialect in this context means a variant or offshoot of the Lisp programming language with its own twist, not completely separate but not identical either. The commenter’s list isn’t random; it reads like a roster of niche programming languages that only a programming languages enthusiast or a seasoned functional programmer might know. This is why it’s funny – it’s as if someone asked “What other kinds of stars are there?” meaning movie stars, and you responded by naming types of actual stars in the galaxy. It’s humor via ultra-literal geekiness. Each name in that list – Arc, Hy, Nu, Liskell, LFE – is a real language in the Lisp family, which is something a veteran programmer finds delightful. It shows the commenter either has deep knowledge or a quick Googling finger and wants to show off a bit. The fact that Common Lisp, Scheme, or Clojure (some of the most well-known Lisp dialects) are conspicuously absent suggests the responder deliberately went for more obscure examples, doubling down on the in-joke for programmers. It’s not just “Oh, Lisp the language exists,” it’s “Let me hit you with a list of Lisp variants so deep-cut that only true language nerds will recognize them all.” This one-upmanship of knowledge is a common pattern in tech humor – the responder essentially nerd-sniped the thread.

What makes experienced devs smirk is also the context: this happened on r/explainlikeimfive, a subreddit where answers are supposed to be ultra-simple, free of jargon, as if explaining to a five-year-old. Instead, the answer given is the opposite of ELI5 – it’s chock-full of jargon and assumes the reader knows what Lisp dialects are. That contrast is comedy gold for those in the know. It’s like delivering a PhD thesis in a kindergarten Q&A session. The Reddit UI in the meme shows the comment earned “1 Award” (a Silver, given by some Redditor) and plenty of upvotes, meaning the community appreciated this clever derailment of the conversation. Seasoned programmers have likely seen or made similar tech humor quips: someone mentions an everyday term that has a meaning in computing, and suddenly the conversation forks into tech-land. Here the term lisp was too ripe to ignore – a perfect setup for a speech_vs_programming_pun.

Why Lisp though? Lisp is a venerable family of programming languages that many old-school hackers hold dear. It’s often associated with functional programming paradigms and has unique quirks that programmers joke about. For instance, Lisp’s syntax is famously composed of parentheses for everything; one running gag expands “LISP” as “Lots of Irritating Superfluous Parentheses”. Despite the jokes, those parentheses embody Lisp’s powerful, uniform structure. There’s also a longstanding mystique around Lisp in programmer culture – it’s the language of AI pioneers, the domain of the ultra-nerdy, something that confers a bit of prestige to know. So when the responder rattles off five Lisp variants in response to a casual question, it’s humor with a side of “check out my geek cred.” Fellow coders laugh because they recognize both the miscommunication and the flex.

In short, the meme strikes a chord with experienced devs by lampooning our tendency to answer literally and pedantically when a term has a technical double meaning. It’s a clever language quirk being exploited. The poor person asking about a lisp in speech got an answer listing programming languages instead of, say, “Oh, some people lisp the sound ‘s’ or ‘z’.” It’s a classic case of programmers doing programmer things – turning a simple question into an opportunity to geek out about languages. And of course, only those familiar with the Lisp family catch just how spot-on that list is. It reads almost like a mini programming history lesson tucked into an everyday conversation. That blend of worlds – Reddit casual chatter meets arcane programming knowledge – is what makes this meme so shareable in tech circles. It’s an inside joke where the punchline is essentially, “Ha, you meant speech impediments, but I as a programmer heard ‘Lisp’ and couldn’t resist unloading my trivia.” And judging by the upvotes and award, the community loved it.

Level 4: Homoiconic Hijinks

At the deepest technical level, this meme touches on the Lisp programming language’s rich theoretical underpinnings and why there are so many Lisp dialects to list in the first place. Lisp (short for “LISt Processing”) is one of the oldest high-level programming languages (born circa 1958) and is famously homoiconic – meaning the code is structured in the same form as its data. In Lisp, everything is written as nested lists (with those iconic parentheses), and the program can manipulate its own code as data. This code-as-data property gave rise to powerful macro systems, where Lisp code can transform and generate other Lisp code programmatically before it runs. It’s a beautiful, mind-bending concept from theoretical computer science that has kept Lisp relevant and adaptable over decades. Early AI research, academic explorations of lambda calculus, and the quest for elegant programming abstractions all gravitated to Lisp because of its minimalist syntax and maximal flexibility. Lisp’s theoretical DNA – rooted in functions, symbolic logic, and even Church’s lambda calculus – means it can spawn new functional programming variants almost as easily as a conversation can spawn puns.

Because Lisp is so minimal and mathematically elegant, implementing a new Lisp dialect is almost a rite of passage for language enthusiasts. There’s even an old tongue-in-cheek rule (Greenspun’s Tenth Rule of Programming) which jokes that any sufficiently complex program written in a non-Lisp language inevitably implements half of Lisp ad hoc. This speaks to Lisp’s tendency to reappear in new places: as soon as a platform or paradigm gets complex enough, someone says “wouldn’t this be cleaner with Lisp’s simplicity?” The dialects listed in the meme – Arc, Hy, Nu, Liskell, and LFE – exemplify that phenomenon. Each is essentially Lisp’s syntax and spirit transplanted into a different environment or made to explore a new idea: Arc strips Lisp down to basics to experiment with language design, Hy brings Lisp into Python’s ecosystem (leveraging Python’s libraries while writing in Lisp style), Nu was an attempt to inject Lisp into the Cocoa/Objective-C world on macOS, Liskell tried to marry Lisp syntax with Haskell’s strong type system, and LFE (Lisp Flavored Erlang) puts a Lisp on the Erlang VM to harness Erlang’s legendary concurrency. These projects show off Lisp’s theoretical flexibility – thanks to its simple, expressive foundation, Lisp can flavor any computing context. The hijinks here is that an innocent question about speech led to this whirlwind tour of Lisp’s academic and practical legacy, something only possible because Lisp as a concept is so malleable and far-reaching in computer science. In essence, the meme hides a gem of theoretical computing humor: one little word “lisp” unlocked a cascade of language-design lore, from S-expressions (symbolic expressions) to the idea that you can implement Lisp within other languages. It’s a nerdy celebration of Lisp’s universality, thinly veiled as a pun.

Description

A screenshot of a comment thread from the 'r/explainlikeimfive' subreddit, displayed in dark mode. The first comment from user '_JasonDerulo' says, 'My sister and I have the same voice, the only way you can tell us apart on the phone is she has a very slight “s” lisp. We even have the same giggle.' A second user, 'YnarErsom,' replies, 'What other kinds of lisps are there?'. The third comment, from user 'atkulp,' which has received a Silver Award, cleverly pivots the topic by responding, 'Arc, Hy, Nu, Liskell, and LFE (Lisp Flavored Erlang).' The humor arises from the deliberate misinterpretation of 'lisps.' While the original context refers to a speech impediment, the reply lists various dialects of the Lisp programming language. This is a sophisticated pun that appeals to developers, especially those familiar with the history and family of Lisp languages, known for their influence on functional programming

Comments

8
Anonymous ★ Top Pick The original Lisp is the COBOL of functional programming; everyone knows it exists, but the only people who use its modern dialects are either academics or someone trying to be clever in a Reddit thread
  1. Anonymous ★ Top Pick

    The original Lisp is the COBOL of functional programming; everyone knows it exists, but the only people who use its modern dialects are either academics or someone trying to be clever in a Reddit thread

  2. Anonymous

    There are three lisps: interdental, lateral, and the one where every sentence accrues so many parentheses the speech therapist asks if your tongue supports tail-call optimization

  3. Anonymous

    The real impediment is trying to count all those parentheses in production - though after 20 years, you realize the speech therapist was actually teaching you tail recursion all along

  4. Anonymous

    The beauty of this exchange is that it perfectly captures the Lisp community's self-awareness: we've created so many dialects that even explaining them requires distinguishing between 'speech lisp' and 'Lisp the language family.' It's the programming equivalent of 'Who's on First?' - except instead of baseball players, we're tracking whether you mean the S-expression-based functional paradigm, the specific Common Lisp standard, or one of the dozen modern variants that promise to finally make Lisp mainstream (narrator: they won't). At least with LFE, you get Erlang's concurrency model wrapped in parentheses - because clearly what the BEAM VM was missing was more nesting

  5. Anonymous

    When ELI5 hits Lisp genealogy: Arc to LFE, no circular cons cells in the family tree

  6. Anonymous

    Only in dev land does a speech lisp escalate into a BEAM-vs-JVM macro debate about homoiconicity

  7. Anonymous

    Only developers hear “she has a slight s lisp” and immediately ask which dialect - Common, Scheme, or LFE - then propose the standard fix: add more parentheses

  8. @nuntikov 5y

    Cool, someone knows what Hy is

Use J and K for navigation