reconsider

Post your coolest Hexcasting creations here.

New topics are NOT for chatting or asking help, put those in the comments of a post or in a different forum.
User avatar
kristi fristi
Posts: 26
Joined: Mon Dec 12, 2022 7:23 am

reconsider

Post by kristi fristi »

Once upon a time, in my infinite wisdom, I decided to make a hex that does a lot, but also almost nothing at the same time. A hex that takes a pattern list, and replaces every intro-retro sequence with <consideration, [patterns]>. Your hex will turn into a nested nightmare, but in return it reduces the number of patterns executed, and consideration can no longer execute outside its layer. The only introspection and retrospection patterns that are spared from conversion are those nested in actual lists, or are directly after consideration.(For the record, it breaks the traditional notation of conditional continue)

(In my notes I called it a state machine, it's just a set of functions that recursively call each other forming an elaborate while loop)

I put the hex together by first writing all the "states" and then embedding them in the init function.

init:

Code: Select all

//list --> list
{,
    state0,
    state1,
    state2,
    state3,
},
Huginn's Gambit,
Vacant Reflection,
Jester's Gambit,
Muninn's Reflection,
Numerical Reflection: 0,
Selection Distillation,
Hermes' Gambit
state 0:

Code: Select all

//...[written], [reading] -->
//finds index of intro and retro, then takes lowest to state 1
Gemini Decomposition,
Gemini Decomposition,
{,
    Introspection,
    Retrospection,
},
Flock's Disintegration,
Numerical Reflection: 2,
Swindler's Gambit,           //list, list, intro, list, retro
Locator's Distillation,
Rotation Gambit II,
Locator's Distillation,      //list, retroindex, introindex
Gemini Decomposition,        //list, retroindex, introindex, introindex
Numerical Reflection: -1,
Equality Distillation,
{,
    Bookkeeper's Gambit: v,
    Muninn's Reflection,
    Numerical Reflection: 3, //the one that checks if retro exists
    Selection Distillation,
    Hermes' Gambit,
    False Reflection,
},
{,
    True Reflection,
},
Flock's Disintegration,
Augur's Exaltation,
Hermes' Gambit,
{,
    Bookkeeper's Gambit: -,
    Charon's Gambit,
},
Flock's Disintegration,
Augur's Exaltation,
Hermes' Gambit,
Dioscuri Gambit,
Minimus Distillation, //list, retroindex, introindex, ri < ii
Rotation Gambit II,
Augur's Exaltation,
Muninn's Reflection,
Numerical Reflection: 1, //state checks for cons
Selection Distillation,
Hermes' Gambit
state 1:

Code: Select all

//...[written], [reading], index
//checks for cons
Gemini Decomposition,
Augur's Purification,
{,
    True Reflection,
},
Flock's Disintegration,
{,
    Muninn's Reflection,
    Numerical Reflection: 2,     //decides based on whether intro or retro
    Selection Distillation,
    Hermes' Gambit,
    False Reflection,
},
Augur's Exaltation,
Hermes' Gambit,
{,
    Bookkeeper's Gambit: -,
    Charon's Gambit,
},
Flock's Disintegration,
Augur's Exaltation,
Hermes' Gambit,
Gemini Decomposition,
Numerical Reflection: -1,
Additive Distillation,
Numerical Reflection: 2,
Fisherman's Gambit II,
Jester's Gambit,
Selection Distillation,
{
    //put[consideration]
},
Flock's Disintegration,
Flock's Disintegration,
Equality Distillation,       //[written], [reading], index, bool
{,
    Numerical Reflection: 1,
    Additive Distillation,
    Dioscuri Gambit,
    Numerical Reflection: 0, //[written], [reading], index, [reading], index, 0
    Numerical Reflection: 145,
    Swindler's Gambit,       //[reading], index, [written], [reading], 0, index
    Selection Exaltation,
    Combination Distillation,
    Rotation Gambit II,
    Prospector's Gambit,
    Abacus Purification,
    Selection Exaltation,
    Muninn's Reflection,
    Numerical Reflection: 0,
    Selection Distillation,
    Hermes' Gambit,
},
{,
    Muninn's Reflection,
    Numerical Reflection: 2,
    Selection Distillation,
    Hermes' Gambit,
},
Augur's Exaltation,
Hermes' Gambit
state 2:

Code: Select all

//...[written], [reading], index
//operates on intro and retro
Dioscuri Gambit,
Selection Distillation,
{,
    Introspection,
    Retrospection,
},
Numerical Reflection: 0,
Selection Distillation,
Equality Distillation,          //written, reading, index, bool
Numerical Reflection: 18,
Swindler's Gambit,              //bool, written, reading, index
Dioscuri Gambit,
Numerical Reflection: 0,
Selection Exaltation,            //bool, [written], [reading], index, [readingfront]
Rotation Gambit II,
Numerical Reflection: 1,
Additive Distillation,
Prospector's Gambit,
Abacus Purification,
Selection Exaltation,        //bool, [written], [readingfront], [readingend]
Numerical Reflection: 4,
Fisherman's Gambit,
{,
    Rotation Gambit II,     //[end], [writ], [front]
    {,
        //put [consideration]
    },
    Flock's Disintegration,
    Combination Distillation,   //[end], [writ], [front, cons]
    Combination Distillation,
    Vacant Reflection,
    Rotation Gambit,
},
{,
    Numerical Reflection: 18,
    Swindler's Gambit,
    Combination Distillation,
    Integration Distillation,
    Jester's Gambit,
},
Augur's Exaltation,
Hermes' Gambit,
Muninn's Reflection,
Numerical Reflection: 0,
Selection Distillation,
Hermes' Gambit
state 3:

Code: Select all

//...[written], [reading], index
//finishes and halts hex if there are no more retro's in the list
Gemini Decomposition,
Numerical Reflection: -1,
Equality Distillation,
{,
    True Reflection,
},
Flock's Disintegration,
{,
    Muninn's Reflection,
    Numerical Reflection: 1,
    Selection Distillation,
    Hermes' Gambit,
    False Reflection,
},
Augur's Exaltation,
Hermes' Gambit,
{,
    Bookkeeper's Gambit: -,
    Charon's Gambit,
},
Flock's Disintegration,
Augur's Exaltation,
Hermes' Gambit,
Thanatos' Reflection,		//this to show you that this takes like six eval per bracket pair
Reveal,
Bookkeeper's Gambit: vv,
Combination Distillation