Spell Compression
Posted: Fri Jul 14, 2023 10:18 pm
Have you ever written a spell that's just too darn big? Has your WispOS (coming soon) ever rejected you because you fed it too much data? Have you ever just wanted to scrunch up your spells into little tiny balls u̷͙͘ṉ̴̏t̸̰̅i̵̧̽l̴̰͌ ̴̜͗t̴̤́ḥ̶̉e̷͙̽y̶͙̕ ̵͎͋a̶͍̐r̶͔̎e̵͍̾ ̶̣͘b̷̘̽u̸̬̾t̶͇͑ ̵̨̿ą̷͘ ̷̡͊s̸̙͑h̴̼͑a̷͕̽t̵̫́t̷̼̓e̵̯͝r̷̝̈́ê̷͓d̴̦̃ ̵͍̈́f̴̗͊a̸̖͠c̷̞̋s̴̠͋ì̷̼m̵̲̀ì̸̦l̷͕͒e̴̬͛ ̵͎͠o̷̫͘f̷͉̈́ ̸̘͝t̵̥͌h̴̞͊e̵̹̓i̵̛̝ṟ̷͑ ̴̫̕f̵̰̒ő̶̻r̷̢͂m̴͔͠ĕ̵̮r̵͔͆ ̶̮̂s̶̹̒ẹ̶̑l̴̥͑v̵̭̽è̸̡s̸̤̀ and then put them back together moments later?
Well, Spell Compression is for you!
Here at [redacted], we have worked tirelessly to allow you to compress your spells into just a couple of iotas, and then restore them again. Spells, stygian spells, embedded data, no matter what you're working with, spell compression works flawlessly. That's right, it just works. In under two weeks you'll see all of your spells shrunk down to 10 iotas or less or your money back, guaranteed! (The deposit of a true name is required to claim your refund.)
Spell Compression
Simply place your spell on the stack and run the following macro, and in only two meta evaluations you'll have a fully compressed spell!
Code: Select all
Vacant Reflection
{
Bookkeeper's Gambit: -
}
Rotation Gambit
Gemini Decomposition
Abacus Purification
{
Speaker's Decomposition
Gemini Decomposition
{
Bookkeeper's Gambit: -
}
Flock's Disintegration
Dioscuri Gambit
Classifier's Purification
Jester's Gambit
Classifier's Purification
Equality Distillation
Gemini Decomposition
Huginn's Gambit
Rotation Gambit II
Augur's Exaltation
Gemini Decomposition
Fragment's Purification
Numerical Reflection: 5
Fisherman's Gambit
Gemini Decomposition
Numerical Reflection: 0
Selection Distillation
Fragment's Purification
Rotation Gambit
Numerical Reflection: 1
Additive Distillation
Additive Distillation
Numerical Reflection: 1600
Maximus Distillation II
{
Bookkeeper's Gambit: -
}
Flock's Disintegration
Jester's Gambit
{
Speaker's Distillation
Bookkeeper's Gambit: v
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Speaker's Decomposition
Gemini Decomposition
Numerical Reflection: 1
Ending Distillation
Undertaker's Gambit
Numerical Reflection: 3
Revolving Distillation
Painter's Distillation
Jester's Gambit
Winding Purification
Numerical Reflection: 4
Fisherman's Gambit
Undertaker's Gambit
Numerical Reflection: 1
Starting Distillation
Winding Purification
Equality Distillation
Numerical Reflection: 1
Jester's Gambit
{
Revolving Distillation
Bookkeeper's Gambit: v
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Muninn's Reflection
{
Painter's Distillation
Bookkeeper's Gambit: v
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Speaker's Distillation
Numerical Reflection: 4
Fisherman's Gambit
Rotation Gambit
Muninn's Reflection
{
Bookkeeper's Gambit: v
Integration Distillation
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Jester's Gambit
Rotation Gambit
}
Jester's Gambit
Gemini Decomposition
Numerical Reflection: 1
Subtractive Distillation
Huginn's Gambit
Gemini Gambit
{
Combination Distillation
}
Flock's Disintegration
Muninn's Reflection
Gemini Gambit
Muninn's Reflection
Flock's Gambit
Hermes' Gambit
Hermes' Gambit
Bookkeeper's Gambit: v
Retrograde Purification
Gemini Decomposition
Abacus Purification
Speaker's Distillation
Jester's Gambit
Combination Distillation
Spell Decompression
Take your compressed spell list, and pump it into this macro to get your original spell back out in just four meta evaluations.
* Starting orientations of individual patterns not guaranteed.
Code: Select all
Speaker's Decomposition
Dioscuri Gambit
Jester's Gambit
Undertaker's Gambit
Abacus Purification
Selection Exaltation
Rotation Gambit II
Numerical Reflection: 0
Jester's Gambit
Selection Exaltation
Gemini Decomposition
Abacus Purification
Vacant Reflection
Vacant Reflection
Rotation Gambit
{
Rotation Gambit
Speaker's Decomposition
Gemini Decomposition
Scrivener's Purification
{
"s"
}
Flock's Disintegration
Separation Distillation
Speaker's Decomposition
Bookkeeper's Gambit: v
Retrograde Purification
Speaker's Decomposition
Gemini Decomposition
Length Distillation: Str
Numerical Reflection: 1
Subtractive Distillation
Numerical Reflection: 0
Jester's Gambit
Winnowing Distillation
Speaker's Distillation
Retrograde Purification
Numerical Reflection: 4
Fisherman's Gambit
Jester's Gambit
Combination Distillation
Rotation Gambit II
Gemini Decomposition
Fragment's Purification
Numerical Reflection: 2
Subtractive Distillation
Ending Distillation
Numerical Reflection: 4
Fisherman's Gambit
Jester's Gambit
Integration Distillation
Rotation Gambit
}
Jester's Gambit
Gemini Decomposition
Numerical Reflection: 1
Subtractive Distillation
Huginn's Gambit
Gemini Gambit
{
Combination Distillation
}
Flock's Disintegration
Muninn's Reflection
Gemini Gambit
Muninn's Reflection
Flock's Gambit
Hermes' Gambit
Hermes' Gambit
Gemini Decomposition
Abacus Purification
{
Speaker's Decomposition
Length Distillation: Str
Huginn's Gambit
Jester's Gambit
Speaker's Decomposition
Gemini Decomposition
Muninn's Reflection
Gemini Decomposition
Numerical Reflection: 0
Inequality Distillation
{
Starting Distillation
Bookkeeper's Gambit: v-
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Numerical Reflection: 6
Fisherman's Gambit
Muninn's Reflection
Numerical Reflection: 0
Equality Distillation
{
Speaker's Decomposition
Nullary Reflection
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Rotation Gambit
Muninn's Reflection
Numerical Reflection: 0
Equality Distillation
Rotation Gambit II
Augur's Exaltation
Numerical Reflection: 6
Fisherman's Gambit
Jester's Gambit
Integration Distillation
Rotation Gambit
Numerical Reflection: 4
Fisherman's Gambit
Jester's Gambit
Gemini Decomposition
Fragment's Purification
Numerical Reflection: 1
Subtractive Distillation
Muninn's Reflection
Subtractive Distillation
Gemini Decomposition
Huginn's Gambit
Gemini Decomposition
Numerical Reflection: 0
Minimus Distillation II
Jester's Gambit
Numerical Reflection: 1
Jester's Gambit
Augur's Exaltation
Ending Distillation
Muninn's Reflection
Numerical Reflection: 0
Minimus Distillation II
{
Bookkeeper's Gambit: v
Speaker's Distillation
}
Flock's Disintegration
Augur's Exaltation
Hermes' Gambit
Numerical Reflection: 4
Fisherman's Gambit
}
Jester's Gambit
Gemini Decomposition
Numerical Reflection: 1
Subtractive Distillation
Huginn's Gambit
Gemini Gambit
{
Combination Distillation
}
Flock's Disintegration
Muninn's Reflection
Gemini Gambit
Muninn's Reflection
Flock's Gambit
Hermes' Gambit
Hermes' Gambit
Bookkeeper's Gambit: v-vv
Details
- These macros require MoreIotas and Hexbound.
- These macros are computationally expensive! Try to avoid thrashing your world / server by calling them too often.
- Hex Patterns are appended to each other to make longer patterns, only splitting into multiple patterns when the limit of 1600 line segments is reached. These patterns use the 's' direction as the delimiter between patterns. An 'ss' means that the top remaining data iota should be inserted in between adjacent patterns.
- The compressed spell format is as follows: [ number of compressed patterns, ... compressed patterns, ... embedded data iotas ]
- The minimum size for a compressed pattern is 3 iotas. Non-pattern spell items will be left in their original form, increasing that size. Each additional 1600 line segments in your spell will require 1 more iota to represent.
But... Why?
Mainly because I wanted to! But also because this sort of compression allows for storing larger spells in my work-in-progress WispOS, which allows you to dynamically add and remove "programs" for the wisp to execute. This technique can also be used to bypass spell length limits if you're making something *really* long. Just store the compressed spell segments and the decompressor, and run it on each segment.
If you find these macros useful, tell me what you used them for!