Categorial

From Esolang
Jump to navigation Jump to search
Categorial
Paradigm(s) imperative, functional, string-rewriting, object oriented, declarative, particle based
Designed by User:Heavpoot
Appeared in 2020
Memory system Cell-based, Stack-based, Queue-based, Deque-based
Dimensions one-dimensional, zero-dimensional, two-dimensional
Computational class Turing complete
Major implementations None
Influenced by brainfuck
File extension(s) .b, .bf, .c, .cpp, .class, .java, .js, .jscript, .vbs, .bat, .sh, .com, .exe, .zip, .7z, .rar, .tar.gz, .☭, .osmarks.tk, (no extension), .asm, .rs, .o, .elf, .h, .AppImage, .bef, .befunge, .b93, .b98, .b99, .csv, .css, .bin, .dat, .dll, .lua, .pref, .html, .htm, .php, .png, .bmp, .gif, .tiff, .mp3, .mp4, .mp5_with_multiverse_time_travel, .ogg, .wav, .flv, .gitignore, .stm, .cps, .scr


Categorial is amazing, virtuous, good, great and perfect, without flaw. Any details omitted are implementation dependant. Programs are to be supplied as an image of the source code.

Language overview

There is a tape, stack, deque and a queue.

λ - interpret the remainder of the program as Haskell, thus very functional.
CGOL - print the amount of tomatoes to have existed in a new simulation of the universe, after being run for 12 quadrillion years (async). The universe is particle based and possibly nondeterministic.
l - push a qubit to the top of the stack. Implementation dependant what operations on this qubit do.
a - pop from stack to queue
b - pop from queue to deque
c - pop from deque to tape
d - get from the end of deque to tape
e - move from tape to stack
> < + - , . [ ] - brainfuck equivelants
0 - change amount of dimensions to 0
1 - change amount of dimensions to 1
2 - change amount of dimensions to 2
😠️ - interpret the remainder of the program as Java, thus very object oriented.
t - spawn new thread. Implementation dependant.
r - set state of the program to the previous one, implementation defined, very reversible.
🍆️ - be an Aubergine derivative. I'm not sure why this is a category. Implementation defined. Implicitly at the start of all programs.
c - be a 5D Brainfuck With Multiverse Time Travel derivative. Implementation defined. Implicitly at the start of all programs. I'm not sure why this is a category, either.
J - interpret the remainder of the program as J, thus declarative.
🏌️ - interpret the remainder of the program as GolfScript, thus golfing language.
m - Modify the source code.
! - Modify how the esolang works to make it a push down automaton.
¡ - Modify how the esolang works to make it a finite state automaton.

Example programs

I had an excellent set of example programs, which this margin is unfortunately too small to contain.