8BallScript
Paradigm(s) | useless |
---|---|
Designed by | Gears and Jaegerwald |
Appeared in | 2022 |
Memory system | binary |
Dimensions | one-dimensional |
Computational class | Total |
Reference implementation | [1] |
Dialects | 8BallScript |
File extension(s) | .8ballbin |
8BallScript is a joke esoteric programming language. It was written in 2022 by Gears and Jaegerwald (Real names unknown). At the time of writing, it is still under development.
Language information
Syntax
8BallScript is basically a glorified way of writing binary. It has two characters:
:8ball:
and
:8ball::8ball:
Which are separated by commas. Every 8 bits, which are interpreted as one character each, are separated by semi colons. Writing "Hello World!" would look like this:
:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:;:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:;:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:,:8ball:,:8ball::8ball:
Yeah, that's why you shouldn't write anything in 8BallScript.
Plugins
The only mildly interesting thing about 8BallScript is plugins. The problem is, the compiler outputs binary rather than text or another programming language. So, plugin support was added. Anyone can code a plugin in python, which takes 8BallScript and outputs pretty much whatever you want.
Compiling
The compiler for 8BallScript is written in python, and is very simple: First, it reads the file ending with .8ballbin, then, it replaces all of the ":8ball:"s with 0, all the ":8ball::8ball"s with 1, removes commas (in binary it's just the split between characters) and replaces semi colons with spaces.
Examples
Hi:
:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:
print("Hello") (python code):
:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:;:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:;:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball:;:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:,:8ball::8ball:;:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball:,:8ball::8ball:,:8ball:;:8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball::8ball:,:8ball:,:8ball:,:8ball::8ball: