Main Page
Welcome to the explain xkcd wiki!
We have an explanation for all 3286 xkcd comics, and only 39 (1.2%) are incomplete. Help us finish them!
Latest comic
| Forth |
Title text: I NOTATION POLISH REVERSE ❤️ |
Explanation
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 in 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: interpreting "❤️" as a "word" that takes two arguments, SUBJECT OBJECT, and returns the statement "SUBJECT love(s) OBJECT".
While probably coincidental, as xkcd primarily has body text in all caps anyway, the capitalization of the word "FORTH" also parallels the convention of how the language was stylized in its early years until the late 1970s. This sometimes causes it to mistakenly be assumed to be an acronym.
Not all Forth operators take exactly two arguments. For example, NEGATE returns the negative of the previous argument, such that 1 NEGATE results in -1. In the title text, this logic is applied to adjectives, so that the English word order "adjective–noun phrase" becomes the head-initial "noun phrase–adjective". This puts the two adjectives POLISH and REVERSE after the noun NOTATION, resulting in "I NOTATION POLISH REVERSE ❤️" instead of the original sentence: 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
- [The right rear portion of a car is shown. On the bumper is a sticker that says:]
- I FORTH ❤️
New here?
You can read a brief introduction about this wiki at explain xkcd. Feel free to create an account and contribute to the wiki! We need explanations for xkcd comics, characters, What If? articles, and everything in between. If it is referenced in an xkcd comic, it should be here.
- If you're new to wiki editing, see the explain xkcd:Editor FAQ for a specific guidance to this wiki and the more general help on how to edit wiki pages. There's also a handy wikicode cheatsheet.
- Discussion about the wiki itself happens at the Community portal.
- You can browse the comics from the list of all comics or by navigating the category tree at Category:Comics.
- The incomplete explanations are listed here. Feel free to help out by expanding them!
Rules
Don't be a jerk!
There are a lot of comics that don't have set-in-stone explanations; feel free to put multiple interpretations in the wiki page for each comic.
If you want to talk about a specific comic, use its discussion page.
Please only submit material directly related to xkcd and, of course, only submit material that can legally be posted and freely edited. Off-topic or other inappropriate content is subject to removal or modification at admin discretion, and users who repeatedly post such content will be blocked.
If you need assistance from an admin, post a message to the Admin requests board.