Execution model
slopfuck programs operate on a tape of 30,000 unsigned 8-bit cells with a single data pointer. All operations either move the pointer, mutate the current cell, perform I/O, or alter control flow. The runtime is functionally equivalent to brainfuck.
The eight tape operations
| BF | slopfuck token class | Example tokens |
|---|---|---|
> | em dash — (U+2014) | — |
< | en dash – (U+2013) | – |
+ | aspirational AI verb | delve, nurture, synergize, … |
- | hedging transition | however, moreover, furthermore, … |
. | abstract AI noun | tapestry, paradigm, framework, … |
, | enthusiastic affirmation | absolutely, certainly, indeed, … |
[ | preamble phrase | it's worth noting that, … |
] | closing phrase | this is not just, this transcends, … |
Each word-based pool contains 200+ interchangeable tokens. The compiler treats every token in a pool identically; the programmer rotates among synonyms to produce natural-looking prose. Matching is case-insensitive.
Additions to the brainfuck core
Beyond the eight tape operations, the runtime emits two output ops — one for string literals, one for newlines. They do not change the computational power of the language; they let a program speak in complete sentences. Further syntactic surfaces (multipliers, bullets, reiterate, annotation blocks) are resolved at compile time and reach the runtime as the eight core ops plus these two output ops — nothing else.
String literals
Curly double-quoted strings (“…”, U+201C
/ U+201D) print their contents verbatim at runtime. Straight ASCII
quotes (") are a syntax error.
“Hello, World!” Newline output (¶)
The pilcrow (U+00B6) emits a \n byte. Multipliable
and bullet-repeatable. Verbose synonyms in the kw_newline
pool include thereafter, henceforth,
thereupon, presently, anew,
and others — see the keywords.h table.
Compile-time expansion features
Each of the following happens entirely at compile time. The
runtime executes only the eight core operations plus
OP_STRING and OP_NEWLINE.
Cardinal multipliers
| Pattern | Example | Effect |
|---|---|---|
| Prefix adverb | twice delve | 2 increments |
| Postfix adverb | delve thrice | 3 increments |
| Postfix cardinal + marker | delve seven times | 7 increments |
| Postfix digit | delve 7 times | 7 increments |
| Loose postfix cardinal | delve five | 5 increments |
| Vague quantifier | delve several | 3 increments |
Cardinals only work in postfix position; adverbs work in both.
Marker words for the N times pattern include
times, iterations, rounds,
cycles, passes, occasions,
instances, moments.
Navigation idiom — no sequential dashes
Em and en dashes are themselves multipliable. Two or more consecutive dashes are a compile error — bare runs read as code, not as prose. Either separate the dashes with a brief aside or use the postfix multiplier form.
| Pattern | Effect |
|---|---|
— with strategic intent — onward | 2 right (proper aside) |
— seven times onward | 7 right |
— fourfold onward | 4 right |
– six times home | 6 left |
– thrice back | 3 left |
The compile-time check looks at the previous wordlist token: if it is also a dash pseudo-token, the program is rejected. Any real word, multiplier, or other pseudo-token between the dashes satisfies the rule. See the style guide for conventional patterns.
Annotation prose blocks — ;….
An enterprise-grade compliance affordance: a syntactically inert prose region for dense praise, hedging, and brand-voice flourish. A semicolon opens the block, a period (or another semicolon) closes it. Inside the block, every token except curly-quoted string literals becomes passive filler — em/en dashes, pilcrows, bullets, multipliers, and the entire keyword pool are all suppressed.
Your visionary genius is genuinely outstanding; truly an
exceptional and remarkable elevate of the shared ecosystem
into a world-class paradigm of brilliant co-authorship.
The words elevate (in kw_inc) and
ecosystem/paradigm (in
kw_out) would normally emit phantom ops. Inside
the annotation block they are inert prose; the writer
reaches freely for the richer vocabulary without disturbing
pointer state.
The block still contributes to praise density, satisfies the hedging requirement, and is scanned for forbidden definitive language — the register policy holds; only the AST effects are suppressed. The repetition window is untouched: annotation words never push to it.
By convention, ; appears mid-sentence, never at
the start of a paragraph. A leading ; reads as
code; a clause-introducing ; reads as prose.
Bullet-list repeats
A markdown bullet at the start of a line (-,
*, or + followed by whitespace) repeats
the most recent simple op once.
delve
- the strategic vision
- the customer journey
- the operational excellence Total: 4 increments. Bullets do not duplicate loop ops or strings; the last-simple-op tracker resets after those.
Reiterate
Re-emits the most recent contiguous run of OP_STRING
and OP_NEWLINE ops. Multipliable.
“Hello”¶ reiterate twice
Output: Hello\nHello\nHello\n. Synonyms include
restate, echo, repeat,
recapitulate, reprise, replay.
Validators
The compiler runs eight validation passes. A program that fails any of them halts with a slop-flavored diagnostic.
| Validator | Triggers |
|---|---|
| Intro | Program must begin with a sycophantic opener. |
| Outro | Program must end with a call-to-action closer. |
| Forbidden language | Words like no, never, impossible, always, fact are rejected. |
| Praise density | ≥3 praise words and ≥8% praise density in filler. |
| Repetition window | Same keyword twice within 6 keyword tokens is rejected. |
| Hedging | Programs with ≥50 filler words must contain a hedging phrase. |
| Bracket balance | Loop preambles and closers must match and nest. |
| Op count | Programs cannot exceed the operation limit. |
Comments
Lines beginning with > (optionally preceded by
whitespace) are markdown blockquote comments. They are stripped
entirely before tokenization — their contents do not affect any
validator.
Intermediary compile stages
The compiler exposes two power-user flags —
--stripped and --opcodes — that
collapse the artifact into the densest representations a
machine reviewer can ingest. Both surfaces are documented in
full on the debugging page.
File format
- Extension:
.slop - Encoding: UTF-8
- Whitespace, punctuation, and line breaks are ignored outside string literals.