Keep-It-Simple-Syntax
Jump to navigation
Jump to search

Paradigm(s) | imperative, procedural |
---|---|
Designed by | User:Elliktronic |
Appeared in | 2025 |
Type system | dynamic, weak |
Memory system | register-based (X, Y) |
Dimensions | one-dimensional |
Computational class | Turing complete |
Reference implementation | Original KISS interpreter |
Influenced by | Brainfuck, Assembly |
File extension(s) | .kiss |
KISS - Keep It Simple Syntax
A minimal imperative language!
Overview
KISS is an esoteric programming language designed to be absurdly minimalistic
It features:
Single variable:
x (plus a temporary y for swaps)
Simple commands:
Single letter instructions with optional args
I/O
Basic ASCII input/output
Labels & Jumps
:label G label
File includes
#include "file.kiss"
Syntax
A val - Assign x (number or char in )
I/D/X/M n - Increment, decrement, XOR or multiply x by n
P - Print x as number
CP/CI - Print/Read ASCII char
S n - Swap x <-> y then set x = n
Y/V - Copy x to y / y to x
E n/L n - Skip next line if x == n / x >= n
G label - Jump to :label
C/N/B - Clear, Negate, or bit-flip x C - Sets x to 0. N - Negates x (x = -x). B - Performs a bitwise NOT on x (x = ~x).
R n - Modulo x by n (x = x % n)
Q n - Divide x by n (x = x / n)
^ - Square x (x = x * x)
t - Square root of x (x = sqrt(x))
> n - Store x in memory location n (memory[n] = x)
< n - Load x from memory location n (x = memory[n])
? n - Assign x a random number between 0 and n-1
Examples
Loop
:loop A 1 P D 1 E 0 G loop
Hello world
# KISS-compliant "Hello World" A 72 # 'H' CP A 101 # 'e' CP A 108 # 'l' (x2) CP CP A 111 # 'o' CP A 32 # ' ' CP A 87 # 'W' CP A 111 # 'o' CP A 114 # 'r' CP A 108 # 'l' CP A 100 # 'd' CP A 10 # '\n' CP
Implemintation
- Written on C (~300 LOC)
- No loops(jumps)
- No strings and functions
Community
Now X is your life