3277: Forth
| Forth |
Title text: I NOTATION POLISH REVERSE ❤️ |
Explanation[edit]
Forth is a stack-oriented programming language. Like most stack-oriented programming languages, Forth's grammar incorporates reverse Polish notation. For example, instead of an expression that adds two numbers via infix notation, such as 8 + 5, Forth would denote it as 8 5 +, indicating that the value "8" is pushed onto the stack, then a value of "5", then the operation "+" will take these latest two items from the stack and push their sum (the value 13) back onto it. Reverse Polish notation is not just limited to mathematical expressions in the language; control flow and function calls also analogously follow this notation.
This is similar to subject–object–verb word order, where a statement in English using subject–verb–object order, as in "Sam ate apples", can be represented as "Sam apples ate".
The comic features a car with a bumper sticker that mentions Forth, but in a way where the message reflects its grammar as a self-referential joke. The bumper sticker is a take on a common type with the format "I ❤️ [object]", where the object is what the driver publicly expresses personal attachment to. The heart symbol is an abbreviation of the word "love". A real-life example is the abbreviated form of the slogan "I Love New York", expressed as "I ❤️ NY". In this case, instead of the expected "I ❤️ FORTH", the sticker reads "I FORTH ❤️" to reference Forth's stack-based logic and grammar. It could be interpreting "❤️" as a "word" that takes two arguments, SUBJECT OBJECT, and returns the statement "SUBJECT love(s) OBJECT".
While probably coincidental, as xkcd primarily uses uppercase, the capitalization of the word "FORTH" also parallels the convention of how the name was stylized in its early years until the late 1970s. This sometimes causes it to be mistakenly assumed to be an acronym, akin to other programming languages from its time like BASIC and COBOL.
The title text is a similar joke, but this time expressing fondness towards reverse Polish notation. In Forth, not all Forth operators take two arguments. For example, NEGATE returns the negative of the previous argument, such that 1 NEGATE results in -1. This logic could apply to adjectives, where adjectives take one argument as a noun. This is similar to how the English word order "adjective–noun phrase" becomes the head-initial "noun phrase–adjective". Thus, the two adjectives POLISH and REVERSE after the word NOTATION, result in "I NOTATION POLISH REVERSE ❤️", which is interpreted as "I love Reverse Polish Notation".
1033: Formal Logic also features a bumper sticker on a car, which involves personal expression. Reverse Polish notation is also the subject of 645: RPS.
Transcript[edit]
- [The right rear portion of a car is shown. On the bumper is a sticker that says:]
- I FORTH ❤️
Add comment
Create topic (use sparingly)
Refresh
Discussion
The English language generally uses "Subject-Verb-Object" (SVO) word order, as in "Sam ate apples". Forth uses "Subject-Object-Verb" (SOV) order, as in "Sam apples ate." [[1]]
- The comic refers to postfix notation, also called "reverse polish notation" or RPN for short. It's useful in technical fields. They don't seem to teach it much anymore. Forth used RPN. 130.76.187.47 18:40, 27 July 2026 (UTC)
I this hate.2A02:3032:8D:D3C9:CC6C:37FF:FE64:7969 17:58, 27 July 2026 (UTC)
I THIS ( LOVE NEGATE )HaruruChanDesu (talk) 04:11, 28 July 2026 (UTC)
Me this comic like. It very funny is! 23.251.194.242 18:22, 27 July 2026 (UTC)
- Ergative? Japanese? 24.123.140.66 19:39, 27 July 2026 (UTC)
わたしはフォースが大好きです。61.8.128.78 18:42, 27 July 2026 (UTC)
- For those who don’t read Japanese Hiragana, Katakana and Kanji: “Watashi wa Fōsu ga daisuki desu.” which word for word translates to: “I/Me [Topic] (the)Force [Subject] very much like/most like is.” and roughly means: “The Force is my favorite.” or “I love the Force.” (or it could also just mean “I love force.”, but I find that unrealistic.) Rsge (talk) 11:00, 28 July 2026 (UTC)
- 「フォース」is phonetically "fōsu" and can mean anything from force to fourth. In this case, it's obviously FORTH.Citation needed Kapostamas (talk) 13:19, 28 July 2026 (UTC)
- And Japanese is a category 4 language, which is the category that’s hardest for English speakers to learn. By association, that would make Fourth one of the most difficult languages for English speakers to learn. But maybe it’s more popular in Japan.
- Weird how people keep saying that. I found Japanese easy to learn. 31.185.224.115 16:43, 29 July 2026 (UTC)
Now... what kind of car is this? RadiantRainwing (talk) 18:44, 27 July 2026 (UTC)
Outside of some specialist programming, the most widespread FORTH dialects probably are Adobe's PostScript and the user and programming interface of (most of) Hewlett-Packard's handheld calculators.
- Went through Calc III (in 3D!) and all two years of Physics with an HP48G. Plug and chug on that thing was just amazing. 130.76.187.47 11:20, 28 July 2026 (UTC)
Wouldn't it be: I NOTATION POLISH REVERSE ❤️ -> I NOTATION {POLISH ❤️ REVERSE} -> I {POLISH ❤️ REVERSE} NOTATION, regarding ❤️ as an operator and the result as another operator?
- I assumed they were unary operators until the final operation is binary. I NOTATION POLISH REVERSE ❤️ -> I NOTATION POLISH {❤️ REVERSE} -> I NOTATION {❤️ REVERSE POLISH} -> I ❤️ REVERSE POLISH NOTATION Solid Kalium (talk) 20:12, 27 July 2026 (UTC)
- I saw it as the use of "REVERSE" as an operand element, when populating the stack; "I NOTATION POLISH" are three data-words, the "REVERSE" is a command-word that takes "POLISH" and "NOTATION" off (otherwise interpretable as "POLISH NOTATION", when combined) and redefines it with a "REVERSE" status on them (effectively pushing back onto the stack the the full concept of "REVERSE POLISH NOTATION" in a single element, rather than LISP-like "POLISH NOTATION" format/concept). Then the application of "❤️" upon the stack state of containing both the single RPN-representiion element and 'I' is the operation that links the concept (RPN) and the subject (I) with the idea of there being love of one by the other. 92.23.5.92 20:24, 27 July 2026 (UTC)
- I think ❤️ is a binary operator, and both REVERSE and NOTATION are unary operators. Thus, "I POLISH REVERSE NOTATION ❤️" is correct. 2601:19B:4103:97F0:D198:8780:C4AB:3865 21:00, 27 July 2026 (UTC)
- You gotta imagine each word coming in one by one:
- I — A pronoun; an incomplete statement.
- I notation — A pronoun and a noun; still an incomplete statement.
- I notation Polish — An adjective comes in, so it applies to the top noun in the stack, resulting in:
- I Polish_notation — A pronoun and a noun phrase. An incomplete statement.
- I Polish_notation reverse — Another adjective, go through the same process again.
- I reverse_Polish_notation — Still an incomplete statement.
- I reverse_Polish_notation love — A transitive verb comes in, which takes two arguments (subject and direct object). This finally results in the full statement:
- “I love Reverse Polish Notation.”
- Implicitly, since there are no more words, we output that statement as the result. HaruruChanDesu (talk) 03:52, 28 July 2026 (UTC)
- I tried to implement this as a program. You can run in with a forth interpreter:
\ nouns are just strings : we ( -- c-addr u ) S" I" ; : notation ( -- c-addr u ) S" notation" ; \ adjectives prepend to the top of the stack : reverse ( c-addr1 u1 -- c-addr2 u2 ) S" reverse " 2swap s+ ; : polish ( c-addr1 u1 -- c-addr2 u2 ) S" polish " 2swap s+ ; \ verbs take subject & object from the stack : love ( c-addr1 u1 c-addr2 u2 -- c-addr3 u3 ) S" ❤️ " 2swap s+ s+ ; we notation polish reverse love type
- This works, but I couldn't help feeling like it's over-fit to the joke, and a real program generating syntax trees would probably use a different order of arguments to reduce the 2swap calls. Quantum7 (talk) 09:39, 29 July 2026 (UTC)
I don’t think PostScript counts as a Forth dialect — it’s a different postfix language altogether. Same reason Factor, Joy, and Kitten aren’t Forths. If it’s not absurdly minimal, it’s probably not a Forth — you wouldn’t see stunts like PlanckForth with Factor. 2601:2C3:C385:9D30:C54A:3110:3FBE:14E7 20:53, 27 July 2026 (UTC)
I don't know any languages with that notation.Are there any significance to this being a bumper sticker? Is the car reversing and/or driving forward to run the viewer over? This car is going to crash! 2001:1960:2807:E3A0:1D0E:FF76:A5F1:41CA 01:13, 28 July 2026 (UTC)
- Well, Forth (a computer language, as explained) is in that notation. It's 'just' self-referential. 92.23.5.92 19:34, 28 July 2026 (UTC)
I myself love; I you me to love want.
I down feel I you me above want when.
I myself search; I you me to find want.
I myself forget; I you me to remind want.
I anybody else want don't.
I you think about I myself touch when. Oh-oh-oh.
I anybody else want don't.
Oh no, oh no, oh no.
You the one are happy me makes who, honey.
You the one are shine me makes who.
Your around are I am laughing always when.
I you mine to make want.
I eyes my close you me before see and.
I die would think you me ignore were to if.
A fool I you adore how much just see could.
I knees my get down on; I for you anything do would.
I myself love; I you me to love want.
I down feel I you me above want when.
I myself search; I you me to find want.
I myself forget; I you me to remind want.
I you want.
I anybody else want don't.
I you think about I myself touch when.
Ooh, oooh, oooooh, aaa-aaah.
2600:4040:5357:4B00:1508:7D08:7588:5B29 01:19, 28 July 2026 (UTC)
I personally saw this as using FORTH as a verbed noun, e.g. "I [program in] FORTH! ❤️ [to express my enthusiasm]." Fun for the whole family, I guess. 7amiþ moi · 💬 · 📊 02:36, 28 July 2026 (UTC)
Yoda FORTH (love) 2A00:23C8:2547:A201:A2FF:CB4D:20F:25C1 06:49, 28 July 2026 (UTC)
Horse The barn the past raced fell. (Only raced is a binary operator) 2A02:1210:2E9E:AC00:3807:C34:C7C:BCF9 05:39, 28 July 2026 (UTC)
love(I, concept(predicate logic)); HaruruChanDesu (talk) 03:43, 28 July 2026 (UTC)
SVO would be "Apples, Sam ate" not "Sam apples ate" --74.87.89.226 13:23, 28 July 2026 (UTC)
- SVO is “Sam ate apples”, since Sam is the Subject, ate is the Verb and apples is the Object. “Apples, Sam ate” is OSV; “Sam apples ate” (and “I FORTH love”) is SOV. Kapostamas (talk) 08:16, 29 July 2026 (UTC)
Back in the 1980's when I was actively doing development in Forth, I saw a bumper sticker: "FORTH ❤️ if honk then". 172.7.21.28 14:57, 28 July 2026 (UTC)
- Surely that should have been "FORTH ❤️? if honk then" Zmatt (talk) 07:26, 30 July 2026 (UTC)
- The version I heard about was "FORTH ?KNOW IF HONK! ELSE FORTH LEARN! THEN" --theoh 2a02:8084:2163:6300:2852:9841:c696:ad11 (talk) 20:45, 11 August 2026 (please sign your comments with ~~~~)
Totally stealing this and getting a (❤️ I Clojure) sticker for my laptop. 2600:1010:B341:BACE:6D0B:9F4A:E8DF:B0B0 13:58, 31 July 2026 (UTC)
New Category Proposal: Comics with Emoji[edit]
What do you think? Are there enough comics with emoji to justify a new category in this Wiki? 158.173.21.17 02:30, 28 July 2026 (UTC)
- there is already a category for this. see Category:Emoji -- somefan (talk | contribs) 04:00, 28 July 2026 (UTC)
- Also the use of a heart on a bumper sticker is not an emoji, this has been used was before anyone invented the phrase emoji. Just because we use emoji to represent this in the transcript and explanation do not qualify this comic as one using emoji in my opionion. The title text is just another bumper sticker. But maybe comics with bumper stickers could be something that has been used some times before? If enough then maybe such a category? --Kynde (talk) 09:09, 28 July 2026 (UTC)
- i concur on proposing the bumper sticker category! As far as i've searched, only four comics would adhere to this -- somefan (talk | contribs) 22:25, 28 July 2026 (UTC)
- I don't see anything wrong with that - Quite a few categories only have a few comics in them, like the Home Inspection category. GSLikesCats306 (talk) 09:57, 29 July 2026 (UTC)
- i concur on proposing the bumper sticker category! As far as i've searched, only four comics would adhere to this -- somefan (talk | contribs) 22:25, 28 July 2026 (UTC)
- Also the use of a heart on a bumper sticker is not an emoji, this has been used was before anyone invented the phrase emoji. Just because we use emoji to represent this in the transcript and explanation do not qualify this comic as one using emoji in my opionion. The title text is just another bumper sticker. But maybe comics with bumper stickers could be something that has been used some times before? If enough then maybe such a category? --Kynde (talk) 09:09, 28 July 2026 (UTC)