Somnypna

Somnypna is an esoteric programming language created on 2013-8-14 by Peter Berg. He wrote it while he was extremely sleep-deprived and did not remember the act of writing it when he woke up later that day. Somnypna is his first esolang. The name is a combination of the Greek and Latin roots which both mean "sleep."

Instructions
A Somnypna program is started with the command "z.z.z." If this command is absent, the program is not valid. The original specification details that the filetype extension for a Somnypna program is .zzz, but to what extent this would be utilized is unknown. Commands are read in order from top to bottom, one at a time. The VOKE command, however, can cause the playhead to jump to another function.

A line in Somnypna ends with an apostrophe. This was done in order to enable an entire program to be written as a single line if necessary. Line breaks are recommended but not necessary. Comments are started with a comma and ended with a period. Comments can contain commas and periods as long as a comma starts it and a period ends it.

Somnypna uses two types of variables. A value has to be stored into a variable in order to create it. If a variable does not exist when it is called by a command, the command is ignored.

The first type of variable is in base-36 (0-9 A-Z) and can be an arbitrary alphanumeric string of up to 217 characters, and can have a decimal point. Base-36 variables are denoted by surrounding a name with two colons on either side, e.g. ::varA::. The alphabetic characters in a base-36 variable must be capitalized. All variables are public by default.

The second type of variable, called a manifold, is in hexadecimal (0-9 A-F) and can be of unlimited length, but cannot have a decimal point. Manifolds are denoted by surrounding a name with two semicolons on either side, e.g. ;;manifoldA;;. Manifolds can be used to store hexadecimal image data as a single unbroken string consisting of each pixel's hexadecimal value read from left-to-right and top-to-bottom.

All Commands
z.z.z. STRUCTURE,primary(

,This program doesn't actually do anything meaningful. It's just to demonstrate how all of the commands work.

RESORT,AAAAAA,FFFFFF' 10"::varA::'	::varA::"::varB::' AXLE"::varC::'	HI5"::varD::P' REC,::var0::' ::varB::+::varC::"::varE::'	::varE::-::varC::"::varN::' ::varB::X::varB::"::varF::'	::varB::Y::varB::"::varR::'

PLAY,::varC::' ARREST,::varE::' VOKE,secondary'

)'

STRUCTURE,tertiary(	MANIFOLD,2,2,;;manifoldA;;'	NOISE,;;manifoldA;;'	DRAW,(::varL::),;;manifoldA;;'	DRAW,(AAAAAAF0F0F0FF0000007CEE),;;manifoldA;;'	,Note here that the string AAAAAA would be replaced by FFFFFF because of the earlier RESORT command. This would make the upper left pixel white instead of grey.	HANG,;;manifoldA;;'	SHOOT,;;manifoldB;;'	SIGH,8,5,;;manifoldC;;'

VOKE,WAKEUP'

)'

STRUCTURE,secondary(	SCRAMBLE,6,::varK::'	REW,::varK::'	NEXUS,::varK::"::varG::'	WEDGE,::varG::"::varF::'	GLUE,::varK::,::varK::,::varK::,::varK::"::varL::'	CHOP,::varL::'	VOKE,tertiary' )'

WAKEUP'

Hello, World!
z.z.z. STRUCTURE,primary(	HelloWorld"::hello::'	PLAY,::hello::' )'

WAKEUP'

Or, as one line:

z.z.z.STRUCTURE,primary(HelloWorld"::hello::'PLAY,::hello::')'WAKEUP'

Cat program
z.z.z. STRUCTURE,primary(	REC,::inputA::'	PLAY,::inputA::' )'

STRUCTURE,picture(	,Also, optionally, draws a picture of a cat. 	,Image source: http://www.maxmcarter.com/favicon.gif . A row and a column of whitespace were removed.	MANIFOLD,15,15,;;cat;;'	DRAW,(FFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFF),;;cat;;' HANG,;;cat;;' )'

WAKEUP'