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). 8BallScript is currently not being worked on, but there is a slight chance that it will be rewritten in the future.
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.
Note: the plugin version was removed for not working as a compiled .exe file, but there is still a version of it arround! You can access it in a release of this repository.
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: