an esoteric programming language where code reads like magical incantations from an ancient spellbook. every program is a "spell" written in a "grimoire," so theorhetically, you can write all your code english essay style due to its no newline/indentation requirement.
write code that looks like this:
begin the grimoire.
summon the power with essence of 7.
conjure ritual named amplify with value to return value multiplied by value.
enchant power with essence 0 of through ritual amplify with power.
inscribe whispers of "the power is amplified: " bound with power.
close the grimoire.
output: the power is amplified: 49
- variables
- dynamic typing
- arrays
- functions
- conditionals/loops
- string manipulation
- type conversion
- user input
- output
- clone thy repo
- make sure you have python 3.6 +
- create a file called
<filename>.spell: - then run
python spellscript.py your-spell.spell
| concept | spellscript | traditional |
|---|---|---|
| declare variable | summon the x with essence of 10 |
x = 10 |
| modify variable | enchant x with 20 |
x = 20 |
inscribe x |
print(x) |
|
| input | inquire whispers of "prompt" into x |
x = input("prompt") |
| string | whispers of "text" |
"text" |
| array | collection holding 1 and 2 and 3 |
[1, 2, 3] |
| if statement | if the signs show x equals 5 then |
if x == 5: |
| loop | repeat the incantation 5 times to begin: |
for i in range(5): |
| function | conjure ritual named add with a and b to |
def add(a, b): |
| return | return result |
return result |
| operation | spellscript | traditional |
|---|---|---|
| addition | a greater by b |
a + b |
| subtraction | a lesser by b |
a - b |
| multiplication | a multiplied by b |
a * b |
| division | a divided by b |
a / b |
| equals | a equals b |
a == b |
| greater than | a greater than b |
a > b |
| less than | a less than b |
a < b |
| and | a and b |
a and b |
| or | a or b |
a or b |
| not | not a |
not a |
- resources/documentation.md - feature documentation
- resources/examples - example programs
- no nested arrays
- no string indexing (use character arrays)
- no modulo operator
- no break/continue in loops
- no comments
- no recursion (use iteration)
- functions must have at least one parameter
- no null concept
- idea from the muffin programming language
- ai was used for debugging some inperpreter issues, which included rituals and conditionals.