8BallScript

From Esolang
Jump to navigation Jump to search
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:

External resources

8BallScript compiler

8BallScript plugins

8BallScript to Text plugin