Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Evolve a combinator expression to its fixed point based on defined rules and evaluation scheme
ResourceFunction["CombinatorFixedPoint"][cmb] evolves combinator expression cmb to its fixed point using S and K combinator transformation rules and single leftmost outermost updating order. | |
ResourceFunction["CombinatorFixedPoint"][cmb,scheme] evolves cmb to its fixed point using S and K combinator transformation rules in matches found by scheme at each step. | |
ResourceFunction["CombinatorFixedPoint"][rules, cmb,scheme] evolves cmb to its fixed point using rules in matches found by scheme at each step. |
MaxSteps | Infinity | maximum steps to take in evolving cmb |
"MaxSize" | Infinity | maximum leaf count allowed for evolution of cmb |
"SKGlyphs" | {CombinatorS,CombinatorK} | symbols used to specify default transformation rules |
Calculate the fixed point of a combinator expression using the default single leftmost outermost update with S and K combinator transformation rules:
In[1]:= |
|
Out[1]= |
|
Specify the update scheme and only use the K combinator transformation rule to evolve the combinator expression to its fixed point:
In[2]:= |
|
Out[2]= |
|
Calculate the fixed point of a combinator expression using the default single leftmost outermost update with S and K combinator transformation rules:
In[3]:= |
|
Out[3]= |
|
One can replicate this result with the use of ReplaceAll in FixedPoint:
In[4]:= |
|
Out[4]= |
|
The "MaxSize" and "MaxSteps" options can be useful for avoiding excessively long combinator evolutions, but will throw failures if their values are surpassed:
In[5]:= |
|
Out[5]= |
|
In[6]:= |
|
Out[6]= |
|
This work is licensed under a Creative Commons Attribution 4.0 International License