COBOL
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
- This is not the page of the non-esoteric language COBOL.
COBOL is an esoteric programming language designed by User:IslandHopper973. It stands for "Card Orientations Based Object Language", and it takes the form of Player, Game and Deck definitions. The Deck definition consists of a list of playing cards, each of which is linked to some instruction.
Explanation
All programs begin with a preamble defining how many, and the names of each player. Following that is the draw order. Programs are meant to read like a game history, listing of what cards each player drew during the course of play.
Each player has a stack and an accumulator (called score). Each card identifier corresponds to an instruction, for instance 4H
(4 of hearts) corresponds to the operator which pops two numbers and assigns a players score with the popped values. Sub-programs can be created and are called procedures, which can have their own set of players, and can be called from the main program, or between each other.
Since each player has a stack and a variable, with both being implicitly unbounded, COBOL is Turing complete with one player.
Example programs
The cat program:
Players: Jim, Bob Game 1 3H,8H,5D,1S,6D,KC,QC,KC,4H,KC,1S,KC,7D,KC,6H,KC, 1S,KC,1S,KC,1C,KC,4D,KC,4D,KC,8H,KC,2S,KC,6H,KC, 1S,KC,5D,KC,6D,KC,5H,KC,7H,KC,1H,KC,QC,KC,1S,KC, 2C,KC,4D.
A program which prints the lyrics to 10 Green Bottles (a shorter alternative to 99 Bottles of Beer on the Wall):
Players: Jim Game 1 4H,1S,10S,6H,1S,5D,6D,8D,1S,8D,1S,QH,7Q,1H,QC,8R,1H,QC,QR,1H,QC,KH,QQ,1H,QC, 5R,1H,QC,3Q,1H,QC,KH,QQ,1H,QC,1S,2H,QC,KH,QQ,1H,QC,8D,2S,KH,QQ,1H,QC,10R, 1H,QC,4Q,1H,QC,8R,1H,QC,JR,1H,QC,6Q,1H,QC,2Q,1H,QC,KH,QQ,1H,QC,1R,1H,QC,2R, 1H,QC,2R,1H,QC,5R,1H,QC,2Q,1H,QC,3R,1H,QC,7Q,1H,QC,10Q,1H,QC,1R,1H,QC,6Q,1H, QC,6Q,1H,QC,KR,1H,QC,KH,QQ,1H,QC,3Q,1H,QC,1R,1H,QC,6Q,1H,QC,6Q,1H,QC,KH,QR, 1H,QC,1S,2C,QH,10Q,1H,QC,4Q,1H,QC,3R,1H,QC,9Q,1H,QC,3R,1H,QC,KH,KR,1H,QC, 6Q,JC,1H,QC,1H,QC,KH,QQ,1H,QC,1Q,1H,QC,3R,1H,QC,8D,1S,KH,9Q,1H,QC,KH,QR,JC, 1H,QC,1H,QC,4D. Fixture: 1 Players: Jim Game 1 6H,1S,2H,QC,KH,QQ,1H,QC,8D,2S,1S,2C,1D,1S,1C,2D,10R,1H,QC,4D,3D,1D,2D,KC,4D, 3D,10R,1H,QC,4D,4D,KH,QQ,1H,QC,8D,3S. Fixture: 2 Players: Jim Game 1 4R,1H,QC,9Q,1H,QC,3R,1H,QC,3R,1H,QC,7Q,1H,QC,KH,QQ,1H,QC,1Q,1H,QC,8R,1H,QC, 10Q,1H,QC,10Q,1H,QC,6Q,1H,QC,3R,1H,QC. Fixture: 3 Players: Jim Game 1 10R,1H,QC,10Q,1H,QC,1R,1H,QC,7Q,1H,QC,2Q,1H,QC,5R,1H,QC,7Q,1H,QC,4R,1H,QC, KH,QQ,1H,QC,8R,1H,QC,7Q,1H,QC,KH,QQ,1H,QC,10Q,1H,QC,4Q,1H,QC,3R,1H,QC,KH, QQ,1H,QC,QR,1H,QC,1R,1H,QC,6Q,1H,QC,6Q,1H,QC,KH,QR,1H,QC.
External resources
- The specification for COBOL (from the Wayback Machine; retrieved on 10 June 2012)