Zetaplex
Zetaplex, created by poiuy_qwert in 2007 is another varient of Gammaplex created by Lode Vandevenne. The two main differences between the languages are that commands are made up of a pair of characters, and the memory is an infinite tape of infinite stacks. This language was designed to be very functional.
Specification and Implementation
The current specification, documentation, and implementation can be found at the Author's Site.
Examples
These are all tested and work on the current implementation. I will also put up explenations later for some of the programs.
Hello, World!
Outputs "Hello, World!" to the screen.
"Hello, World!"SrOsDrFe
or
<eFrDoS"Hello, World"
or
\ / #111#87\ # # ###### 3 4 # # # # # 3 1 # # # # # # 1 # # # # # 1####### /44#23#/ # # # # 0 8 # # # # # 0 0 1 # # # # # 1 1 # # # # \ / \1#108sy 101#72Os DrFe#### ######
or
"Hell"\ /d!"S\o "/rFer, l\DsO/" \"roW /
Quine
Quine without using the source reading commands (Qg/QG):
"Sr34SZOsDrFe
Fibonacci sequence
Generates N numbers in the Fibonacci Sequence and writes them to the file "fib.txt"
s+1sys-"Generate amount: "SrOSDr3INsy1sfFG\2sfM->syF?\"fib.txt"SrfWF!\s+>syF?\fCFe \ >Fe / \MIfn10fc / \s+swM+s-Md
99 Bottles of Beer
Writes the 99 bottles of beer song to the file "bottles.txt".
9<nF" bottles of beer on the wall, "+sDm <nFZSrS01rS" bottles of beer." "Take one down and pass it around, "+s <nFrS01rS" bottles of beer on the wall."+s <nF"bottles.txt" fW F!\Fn 0sSFn\Fe /s+'slrs+'s1lR1sS\ /Fn 4sYMIfn1F=/s+ >Scfss-MIfn2s*Scfs0sSMIMdfn3s*Scfs0sSMdsyF?/fCFe s+'slr
Befunge interpreter
This is a fully functional Befunge interpreter written in Zetaplex! Works with current implementation.
"reterpretnI 39-egnufeB"DTFn >" :emaneliF margorP"OSDrs+"fb."8ISSZDcfRF!\Drs-sZ8sS1s+>frsyF!\sy13F=\ sy10F=\\ \ Zs-s/ ^ ds/+s<lhas/GFfslHasds/ >saHlF=,\ SrSZss9F=\s-Fb bFlhas/GFfslHasdsCfh h-Mss8/ \ / \ 23/ \"txt.tuodts"fWF!,FnFe \Fp \ < / 8sSHd0F=\Hd1F=\ Hd2F=\Mdsy0sfFG\ >Fn \ \sfMis yHlMiFG\ >sfFb \sdHh/ \ sd1/sd1\ /sdHl\8ssM-hh v \MisyHhMi FG/ > v \sfMdsy0sfFG/ >sf 0hj5#0Fg \HjL!F?,Fpsfsyhxsfsy8M+sSHxlgHsF?,Fnsy'"F=\1sc>sdFp sy47FG,Fnsy57sf FG\Fn \0hs/ sy'+ F=\ Fn sy'- F=\ Fn sy'* F=\ Fn sy47 F=\ Fn sy'% F=\ Fn sy'! F=\ Fn sy'` F=\ Fn sy62 F=\ Fn sy60 F=\ Fn sy94 F=\ Fn sy118 F=\ Fn sy'? F=\ Fn sy'_ F=\ Fn sy'| F=\ Fn sy'" F=\ Fn sy': F=\ Fn sy92 F=\ Fn sy'$ F=\ Fn sy'. F=\ Fn sy', F=\ Fn sy'# F=\ Fn sy'g F=\ Fn sy'p F=\ Fn sy'& F=\ Fn sy'~ F=\ Fn sy'@F=\ sdFn \ \48sfM-1scsd v \sd1sSM+ v \sd1sSsfM- v \sd1sSM* v \sd1sSsfM_ v \sd1sSsfM% v \sd1sSL! v \sd1sSsfFG,1,0# v \sd0hd v \sd2hd v \sd3hd v \sd1hd v \sd3#0MRhd \sd1sS F?\0\ \sd1sSF?\1\2v v \sd1hsFb \3> >hd v \sd1sSsy v \sd1sSsf v \sd1sSsd v \sd1sSfn v \sd1sSfc v \sd1hjFb / > > >0# v \sd1sShyhx-1HyFG/HyHhFG/-1HxFG/HxHlFG/Hy9M+sSHxMilgZZ1scsd v \sd1sShyhxhnHy0FG,FbHhMdHyFG,FbHx0FG,FbHlMdHxFG,FbHy9M+sSHnHxMils v \sd0sS" :rebmun a tupnI"OSDrs+InDcDrs-sZ v \sd0sS" :retcarahc a tupnI"OSDrs+IcDcDrs-sZ \5#0Fg\Fe
Brainfuck interpreter
This is a brainfuck interpreter written in Zetaplex! The original version was actually the first program writen in Zetaplex, but it was rewritten because of changes in the specification.
"txt.tuodts"fWMiF?,Fe"reterpretnI kcufniarB"DTFn >" :emaneliF margorP"OSs+"b."Dr8ISSZDcfRF!\s-sZ"...eliF gnidaeR"OsDrs-"><+-.,[]"s-Fn \ Zs-s/ >frsyF!\-1scs+liF?\s-sd> \fCsdSrSZFn\s- / >HrL!F?,Fn1hrDc"...margorP gninnuR"OsDrFn -2sSsaHxMisyhxFG\Dc"!etelpmoC margorP"OsDrFe sy62 F=\Fn \Hxlg sy60 F=\ Fn sy'+ F=\ Fn sy'- F=\ Fn sy'. F=\ Fn sy', F=\ Fn sy'[F=\ Fn \ ^ \sds--4scsd ^ \sds-s--3scsd ^ \sds-Mi ^ \sds-Md ^ \sds-syfc ^ \sds-sd3s*Dc" :tupnI"OSDrIcDcDr-3scsZhr ^ \sdHnsyhtMihns-syL!F?,Fbs+>saHxMisyhxFG\Dc"!etelpmoC margorP"OsDrFe sd/ \Hxlgsy'[F=\ sy']F=\ ^ \HnMihnFp\HnMdsyhnHtF=,Fpsd ^ \sdHnsyF?,FbMdht>HxMdsyhxlgsy'[F=\ sy']F=\Fn sd/ \HnMdsyhnHtF=,FbsdHxMdhxFp\HnMihn
Brainfuck to Zetaplex compiler
This converts Brainfuck code into Zetaplex code.
"atez.delipmoC"fWMiF?,Fe3sSsZ120#300DR996#0DG998sy3DG999#7DG900#6DGsS255sysy"relipmoC xelpateZ oT kcufniarB"DTFn 991sS30sys+68#269s+33sys+65#0s+150#78s+Fn v / \ >" :emaneliF margorP"OSs+"b."Dr8ISSZDcfRF!\s-sZ"...eliF gnidaeR"OsDr1001sS"><+-.,[]"s->frsyF!\1001scs+liF?\s-sd^ \ Zs-s/ \fCsdsahcFn \s- / 0sS"eFCf"Fn >999sS991#0DG992#1DGDb1#994sSsdHcHxM_233M*33M+993#0DG994#1DGDb"detelpmoC %"HcHxM_100M*MISSSZSySshwhhs+sw2HhM_sfM-sf2HwM_sfM-995#0DGs-Oss+2sDDr999sSsZFn 1000sSHxMihxHcHxFG,\ HxlgDcFn Fn \HlsS>ssF?\"Ss000001eF,?FiMWf""stdout.txt"">"SZfs \ sy62 F=\Fn \HlF?,\ " v"SZfsHlMnssF=,v >fCFe sy60 F=\ Fn \ -scf01/ sy'+ F=\ Fn \ / sy'- F=\ Fn sy'. F=\ Fn sy', F=\ Fn sy'[F=\ Fn \ \ /HlF?,Fn32syHlMnssF=,\ Fn ^ \sdHs2M+hsHlsS>ssF?/'+'s >s-Fp \ /HlF?,Fn32syHlMnssF=,\ Fn ^ \sdHs2M+hsHlsS>ssF?/'-'s >s-Fp \ /HlF?,Fn32syHlMnssF=,\ Fn ^ \sdHs2M+hsHlsS>ssF?/'i'M >s-Fp \ /HlF?,Fn32syHlMnssF=,\ Fn ^ \sdHs2M+hsHlsS>ssF?/'d'M >s-Fp \ /HlF?,Fn32#3sYHlMnssF=,\ Fn ^ \sdHs4M+hsHlsS>ssF?/"cfys"SZ >s-Fp \ /HlF?,Fn32#37sYHlMnss F=,\ Fn ^ \sdHs38M+hsHlsS>ssF?/"SssHZscssHrDcDcIrDSO""Input: ""Ss0shssds"SZ>s-Fp /" /"SZ \ /"\ "SZv /ssHnF=/HnMnssF=/" "SZv ^ \sdHs8M+hsHlsS>ssF?/"\?F!Lys>"SZ >HlMnssF=,\ HnMdhn \ -s/ /32saMdHsM-MdsY32#92 \ /32saMdHsM-MdsY47#32v / \ /ssHnF=/HnMnssF=/32sy v ^ \sdHnMisyhnHlsfFG/Hnhl>HlsS>ssF?/62#47 >HlMnssF=,\ Hs2M+hs \ -s/
An example is the basic Brainfuck cat program
,[.,]
converted to Zetaplex:
v / \ >"txt.tuodts"fWMiF?,Fe100000sSsdsshs0sS" :tupnI"OSDrIcDcDrHsscsZHssS>syL!F?\syfcsdsshs0sS" :tupnI"OSDrIcDcDrHsscsZHssS/>fCFe v \ /
Tic-Tac-Toe game
This is a basic tic-tac-toe game (does not work with the current public interpreter, but the author will release the updated interpreter soon):
"eot-cat-ciT"DT194syDR-1#64s+195#130Dbsfs-sfDbDr5sS31'AhT8sS'@8sYyny+s+Fn "([^@])..\1..\1"Srs+"([^@])...\1...\1|..([^@]).\2.\2.."Srs+"([^@])\1\1......|...([^@])\2\2...|......([^@])\3\3"Sr8sSFn >tsF?\2sD \2sDtc65sfM_MIsf65sfM_MIhXhYHTHY3M*HXM+Misy2M+lg'@F=\2sDFp HT'AF=\ \ \ls \0sSsZHY65M*MiHX65M*Mis+Fn \0sSsZHY65M*32M+HX65M*32M+Dp'AhT\ sZHY65M*62M+HX65M*62M+Dl61sfM-s-61M+Dl'BhT >DrFn 8sSSys+8Scs-RmF?\Sy10sS8Sc8sSRmF?\Sy11sS8Sc8sSRmF?\Fn ^ > > >Fn ts2sDF?\ / \ycDr8sSsZ'@8sY