SDAPL
Jump to navigation
Jump to search
SDAPL (Super Duper Awesome Programming Language) is a stack-based esoteric programming language created in 2026. It features a unique marker system for flow control instead of traditional loops and conditionals. Was created by User:ReddoYT, and also was created because of how hard I like videos of Truttle1, and just I like the idea of programming languages being useless(mine is not, kinda).
Concept
Instead of functions or loops, you create named blocks called "markers" and control flow with stack-based conditions.
Language Basics
The Stack
All operations work on a stack (LIFO - Last In, First Out).
Markers
Markers are named code blocks that can be executed later:
( myMarker # code here )
Command Reference
| Command | Description | Example |
|---|---|---|
( name |
Start marker | ( loop
|
) |
End marker | )
|
run name |
Execute marker | run loop
|
notempty m1 m2 |
If top ≠ 0 → m1, else → m2 | notempty yes no
|
if pos1 greater/less/equals pos2 m1 m2 |
Compare stack items | if 0 greater 1 bigger smaller
|
stop |
Stop execution | stop
|
get |
Input (number/char) | get
|
get int |
Input integer | get int
|
get ascii |
Input char → ASCII | get ascii
|
get string |
Input string → ASCII codes | get string
|
asciify text |
Text → ASCII codes in stack | asciify Hello
|
introduce |
Print top as character | introduce
|
introduce # |
Print top as number | introduce #
|
dump |
Show entire stack | dump
|
welcome value |
Push to stack | welcome 42
|
welcome random |
Push random number | welcome random
|
clone |
Duplicate top item | clone
|
copyfrom n |
Copy item n from top | copyfrom 2
|
swap |
Swap top two items | swap
|
reverse |
Reverse entire stack | reverse
|
insert pos val |
Insert at position | insert 2 99
|
length |
Push stack size | length
|
pop |
Remove top item | pop
|
remove n |
Remove item n from top | remove 1
|
add |
Addition | add
|
sub |
Subtraction (second - top) | sub
|
mul |
Multiplication | mul
|
div |
Integer division | div
|
mod |
Modulo | mod
|
Examples
Simple Hello World
welcome ! welcome d welcome l welcome r welcome o welcome W welcome 32 welcome o welcome l welcome l welcome e welcome H introduce introduce introduce introduce introduce introduce introduce introduce introduce introduce introduce introduce
Advanced Hello World (with loop)
asciify Hello World! ( end stop ) ( print pop introduce run loop ) ( loop length notempty print end ) run loop
Countdown 15 to 0
welcome 16 ( end pop welcome E welcome n welcome d reverse introduce introduce introduce ) ( loop welcome 1 sub clone introduce # welcome 10 introduce notempty loop end ) run loop
Truth Machine
get ascii welcome 48 sub ( isZero introduce # ) ( isNot clone introduce # run isNot ) notempty isNot isZero
Number Comparison
welcome 10 welcome 5 ( greater asciify First is greater stop ) ( lessequal asciify Second is greater or equal stop ) if 0 greater 1 greater lessequal
Implementation
- SDAPL Interpreter - Java implementation