Recursive acronym
A recursive acronym is an acronym that refers to itself. The term was first used in print in 1979 in Douglas Hofstadter's book Gödel, Escher, Bach: An Eternal Golden Braid, in which Hofstadter invents the acronym GOD, meaning "GOD Over Djinn", to help explain infinite series, and describes it as a recursive acronym. Other references followed, however the concept was used as early as 1968 in John Brunner's science fiction novel Stand on Zanzibar. In the story, the acronym EPT later morphed into "Eptification for Particular Task".
Recursive acronyms typically form backwardly: either an existing ordinary acronym is given a new explanation of what the letters stand for, or a name is turned into an acronym by giving the letters an explanation of what they stand for, in each case with the first letter standing recursively for the whole acronym.
Early computer-related examples
In computing, an early tradition in the hacker community was to choose acronyms and abbreviations that referred humorously to themselves or to other abbreviations. Perhaps the earliest example in this context – from 1960 – is the backronym "Mash Until No Good", which was created to describe Mung, and a while later was revised to "Mung Until No Good". It lived on as a recursive command in the editing language TECO.Mung | In 1977 or 1978 came TINT, an editor for MagicSix written by Ted Anderson. This inspired the two MIT Lisp Machine editors called EINE and ZWEI. These were followed by Richard Stallman's GNU. Many others also include negatives, such as denials that the thing defined is or resembles something else, to indicate that, despite the similarities, it was distinct from the program on which it was based.An earlier example appears in a 1976 textbook on data structures, in which the pseudo-language SPARKS is used to define the algorithms discussed in the text. "SPARKS" is claimed to be a non-acronymic name, but "several cute ideas have been suggested" as expansions of the name. One of the suggestions is "Smart Programmers Are Required to Know SPARKS".
Examples
Organizations
Some organizations have been named or renamed in this way:- BWIA — BWIA West Indies Airways
- FAIR — Fairness and Accuracy in Reporting
- FARM — Farm Animal Rights Movement
- FALE — FALE Association of Locksport Enthusiasts
- GES — GES Exposition Services
- hEART — hEART the European Association for Research in Transportation
- Heil — Heil Environmental Industries Limited, maker of garbage trucks
- VISA — Visa International Service Association
- WAT — WAT Automotive Technologies
Others
- Allegro — Allegro Low LEvel Game ROutines
- AGFA — Always Go For AGFA
- ANX — ANX's Not XNA
- AROS — AROS Research Operating System
- ATI — ATI Technologies Inc.
- ASK - Ask Seek Knock
- BAMF — BAMF Application Matching Framework
- BIRD — BIRD Internet Routing Daemon
- BOSH — Bosh Outer Shell
- CAVE — CAVE Automatic Virtual Environment
- cURL — Curl URL Request Library
- Darcs — Darcs Advanced Revision Control System
- EINE — EINE Is Not Emacs
- ENAML — ENAML is Not A Markup Language
- FIJI — FIJI Is Just ImageJ
- FYBMEM — FYBMEM Your Basic Monitor Editor Mechanism
- Giantleap - Giantleap Improves Automation of Non-polluting Transportation with Lifetime Extension of Automotive PEM fuel cells.
- GiNaC — GiNaC is Not a CAS
- GNU — GNU's Not Unix
- GPE — GPE Palmtop Environment
- gRPC — grpc Remote Procedure Calls
- HIJOS — Hijos por la Identidad y la Justicia contra el Olvido y el Silencio
- HIME — HIME Input Method Editor
- INX — INX's Not X
- JACK — JACK Audio Connection Kit
- JOE — Joe's Own Editor
- KGS — KGS Go Server
- LAME — LAME Ain't an MP3 Encoder
- LIFE — LIFE Is For Ever
- LiVES — LiVES is a Video Editing System
- MEGA — MEGA Encrypted Global Access
- MIATA — MIATA is Always the Answer
- MINT — MINT Is Not TRAC
- MiNT — MiNT is Not TOS
- Mung — Mung Until No Good
- Nano — Nano's Another editor
- Nagios — Nagios Ain't Gonna Insist On Sainthood
- NiL — NiL Isn't Liero
- Ninja-ide – Ninja-IDE Is Not Just Another IDE
- NITE — NITE Isn't TECO Either
- pacc — pacc: a compiler-compiler
- PHP — PHP: Hypertext Preprocessor
- PINE — PINE Is Nearly Elm, originally; PINE now officially stands for "Pine Internet News and E-mail"
- PINN — PINN Is Not NOOBS
- PIP — PIP Installs Packages
- PIPER — PIPER Is PIPER Expanded Recursively
- P.I.P.S. — P.I.P.S. Is POSIX on Symbian
- Qins — Qins is not Slow
- rif — rif is fun
- SPARQL — SPARQL Protocol And RDF Query Language
- TikZ – TikZ ist kein Zeichenprogramm
- TIARA — TIARA is a recursive acronym
- :fr:TiLP|TiLP — TiLP is a Linking Program
- TIP — TIP isn't Pico
- TRESOR – TRESOR Runs Encryption Securely Outside RAM
- UIRA — UIRA Isn't a Recursive Acronym
- WINE — WINE Is Not an Emulator
- XAMPP — XAMPP Apache MariaDB PHP Perl
- XBMC — XBMC Media Center
- XINU — Xinu Is Not Unix
- XNA — XNA's Not Acronymed
- XNU — X is Not Unix
- YAML — YAML Ain't Markup Language
- ZINC – ZINC Is Not Commercial
- Zinf — Zinf Is Not FreeAmp
- ZOMBIE - Zombie is Optical Measurement of Barcodes by In-situ Expressiona, a technique for analysis of individual cells
- ZWEI — ZWEI Was EINE Initially
Fictional
- TTP - a technology project in the Dilbert comic strip. The initials stand for "The TTP Project".
- GRUNGE - defined by Homer Simpson in The Simpsons episode "That '90s Show" as "Guitar Rock Utilizing Nihilist Grunge Energy", another uncommon example of a recursive acronym whose recursive letter is neither the first nor the last letter.
- KOS-MOS - a character from the Xenosaga series of video games. "KOS-MOS" is a recursive acronym meaning "Kosmos Obey Strategical Multiple Operating Systems". It's unclear if it counts as a true recursive acronym, however, as the Kosmos referred to in the acronym may simply be an alternate spelling of cosmos.
Mutually recursive or otherwise special
- The GNU Hurd project is named with a mutually recursive acronym: "Hurd" stands for "Hird of Unix-Replacing Daemons", and "Hird" stands for "Hurd of Interfaces Representing Depth."
- RPM, PHP, XBMC and YAML were originally conventional acronyms which were later redefined recursively. They are examples of, or may be referred to as, backronymization, where the official meaning of an acronym is changed.
- Jini claims the distinction of being the first recursive anti-acronym: 'Jini Is Not Initials'. It might, however, be more properly termed an anti-backronym because the term "Jini" never stood for anything in the first place. The more recent "XNA", on the other hand, was deliberately designed that way.
- Most recursive acronyms are recursive on the first letter, which is therefore an arbitrary choice, often selected for reasons of humour, ease of pronunciation, or consistency with an earlier acronym that used the same letters for different words, such as PHP, which now stands for "PHP: Hypertext Preprocessor", but was originally "Personal Home Page". However YOPY, "Your own personal YOPY" is recursive on the last letter.