Beatnik
ParadigmStack-oriented
Designed byCliff L. Biffle
DeveloperCliff L. Biffle
First appeared2001; 25 years ago (2001)
OSCross-platform
Websitecliffle.com/esoterica/beatnik.html
Influenced
l33t[1]

Beatnik is a simple stack-oriented esoteric programming language, by Cliff L. Biffle. A Beatnik program consists of any sequence of English words. Each word is assigned the score one would get for it in a Scrabble game. The value of the score determines what function is performed. Functions include pushing the score of the next word onto the stack, testing the stack and skipping forward or backward in the program and other stack operations.[2][3][4][5][6][7][8]

Overview

edit

Markup

edit

The interpreter reads the words in the poem, ignoring punctuation and whitespace and newlines. Some functions are one word, other functions have an argument (they are two-word functions). Two-word functions are described below in the form "5,n". This means both the word whose value is 5 and the next word (whose value is 'n') are read.[2][3]

Commands
Word value Pseudo-code Description
<5 NOOP Optional: Interpreter may mock you
5,n push(n) Push the next word's value onto the stack.
6 pop() Pop a number from the stack and discard it.
7 push(pop()+pop()) Pop two numbers, add them, and push the result.
8 push(input()) Input a character and push its value.
9 print(pop()) Pop a number and output it as a character.
10 push(pop()-pop()) Pop two numbers, subtract the first one popped from the second one popped, and push the result.
11 a = pop(); b = pop(); push(a); push(b) Pop two numbers, swap them, and push them back.
12 a = pop(); push(a); push(a) Pop a number and push it twice.
13,n if(top()==0) jump(+n) Pop a number and skip ahead n (actually n+1) words if the number is zero.
14,n if(top()!=0) jump(+n) Pop a number and skip ahead n (actually n+1) words if the number isn't zero.
15,n if(top()==0) jump(-n) Pop a number and skip back n words if the number is zero.
16,n if(top()!=0) jump(-n) Pop a number and skip back n words if the number isn't zero.
17 exit() Stop the program.
18-23 NOOP Optional: may mock you, but only if it has had a bad day.
>23 N/a Generates "Beatnik applause".
Legend
Pseudo-code Meaning
NOOP No operation
pop() remove the value off the top of the stack, and return it
push(x) place x on the stack
print(x) print the character x
input() read a character from the user. Blocks until character is read.
; separates multiple statements. They are run in order.
if(expression) statement if and only if the expression is true, execute the statement
jump(x) move the reading location forward or backwards by x words.

Here are the scrabble letter values, for reference.

Examples

edit

Hello World

edit

A "Hello World" example in the Beatnik language.[9]

Soars, larkspurs, rains.
Indistinctness.
Mario snarl (nurses, natures, rules...) sensuously retries goal.
Agribusinesses' costs par lain ropes (mopes) autos' cores.
Tuner ambitiousness.
Flit.
Dour entombment.
Legals' saner kinking lapse.
Nests glint.
Dread, tied futures, dourer usual tumor grunts alter atonal
  garb tries shouldered coins.
Taste a vast lustiness.
Stile stuns gad subgroup gram lanes.
Draftee insurer road: cuckold blunt, strut sunnier.
Rely enure pantheism: arty gain groups (genies, pan) titters, tattles, nears.
Bluffer tapes?  Idle diatom stooge!
Feted antes anklets ague?  Remit goiter gout!
Doubtless teared toed alohas will dull gangs' aerials' tails' sluices;
Gusset ends!  Gawkier halo!

Enter abstruse rested loser beer guy louts.
Curtain roams lasso weir lupus stunt.
Truant bears animate talon.  Entire torte originally timer.
Redo stilt gobs.

Utter centaurs;
Urgent stars;
Usurers (dilute);
Noses;
Bones;
Brig sonar graders;
Utensil silts;
Lazies.
Fret arson veterinary rows.

Atlas grunted: "Pates, slues, sulfuric manor liaising tines,
  trailers, rep... unfair!  Instant snots!"

Sled rested until eatery fail.
Ergs fortitude
  Indent spotter
Euros enter egg.
Curious tenures.
Torus cutlasses.
Sarong torso earns cruel lags it reeled.

Engineer: "Erase handbag -- unite ratification!"

oaring oaten donkeys unsold, surer rapid saltest tags
BUTTERED TIBIA LUGS REWIRING TOILETS
anion festers raring edit epilogues.
DIRGE ROTOR.
linnet oaring.
GORE BOOTIES.
Ironed goon lists tallest sublets --
Riots,
Raucous onset.

Ignobly, runners' diet anguishes sunrise loner.
Erode mob, slier switcher!
Loaners stilt drudge pearl atoll, risking hats' ends.

Rebind sitters.

Toga epistles -- crud lard.  (Pager purse dons souls.)

glob title a curio hired rites shed suds lade grease strut arctic revs toad
unless idlers rind stilt region land GERMICIDES SULTANA GUTS gill siting leans
nice spurs
tests gloves
roused asp

Holes!  Moles!  (Sores!)
Hygienists!  Scars!  (Asses!)
Smells spell rares.

Cubs instant sing in parse goodies.
Rosin.  Unhelpful sisal acres.  Slope told.
MALENESS PASTA LAB.  "Infirmary vine," rang illiterates (beans).
Rosin sours, insults truss abalones, nailed rules, helical atlases.
Dear remodeling stings mar rents.
Sunless shiner orb (silly idol.)
Clarity disses senna.
Vagabonds sauted; sloes performed gelds.
Alter post radial lip sectioning gums.
Saint Towellings.
Larger aeons telephone stolid char, pal!
Boats Dean forsook, rosters, tunas, terrariums -- united, traced.
Nude pagoda careens.

See also

edit

References

edit
  1. ^ "l33t Programming Language". www.oocities.org. Retrieved 2016-03-23.
  2. ^ a b "Beatnik - Esolang". esolangs.org. Retrieved 2016-03-23.
  3. ^ a b Biffle, Cliff (19 May 2001). "Beatnik – cliffle.com".
  4. ^ Gruppe, Bcher (2010-07-01). Esoterische Programmiersprache: Intercal, Brainfuck, Befunge, Shakespeare Programming Language, Whitespace, Ook!, Beatnik, Piet, Malbolge, Chef (in German). General Books LLC. ISBN 9781158960996.
  5. ^ "Beatnik | Cat's Eye Technologies". catseye.tc. Retrieved 2016-03-25.
  6. ^ "Beatnik". wiki.tcl.tk. Retrieved 2016-03-25.
  7. ^ "Acme::Beatnik - search.cpan.org". search.cpan.org. Retrieved 2016-03-25.
  8. ^ Paloque-Bergès, Camille (2009-01-01). Poétique des codes sur le réseau informatique (in French). Éditions des archives contemporaines. ISBN 9782914610704.
  9. ^ "Hello world program in esoteric languages - Esolang". esolangs.org. Retrieved 2016-03-23.
edit

📚 Artikel Terkait di Wikipedia

Beatnik

Beatniks were members of a social movement in the mid-20th century, who subscribed to an anti-materialistic lifestyle. They rejected the conformity and

List of programming languages by type

list of notable programming languages, grouped by notable language attribute. As a language can have multiple attributes, the same language can be in multiple

Brainfuck

an esoteric programming language created in 1993 by Swiss student Urban Müller [it; cs]. Designed to be extremely minimalistic, the language consists of

Hello, world

in most general-purpose programming languages, this program is used to illustrate a language's basic syntax. Such a program is often the first written

Beatnik (disambiguation)

Thomas Dolby Beatnik satellite, a Sputnik-99 satellite launch aborted by Swatch in 1999 Beatnik (programming language), an esoteric programming language

Beat Generation

popularized by members of the Silent Generation in the 1950s, better known as Beatniks. The central elements of Beat culture are the rejection of standard narrative

The Beatniks (film)

The Beatniks is an American crime film in the teensploitation genre directed by Paul Frees that was filmed in 1958 and released in 1959. It was also featured

Adventures in Modern Recording

Camera" and "Lenny" (where he also handled the drum programming) and played keyboards on "Beatnik". Other collaboraters included Julian Mendelsohn and