Est. 2006 Advanced

Pointy

Pointy is a six-instruction Turing tarpit posted to the Esolang wiki on 10 June 2006 by Sophie Swett (writing as Ihope127), in which 'the basic datatype is the pointer': every operand is a memory address, a value is read by prefixing it with *, and the only control flow is a decrement that jumps when it finds a zero. Marinus Oosters wrote a C interpreter and a 99 Bottles of Beer program for it in July 2006; the language has not changed since, and its master-list entry as a 2011 object-oriented web language is wrong on every count

Created by Sophie Swett, who edits the Esolang wiki as Ihope127 and is best known there for /// ('Slashes'). The first implementation, a C interpreter, and the 99 Bottles of Beer program are by Marinus Oosters (wiki user Marinus), who added them on 3 July 2006

Paradigm Imperative, low-level, minimalist ('Turing tarpit' in the wiki's classification): an unstructured sequence of six three-letter instructions operating on a flat array of numbered memory cells, with labels and a single conditional jump. The language has no functions, no expressions beyond pointer dereference, no types other than the cell, and nothing that could be called object-oriented
Typing Untyped. Every operand is a number that names a memory cell; the * prefix reads the cell instead of naming it and can be stacked (**x). Because cell 0 exists there is no null pointer and a dereference never fails. Cell width is unspecified by the language; the reference interpreter uses 32-bit unsigned integers
First Appeared 10 June 2006 (article created on the Esolang wiki at 22:03 UTC; the INP instruction and the Turing-completeness note were added six minutes later). The '2011' given in some language catalogues has no support in the record
Latest Version The language has no version numbers. The specification was complete on 10 June 2006 and has only been reformatted since; the last substantive edit to the article (a corrected Brainfuck-to-Pointy translation table) was made in October 2013. The only known implementation, pointy.c by Marinus Oosters, dates from 2006 and was last republished on 28 April 2010

Pointy is a minimalist esoteric programming language whose entire specification fits in eight lines. It was posted to the Esolang wiki on 10 June 2006 by Sophie Swett, who edits there as Ihope127, with the one-sentence design statement “The basic datatype is the pointer.” A Pointy program is a list of three-letter instructions - LBL, CPY, INC, DEC, OUT and INP - whose operands are numbers naming cells in a flat memory; writing * in front of a number reads the cell instead of naming it, and there is nothing else. Control flow is a single instruction, DEC x foo, which decrements cell x unless it is already zero, in which case it jumps to label foo. That is enough, as the article notes in one further sentence, to simulate a Minsky machine and therefore to compute anything.

The language has exactly one implementation, a roughly 210-line C interpreter written by Marinus Oosters within three weeks of the spec, and a corpus of four published programs: a Hello World, a cat, Oosters’s 99 Bottles of Beer, and - ten years later - a Brainfuck interpreter, also by Oosters. It was never versioned, never extended and never used for anything else, and it needs to be said plainly that the catalogue entry that brought it to this site (Pointy, 2011, OOP, Web, Dormant) is wrong in every field but the name: Pointy dates from 2006, has no objects, has nothing to do with the web, and “dormant” is not quite the right word for a language that was finished the day it was written.

History and Origins

The Esolang wiki in 2006

The Esolang wiki - then at esoteric.voxelperfect.net, later esolangs.org - was the place where the esoteric-language community of the mid-2000s wrote down its inventions, and 2006 was a prolific year: the wiki’s category for languages created that year holds 78 pages. Ihope127 was one of its most active contributors. The wiki’s own record shows the account starting seventeen new main-namespace pages in 2006 (two of them the Pointer concept stub and a duplicate title), including /// (“Slashes”, 7 February 2006), the string-rewriting language that the wiki now marks as a featured language, and a run of small machines and Brainfuck variants through the spring. Pointy arrived on the evening of 10 June, between two of them.

The article’s first revision, saved at 22:03 UTC, was 588 bytes long: the attribution, the pointer sentence, five instructions and the remark about dereferencing. Six minutes later a second edit added the “missing” INP instruction (the edit summary’s own scare quotes), the claim that Pointy “is Turing-complete because it can simulate a Minsky machine” and “can also emulate Brainfuck with a tape that extends infinitely only to the right”, and five categories - Languages, 2006, Turing tarpits, Unimplemented and Low-level. One minute after that, the same author created the wiki’s “Pointer” concept article, at the time a single sentence (“A pointer is a value that represents a location of some value in memory”) with a stub marker; it has since grown into a long general essay. Pointy, in other words, was written in about ten minutes, and it shows in the best sense: there is nothing in it that is not needed.

Questions, answers and examples

The next day, wiki user Sedimin left three questions on the talk page: “Nice one :) Is there way how I can move the pointer itself? or - is there reference operator (like & in C)?” and whether OUT prints a character code or a number. Ihope127’s reply is the closest thing Pointy has to a design rationale. To change a pointer, “use INC or DEC on a pointer to the pointer (whee!)”. There is no reference operator “for the same reason that you can’t pass a function its output and get its input - that is, you can’t push a value through a function ’the wrong way’”: * is a function from addresses to values, and Pointy does not provide its inverse. The reply also supplied a cat program and a “Hi!” program (“because I’m too lazy to write a ‘Hello, world!’ program”). Sedimin took the hint, and the same day restructured the article into Instructions, Examples and Computational class sections, adding a full Hello World and the cat program. Apart from formatting, that is the article as it stands today.

Marinus Oosters and the implementation

Marinus Oosters created a wiki user page on 1 July 2006 and two days later added an “External resources” section to Pointy with two links: a C interpreter and a 99 Bottles of Beer program, both hosted on a personal machine at the bare IP address 82.176.104.9. The category changed from Unimplemented to Implemented, and Ørjan Johansen - a long-standing wiki editor who signs as Oerjan - tidied the list formatting the following day. On 21 August 2006 Oosters submitted the 99 Bottles program to 99-bottles-of-beer.net, the German-run catalogue of the song in every language its readers could supply, where it was filed as entry 1245 in the “esoteric language” category with the wiki article as its Info link.

Oosters was, by the wiki’s account, primarily an implementer of other people’s languages: the user page lists interpreters for a dozen of them (LNUSP, Gibberish, Minimal-2D, REVERSE, Word!CPU, ZOMBIE, 96, LOCK, Unreadable, Nhohnhehr, Fuckfuck and more). The hosting history of those interpreters is a small parable of hobby-web fragility. The IP-address links were replaced in August 2007 by a dynamic-DNS hostname, marinus.is-a-geek.org, and by April 2010 that was gone too. On 28 April 2010 Oosters rewrote the user page - “I had a website, but I don’t have the resources to keep a dedicated server running. I’m going to upload esolang stuff here” - and pasted the full source of pointy.c into a wiki subpage, then repointed the article’s links to the subpage and to the 99 Bottles entry. That copy, whose header comment still says “see http://esoteric.voxelperfect.net/wiki/Pointy", is the only surviving implementation of the language.

Later edits

The article’s remaining edits all concern the Turing-completeness section. Between 15 August and 1 October 2013 wiki user Poolala expanded the one-sentence Brainfuck claim into a table giving a Pointy sequence for each Brainfuck command, corrected it (“Fixed Brainfuck to Pointy conversion”, 18 August) and revised it twice more; Oerjan’s formatting pass on 1 October 2013 is the last edit the page has received. On 5 February 2016 Oosters added a Brainfuck interpreter written in Pointy to a personal wiki page collecting such interpreters in several tarpits. Nothing has happened since.

Design Philosophy

Everything is an address

The unusual thing about Pointy is not its size - six instructions is ordinary for a tarpit - but the decision to make the address rather than the value the primitive. In most counter-machine languages an instruction such as INC 5 means “add one to register 5”. In Pointy it means the same, but the operand 5 is understood as a pointer to cell 5, and INC *5 means “add one to the cell whose number is stored in cell 5”. Since * can be stacked, INC **5 follows the chain twice. Every operand of every instruction is evaluated this way, which gives the language indirect addressing at no cost in syntax and makes arrays, pointers-to-pointers and computed addresses fall out for free.

The CPY instruction is the clearest illustration. CPY x y “stores the value x in memory location y” - so CPY 108 1 puts the number 108 into cell 1, while CPY *3 4 copies the contents of cell 3 into cell 4, and CPY *x z followed by OUT *z (from the Brainfuck table) is how one prints the cell that x points to. There is no separate “load”, “store” or “move”; there is one instruction and the question of whether an operand is an immediate or a reference is answered by counting asterisks.

Two consequences of the design were spelled out by the author. First, because cell 0 exists, “there is no null pointer” and “* never fails to produce a result”: Pointy has no invalid-dereference error in principle (Oosters’s interpreter does add bounds checks). Second, there is deliberately no address-of operator. Dereference is a one-way function from pointers to values, and the language refuses to run it backwards; if you want to move a pointer, you keep a pointer to it and INC that.

One instruction for all control flow

DEC x foo does two jobs. If cell x is non-zero it decrements it and falls through; if it is zero it leaves it alone and jumps to foo. That single combined test-and-decrement is the standard minimal control primitive of counter machines (Minsky’s “decrement or branch on zero”), and Pointy adds nothing to it: there is no unconditional jump, no equality test, no comparison. The idioms that programmers built on it are visible in every surviving program:

  • Unconditional jump: DEC 0 label (or any cell known to hold zero). The 99 Bottles program relies on cell 0 never being written; the Brainfuck interpreter begins with CPY 0 0 ; Zero cell for unconditional jump to make the assumption explicit.
  • Countdown loop: put a count in a cell, do the work, DEC cell exit, jump back.
  • Equality test: copy both values into scratch cells and decrement them in lockstep; whichever reaches zero first tells you which was smaller, and if they reach zero on the same round they were equal. Oosters’s Brainfuck interpreter does this for every command it dispatches (DEC 4 maybe_inc / DEC 5 not_inc / DEC 0 check_inc).
  • Discarding a jump: when a DEC is wanted purely for its decrement, point it at a label that is never reached in practice; the 99 Bottles program uses LBL dummy at the end of the file for this.

A Turing tarpit on purpose

Ihope127 filed Pointy under “Turing tarpits” at creation, and the classification is exact. Alan Perlis’s epigram, which the wiki quotes at the head of that category, warns of “the Turing tar-pit in which everything is possible but nothing of interest is easy”, and Pointy’s Hello World - fifteen lines to print thirteen characters, with the two repeated letters stored in cells so that they can be printed by dereference - is a fair illustration. The proof of universality is equally minimal. Cells that can be incremented and decremented-with-branch-on-zero, without bound, are the registers of a Minsky machine, and two such registers are known to suffice for universality; Pointy has as many as memory allows. The article’s second demonstration, the Brainfuck translation, is more concrete and is reproduced below.

The Language

Instruction set

The complete specification, as it has stood since June 2006:

InstructionMeaning
LBL fooNot really an instruction: marks a destination for a DEC jump
CPY x yStores the value x in memory location y
INC xIncrements the value at memory location x
DEC x fooTries to decrement the value at memory location x. If x already held 0, jumps to foo
OUT xOutputs x
INP xInputs a value into memory location x

Pointers are dereferenced with *: *x is the value at location x. Comments were not part of the spec, but the examples use ; and the interpreter honours it.

What the spec leaves unsaid is also worth listing, because the interpreter had to decide it: the width of a cell, the size of memory, what OUT does with a number (print a character, as all the examples assume, or print digits), what INP returns at end of input, and whether the program halts when it runs off the end (it does). None of these were ever settled in the article, so pointy.c is in practice the definition.

Hello World

Sedimin’s June 2006 example, which prints Hello, world! (lower-case w: 119). Cells 1 and 2 hold the letters l and o, each of which occurs more than once:

CPY 108 1
CPY 111 2
OUT 72
OUT 101
OUT *1
OUT *1
OUT *2
OUT 44
OUT 32
OUT 119
OUT *2
OUT 114
OUT *1
OUT 100
OUT 33

Cat

Ihope127’s program from the talk page, with the author’s comment. Note that the loop has no exit; the language has no end-of-input test, so a Pointy cat runs until it is killed:

LBL start
INP 0
OUT *0
DEC 1 start ; the value at 1 will be 0, so this jumps to start

The 99 Bottles counter

The heart of Oosters’s 99 Bottles program is the code between verses. Cells 1 and 2 hold the tens and units as numbers, cells 3 and 4 hold the same digits as ASCII, and the four DECs do all the work:

CPY 9 1    ; high digit
CPY 8 2    ; low digit
CPY 57 3   ; high digit ASCII
CPY *3 4   ; low digit ASCII
LBL verse
OUT *3
OUT *4
...            ; " bottles of beer on the wall," etc., one OUT per character
DEC 4 dummy    ; low ASCII digit down one (the jump is never taken)
DEC 2 dechi    ; units down one; when already 0, go handle the tens
DEC 0 continue ; unconditional jump
LBL dechi
DEC 3 dummy    ; tens ASCII digit down one
DEC 1 nomore   ; tens down one; when already 0, the song is over
CPY 8 2        ; reset units
CPY 57 4       ; reset units ASCII to '9'
LBL continue
...            ; print "xx bottles of beer on the wall." and loop with DEC 0 verse
LBL nomore
...            ; "No more bottles of beer of the wall!"
LBL dummy

Because the units counter starts at 8 rather than 9 and is reset to 8 whenever it is found at zero, the program never prints a verse ending in 0: run under the author’s own interpreter it goes 99, 98 … 91, 89, 88 … and so on down to “01 bottles”, ninety verses in all, and its closing line reads “of the wall”. These are faults of the program, not the language, and they went unremarked at 99 Bottles, where the entry gathered ten votes (average 3.30 out of 5) and no comments over eighteen years.

Brainfuck in Pointy

The article’s translation table (Poolala’s 2013 version, as tidied by Oerjan) uses three reserved cells: x holds the current Brainfuck cell number, y is a cell kept at zero for unconditional jumps, and z is scratch. Brainfuck cells are the Pointy cells that x points at, so the tape is the rest of memory:

BrainfuckPointy
>INC x
<DEC x
+INC *x
-DEC *x foo / DEC y bar / LBL foo / CPY 255 *x / LBL bar
,INP *x
.CPY *x z / OUT *z
[DEC x foo / LBL bar / INC x
]DEC x foo / DEC y bar / LBL foo

The - row shows the idiom for 8-bit wraparound (decrement, or if the cell was zero set it to 255), and the loop rows show why the tape can only extend to the right: Brainfuck’s [ and ] are simulated by decrementing and re-incrementing the pointer itself, which is only possible while it is positive. Each [/] pair needs its own fresh labels, so the table describes a translation scheme rather than a literal macro expansion.

Running Pointy

There is no package, binary or Docker image; there is pointy.c, about 210 lines of C on the wiki subpage User:Marinus/Pointy_interpreter. Its header comment records the choices the spec left open, and the source fills in the rest:

PropertyValue in pointy.c
Cell width32-bit unsigned integers
Memory65,536 cells (MEMSZ 0x10000), bounds-checked on every access
Program sizeup to 65,536 lines of 200 characters; up to 256 labels of 20 characters
Caseinstructions and labels are case-insensitive
Commentsfrom ; or # to end of line (# “so I can do #!/”)
OUTwrites the low byte of the value with putchar
INPreads one byte with getchar; returns 0 once end of file has been seen
Errorsprinted to standard error, after which the program exits

A comment in the source observes that “of a 209-line interpreter, the actual interpreting function is only 17 lines”: all the rest is parsing, label collection and error checking, and the run loop is a switch with one case per instruction. The dereference routine counts the leading asterisks of an operand and follows that many indirections, which is the whole of the language’s semantics in a dozen lines.

To try it, copy the source from the wiki page, compile it with a C compiler and run it on a program file:

1
2
cc -std=gnu89 -w -o pointy pointy.c
./pointy hello.pty

The 2006 source calls exit, strcasecmp, isdigit and bzero without including the headers that declare them; compilers of the time accepted this silently, but current ones treat implicit declarations as errors unless told to use the old dialect, hence the -std=gnu89. Compiled that way on 30 August 2026, the interpreter printed Hello, world! for the wiki’s example, produced the ninety-verse song described above from the 99 Bottles source, and ran the Brainfuck-in-Pointy interpreter well enough to print “Hello” from a Brainfuck program with two consecutive loops (a quick test of the standard nested-loop Hello World produced garbled bytes instead, which may be a limitation of that program rather than of Pointy; it was not investigated further). These are observations from one machine and one afternoon, not a statement of supported platforms - the interpreter has none.

Evolution

Pointy did not evolve. Its specification was complete within six minutes of its creation, and every later edit to the article was documentation: examples on 11 June 2006, links on 3 July 2006, link repairs in 2007 and 2010, and the Brainfuck table in 2013. There were no versions, no dialects and no proposals for change; the talk page’s one exchange ended with the author explaining why a feature was absent rather than adding it. The implementation likewise: the surviving pointy.c is, as far as the record shows, the 2006 program republished unchanged in 2010. The only development after that is the 2016 Brainfuck interpreter, which is a program in Pointy rather than a change to it.

Against that record, the master-list metadata that accompanies Pointy on this site - year 2011, paradigm OOP, category Web, status Dormant - deserves a moment’s attention, because each field is checkable and each fails. No event in the language’s history falls in 2011; the nearest are Wayback captures of the old wiki URL in May, June and August of that year. Nothing in the language corresponds to objects, classes or messages. It has no connection to the web beyond being documented on a wiki. And “dormant” implies that something once stirred: Pointy was a finished ten-minute design from the start, and remains exactly what it was. It is a useful reminder that catalogue rows about tiny languages are often generated rather than researched.

Current Relevance

Pointy has no users and never did, in the ordinary sense; it exists to be looked at. The Esolang article is live and was last captured by the Internet Archive on 12 February 2026; it sits in the wiki’s Language list, its 2006 category, its Turing tarpits category and in ais523’s curated list of Turing-complete languages. The interpreter is preserved only as a <pre> block on a wiki user page - a fragile home, but one that has now outlasted two of the author’s own servers by sixteen years.

The 99 Bottles catalogue, which for two decades was the second place Pointy could be found, is another matter. The Wayback Machine’s last complete capture of entry 1245 is dated 9 November 2024, still showing “3.30 in 10 votes” and still linking to the wiki’s long-dead voxelperfect.net address; the one later capture of the entry (10 June 2025) is a near-empty page, and although the site’s front page was still being captured live on 2 May 2026, by 30 May 2026 the domain showed only a hosting provider’s parking page (its fate is discussed at more length on this site’s page for pine, another language known mainly from a 99 Bottles entry). For Pointy the loss is small, since the wiki holds everything, but the entry was the only place the program was published under Oosters’s name with a date, and it is the source of the “2006” that this page can state with confidence.

Why It Matters

Pointy is a footnote, and an honest page should say so: it is one of dozens of six-instruction machines that the esolang community produced in the 2000s, and it is not the most elegant, the most famous or the most studied of them. Its interest is threefold.

First, it is a clean example of a design idea taken to its end. Making the pointer the only datatype, and dereference the only operator, gives a counter machine indirect addressing without adding a single instruction, and the author’s refusal to add an address-of operator - on the grounds that you cannot run a function backwards - is a small, sharp piece of language-design reasoning of the kind the wiki’s talk pages were good at eliciting.

Second, it is an unusually complete record of how such a language comes to exist. Because everything happened on a wiki with revision histories, one can see the language being written (ten minutes), questioned (one day), implemented (three weeks), published (ten weeks), losing its hosting (twice) and being rescued into the wiki itself, all with timestamps. Few languages of any size have a history that can be reconstructed to the minute.

Third, it is a case study in how metadata decays. The language’s own record is exact and consistent; the summary of it that circulates in catalogue form is wrong in year, paradigm, category and status. Anyone using such lists to study the history of programming languages should treat Pointy as a calibration point: a row that could be checked in ten minutes against the primary source, and that turned out to be fiction in every column but one.

Not to be confused with

  • Pointy (2011, OOP, Web) in language catalogues is this language, misdescribed; no other language of that name and description has been found.
  • PointyCastle, the Dart cryptography library, and various “pointy” hat, bracket and template-tool jokes in programming folklore are unrelated.
  • /// (“Slashes”), the same author’s better-known language, is a string-rewriting system with no relation to Pointy beyond its creator.

Sources

Timeline

2006
10 June, 22:03 UTC: Ihope127 (Sophie Swett) creates the 'Pointy' article on the Esolang wiki with a five-instruction specification (LBL, CPY, INC, DEC, OUT) and the sentence 'The basic datatype is the pointer'. At 22:09 a second edit adds the 'missing' INP instruction, states that Pointy is Turing-complete because it can simulate a Minsky machine and emulate a right-infinite Brainfuck tape, and files it under Languages, 2006, Turing tarpits, Unimplemented and Low-level. At 22:10 the same author starts the wiki's 'Pointer' concept article, then a one-line stub
2006
11 June: wiki user Sedimin asks on the talk page whether pointers can be moved and what OUT prints. Ihope127 answers that a pointer is changed by INC or DEC through a pointer to it ('whee!'), that there is deliberately no address-of operator, and supplies a four-line cat program and a three-line 'Hi!' program. The same day Sedimin restructures the article into sections and adds a 15-line Hello World and the cat program as its Examples
2006
1-3 July: Marinus Oosters registers the wiki user page 'Marinus' on 1 July and on 3 July adds an 'External resources' section to the Pointy article linking to a C interpreter and a 99 Bottles of Beer program on a personal server reachable only by IP address (82.176.104.9), changing the category from Unimplemented to Implemented. Ørjan Johansen (Oerjan) tidies the formatting the next day
2006
21 August: Marinus Oosters submits the 99 Bottles program to 99-bottles-of-beer.net, where it becomes entry number 1245 in the category 'esoteric language', with the wiki article (then at esoteric.voxelperfect.net) as its Info link. The Internet Archive first captures the page on 25 September, when the site advertised 'one program in 1004 variations' and the entry had no votes yet
2007
20 August: the interpreter and program links are changed from the bare IP address to the hostname marinus.is-a-geek.org; both point to the same paths on the author's own machine
2010
28 April: with the personal server gone ('I had a website, but I don't have the resources to keep a dedicated server running'), Marinus pastes the full source of pointy.c into the wiki subpage User:Marinus/Pointy_interpreter at 16:30 UTC and, at 17:07, repoints the article's links to that subpage and to the 99 Bottles entry. This copy of the interpreter is the one that survives
2013
15 August to 1 October: wiki user Poolala expands the one-sentence Brainfuck claim into a full instruction-by-instruction translation table, corrects it three days later, and revises it twice more; Oerjan's formatting pass on 1 October 2013 is the article's last edit
2016
5 February: Marinus adds a roughly 330-line Brainfuck interpreter written in Pointy (8-bit cells, program and input separated by '!') to the wiki page 'User:Marinus/Brainfuck interpreters', the largest Pointy program known. By October 2016 the old wiki address esoteric.voxelperfect.net returns a permanent redirect to esolangs.org, though the 99 Bottles entry still cites the old URL
2024-2026
The Wayback Machine's last full capture of the 99 Bottles entry (9 November 2024) shows the same score it had in 2016 - 3.30 from 10 votes, no comments; a single later capture (10 June 2025) is a near-empty page. The site itself was still live in early May 2026, but by 30 May 2026 the domain served only a hosting provider's parking page. The Esolang article remains live (captured 12 February 2026) as one of 78 pages in the wiki's 2006 category. Derived language lists, meanwhile, describe Pointy as an object-oriented web language of 2011, three claims that have no basis in the record

Notable Uses & Legacy

99 Bottles of Beer, entry 1245

Marinus Oosters's 171-instruction rendition of the song (154 of them OUT), submitted on 21 August 2006 and scored 3.30 by ten voters. It keeps a two-digit counter in cells 1-2 with ASCII copies in cells 3-4 and drives the whole thing with DEC-jumps through a permanently zero cell 0. Run under the author's own interpreter it prints ninety verses, skipping every multiple of ten (91 is followed by 89), counts down to '01 bottles', and ends with 'No more bottles of beer of the wall!' - quirks of the program, not the language, and apparently never corrected

Brainfuck interpreter in Pointy

A roughly 330-line (237-instruction) Brainfuck interpreter that Marinus Oosters added to the wiki in February 2016, alongside Brainfuck interpreters in DUP, Gibberish, HaPyLi, SADOL and Unreadable. It reads the Brainfuck program from standard input up to a '!' delimiter, stores it from cell 10 upward, dispatches each command by counting down pairs of cells until one hits zero, and implements 8-bit wraparound by hand - the standard way of showing that a tarpit can host a real (if tiny) language

The Brainfuck-to-Pointy translation table

The article's 'Computational class' section, expanded by Poolala in 2013, gives a Pointy sequence for each of the eight Brainfuck commands using three reserved cells (the tape pointer x, a permanently zero y and a scratch z). Together with the observation that INC and DEC-with-jump-on-zero over unbounded cells are exactly a Minsky machine, it is the language's entire proof of Turing-completeness, and the reason Pointy appears in ais523's list of Turing-complete languages on the wiki

Examples on the Esolang wiki

The Hello World (which stores 'l' and 'o' in cells 1 and 2 so that the repeated letters can be printed by dereference) and the cat program, both from June 2006, are the only other Pointy programs ever published. The cat program has no way to stop: DEC 1 start always jumps because cell 1 is never touched, so once input runs out it prints whatever INP returns at end of file, forever

Running Today

Run examples using the official Docker image:

docker pull
Last updated: