meta icon indicating copy to clipboard operation
meta copied to clipboard

Allow rules to take arguments

Open bvssvni opened this issue 7 years ago • 0 comments
trafficstars

Sometimes you have several similar rules like this:

sum_in = [label {"sum" "∑"} in_body]
sum_short = [label {"sum" "∑"} short_body]
prod_in = [label {"prod" "∏"} in_body]
prod_short = [label {"prod" "∏"} short_body]

loops = {sum_in:"sum_in" sum_short:"sum_short" prod_in:"prod_in" prod_short:"prod_short"}

By allowing rules to take arguments:

l(op : a b) = {[label op in_body]:a [label op short_body]:b}

loops = {l({"sum" "∑"} : "sum_in" "sum_short") l({"prod" "∏"} : "prod_in" "prod_short")}

Notice the pattern <rules> : <strings> when passing arguments.

This might also allow external storage of rules in the future, such as a vocabulary.

bvssvni avatar Jun 18 '18 13:06 bvssvni