Pluso
Jump to navigation
Jump to search
Pluso is an esoteric programming language created by User:Icepy in 2014. This programming language is called pluso because it has two commands: plus and output. The o standing for output, of course. The only data structure in pluso is an accumulator.
Storage
Pluso has a single accumulator, which can hold the integer values 0–26.
The initial value of the accumulator is 1.
Commands
Command | Action |
---|---|
p | increment the accumulator, modulo 27 |
o | output the value of the accumulator, according to the Pluso charset |
The reference implementation ignores any non-command characters in the input file.
Charset
Output uses the Pluso charset:
Value | Character | ASCII code | |
---|---|---|---|
0 | space | 32 | 0x20 |
1 | uppercase A | 65 | 0x41 |
2 | uppercase B | 66 | 0x42 |
... | |||
25 | uppercase Y | 89 | 0x59 |
26 | uppercase Z | 90 | 0x5A |
Examples
Hello world
pppppppo ppppppppppppppppppppppppo pppppppoo pppo ppppppppppppo pppppppppppppppppppppppo pppppppppppppppppppo pppo pppppppppppppppppppppo pppppppppppppppppppo
This will print HELLO WORLD
Implementations
Python
def run(file): acc = 65 file = open(file) prgm = file.readlines() for line in prgm: for cmd in line: if cmd == 'p': acc += 1 elif cmd == 'o': char = chr(acc) print(char, end='') if acc == 91: acc = 32 elif acc == 33: acc = 65
Ruby
eval'c=1;'+ARGF.read.gsub(/./,'p'=>'c=(c+1)%27;','o'=>'putc c!=0?c+64:32;')