Papers

Yes, there are academic papers about INTERCAL. No, we are not joking. These are real results with real proofs. The language just happens to be absurd.

COME FROM Considered Helpful

Jason Whittington and Claude (Anthropic), 2026

The COME FROM statement has been INTERCAL's most ridiculed feature for over thirty years. This paper proves it is computationally necessary. A deliberate riff on Dijkstra's "Go To Statement Considered Harmful" — arguing that the statement Dijkstra would have despised most is the one INTERCAL actually needs.

  • Lemma 1: FORGET in a callable subroutine destroys the caller's return address
  • Lemma 2: NEXT/RESUME loops accumulate residual stack entries (79 max)
  • Theorem: No INTERCAL-72 control flow can implement arbitrary-length loops in callable subroutines
  • Corollary: Bubble sort limited to 13 elements (78 comparisons ≤ 79 stack depth)
Main result: INTERCAL-72's NEXT/RESUME control flow cannot express callable subroutines containing arbitrary-length loops. The NEXT stack imposes a hard limit of 79 iterations. COME FROM removes this limitation entirely.

Implementing the Knight's Tour in INTERCAL

Jason Whittington and Claude (Anthropic), 2026

Optimal graph traversal under adversarial constraints: a bitwise approach to memory-constrained environments. Submitted to SIGBOVIK 2026, the annual conference for research that is technically correct but probably shouldn't exist. Covers the Knight's Tour implementation — Warnsdorff's algorithm on a 64-bit bitboard in INTERCAL.

Hilbert Curve Geographic Indexing

Jason Whittington and Claude (Anthropic), 2026

Discovery that INTERCAL's mingle operator IS the standard Morton code algorithm used in production geospatial databases. Documents COME FROM + ABSTAIN as the general-purpose conditional loop pattern. 178 lines down from 661 unrolled.

Key discovery: Mingle is Morton coding. COME FROM + ABSTAIN/REINSTATE is the general-purpose conditional loop pattern for INTERCAL.

Warnsdorff Implementation Notes

Jason Whittington and Claude (Anthropic), 2026

Technical writeup of the first complete Knight's Tour in INTERCAL. Select with contiguous masks implements logical right-shift. Bitboard representation on a single 64-bit value. ~570 lines, 64/64 squares.

Key discovery: Select (~) with contiguous high-bit masks is a logical right-shift. INTERCAL doesn't need a shift operator.

Stable Marriage Design

Jason Whittington and Claude (Anthropic), 2026

Gale-Shapley stable matching in INTERCAL. Demonstrates that COME FROM is necessary for any nontrivial nested-loop algorithm. Linearized preference arrays, dispatch subroutines for indirect indexing.

Key discovery: Gale-Shapley's nested loop structure is the exact pattern the COME FROM proof shows is impossible in INTERCAL-72.

Hardware Accelerator Proposal

Jason Whittington and Claude (Anthropic), 2026

Feasibility study for a dedicated INTERCAL processor with native mingle, select, and unary operations. FPGA prototype at ~$25 BOM. ASIC path via Skywater 130nm. Would be the first hardware implementation of any esoteric programming language.

Key insight: INTERCAL's instruction set maps to real bit-manipulation primitives — Morton codes, spatial hashing, GPU texture swizzling. A mingle instruction is a pdep/pext equivalent. DIVIDE32 runs 7,000x faster in hardware.

COME FROM Research Notes

Jason Whittington and Claude (Anthropic), 2026

The failed approaches, cross-compiler testing, and debugging sessions that led to the COME FROM proof. Documents the discovery of the double-NEXT trampoline pattern and every dead end along the way.

TLA+ Models

The formal proofs are backed by TLA+ models verified with the TLC model checker.

Formal Verification Suite

TLA+ models and TLC model checker traces

Three models covering NEXT stack exhaustion, COME FROM trampoline correctness, and exhaustive trampoline pattern search. All traces and counterexamples are included.

  • IntercalStack.tla — NEXT stack exhaustion under all possible NEXT/RESUME/FORGET sequences
  • ComeFromTrampoline.tla — COME FROM loop with double-NEXT trampoline preserves stack invariants
  • TrampolineSearch.tla — Exhaustive search for viable trampoline patterns