This commit is contained in:
sforman 2023-08-18 17:09:08 -07:00
parent 3c3b156169
commit 5edf0797b4
2 changed files with 18 additions and 18 deletions

View File

@ -4,18 +4,15 @@ lt [false] [false] [true] cmp
neq [true] [false] [true] cmp neq [true] [false] [true] cmp
le [false] [true] [true] cmp le [false] [true] [true] cmp
ge [true] [true] [false] cmp ge [true] [true] [false] cmp
-- 1 -
? dup bool ? dup bool
and nulco [nullary [false]] dip branch
++ 1 +
or nulco [nullary] dip [true] branch
!- 0 >= !- 0 >=
++ 1 +
-- 1 -
<{} [] swap <{} [] swap
<<{} [] rollup <<{} [] rollup
<< lshift
>> rshift
abs dup 0 < [] [neg] branch abs dup 0 < [] [neg] branch
anamorphism [pop []] swap [dip swons] genrec anamorphism [pop []] swap [dip swons] genrec
and nulco [nullary [false]] dip branch
app1 grba infrst app1 grba infrst
app2 [grba swap grba swap] dip [infrst] cons ii app2 [grba swap grba swap] dip [infrst] cons ii
app3 3 appN app3 3 appN
@ -38,10 +35,10 @@ disenstacken swaack pop
divmod [/] [%] clop divmod [/] [%] clop
down_to_zero [0 >] [dup --] while down_to_zero [0 >] [dup --] while
drop [rest] times drop [rest] times
dupd [dup] dip
dupdd [dup] dipd dupdd [dup] dipd
dupdip dupd dip dupd [dup] dip
dupdipd dup dipd dupdipd dup dipd
dupdip dupd dip
enstacken stack [clear] dip enstacken stack [clear] dip
first uncons pop first uncons pop
flatten <{} [concat] step flatten <{} [concat] step
@ -56,24 +53,26 @@ ifte [nullary] dipd swap branch
ii [dip] dupdip i ii [dip] dupdip i
infra swons swaack [i] dip swaack infra swons swaack [i] dip swaack
infrst infra first infrst infra first
<< lshift
lshift [2 *] times lshift [2 *] times
make_generator [codireco] ccons make_generator [codireco] ccons
mod % mod %
neg 0 swap - neg 0 swap -
not [true] [false] branch not [true] [false] branch
nulco [nullary] cons nulco [nullary] cons
null [] swap concat bool not
nullary [stack] dinfrirst nullary [stack] dinfrirst
null [] swap concat bool not
of swap at of swap at
or nulco [nullary] dip [true] branch
over [dup] dip swap over [dup] dip swap
pam [i] map pam [i] map
pm [+] [-] clop pm [+] [-] clop
popd [pop] dip
popdd [pop] dipd popdd [pop] dipd
popop pop pop popd [pop] dip
popopop pop popop
popopd [popop] dip
popopdd [popop] dipd popopdd [popop] dipd
popopd [popop] dip
popopop pop popop
popop pop pop
product 1 swap [*] step product 1 swap [*] step
quoted [unit] dip quoted [unit] dip
range [0 <=] [-- dup] anamorphism range [0 <=] [-- dup] anamorphism
@ -81,11 +80,12 @@ range_to_zero unit [down_to_zero] infra
reco rest cons reco rest cons
rest uncons popd rest uncons popd
reverse <{} shunt reverse <{} shunt
roll> swap swapd
roll< swapd swap
rollup roll>
rolldown roll< rolldown roll<
roll< swapd swap
roll> swap swapd
rollup roll>
rrest rest rest rrest rest rest
>> rshift
rshift [2 /] times rshift [2 /] times
run <{} infra run <{} infra
second rest first second rest first
@ -102,8 +102,8 @@ step_zero 0 roll> step
stuncons stack uncons stuncons stack uncons
sum [+] step_zero sum [+] step_zero
swapd [swap] dip swapd [swap] dip
swons swap cons
swoncat swap concat swoncat swap concat
swons swap cons
tailrec [i] genrec tailrec [i] genrec
take <<{} [shift] times pop take <<{} [shift] times pop
ternary binary popd ternary binary popd

View File

@ -1 +1 @@
(define (defs) (list "eq [false] [true] [false] cmp" "gt [true] [false] [false] cmp" "lt [false] [false] [true] cmp" "neq [true] [false] [true] cmp" "le [false] [true] [true] cmp" "ge [true] [true] [false] cmp" "-- 1 -" "? dup bool" "and nulco [nullary [false]] dip branch" "++ 1 +" "or nulco [nullary] dip [true] branch" "!- 0 >=" "<{} [] swap" "<<{} [] rollup" "<< lshift" ">> rshift" "abs dup 0 < [] [neg] branch" "anamorphism [pop []] swap [dip swons] genrec" "app1 grba infrst" "app2 [grba swap grba swap] dip [infrst] cons ii" "app3 3 appN" "appN [grabN] codi map reverse disenstacken" "at drop first" "average [sum] [size] cleave /" "b [i] dip i" "binary unary popd" "ccccons ccons ccons" "ccons cons cons" "clear [] swaack pop" "cleave fork popdd" "clop cleave popdd" "cmp [[>] swap] dipd [ifte] ccons [=] swons ifte" "codi cons dip" "codireco codi reco" "dinfrirst dip infrst" "dipd [dip] codi" "disenstacken swaack pop" "divmod [/] [%] clop" "down_to_zero [0 >] [dup --] while" "drop [rest] times" "dupd [dup] dip" "dupdd [dup] dipd" "dupdip dupd dip" "dupdipd dup dipd" "enstacken stack [clear] dip" "first uncons pop" "flatten <{} [concat] step" "fork [i] app2" "fourth rest third" "gcd true [tuck mod dup 0 >] loop pop" "genrec [[genrec] ccccons] nullary swons concat ifte" "grabN <{} [cons] times" "grba [stack popd] dip" "hypot [sqr] ii + sqrt" "ifte [nullary] dipd swap branch" "ii [dip] dupdip i" "infra swons swaack [i] dip swaack" "infrst infra first" "lshift [2 *] times" "make_generator [codireco] ccons" "mod %" "neg 0 swap -" "not [true] [false] branch" "nulco [nullary] cons" "null [] swap concat bool not" "nullary [stack] dinfrirst" "of swap at" "over [dup] dip swap" "pam [i] map" "pm [+] [-] clop" "popd [pop] dip" "popdd [pop] dipd" "popop pop pop" "popopop pop popop" "popopd [popop] dip" "popopdd [popop] dipd" "product 1 swap [*] step" "quoted [unit] dip" "range [0 <=] [-- dup] anamorphism" "range_to_zero unit [down_to_zero] infra" "reco rest cons" "rest uncons popd" "reverse <{} shunt" "roll> swap swapd" "roll< swapd swap" "rollup roll>" "rolldown roll<" "rrest rest rest" "rshift [2 /] times" "run <{} infra" "second rest first" "shift uncons [swons] dip" "shunt [swons] step" "size [pop ++] step_zero" "small dup null [rest null] [pop true] branch" "spiral_next [[[abs] ii <=] [[<>] [pop !-] or] and] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte" "split_at [drop] [take] clop" "split_list [take reverse] [drop] clop" "sqr dup mul" "stackd [stack] dip" "step_zero 0 roll> step" "stuncons stack uncons" "sum [+] step_zero" "swapd [swap] dip" "swons swap cons" "swoncat swap concat" "tailrec [i] genrec" "take <<{} [shift] times pop" "ternary binary popd" "third rest second" "tuck dup swapd" "unary nullary popd" "uncons [first] [rest] cleave" "unit [] cons" "unquoted [i] dip" "unstack [[] swaack] dip swoncat swaack pop" "unswons uncons swap" "while swap nulco dupdipd concat loop" "x dup i" "step [_step0] x" "_step0 _step1 [popopop] [_stept] branch" "_step1 [?] dipd roll<" "_stept [uncons] dipd [dupdipd] dip x" "times [_times0] x" "_times0 _times1 [popopop] [_timest] branch" "_times1 [dup 0 >] dipd roll<" "_timest [[--] dip dupdipd] dip x" "map [_map0] cons [[] [_map?] [_mape]] dip tailrec" "_map? pop bool not" "_mape popd reverse" "_map0 [_map1] dipd _map2" "_map1 stackd shift" "_map2 [infrst] cons dipd roll< swons" "_isnt_bool not not" "_isnt_two_bools [_isnt_bool] ii" "_\\/_ [_isnt_bool] [not] branch" "/\\ _isnt_two_bools [pop false] [] branch" "\\/ _isnt_two_bools [] [pop true] branch")) (define (defs) (list "eq [false] [true] [false] cmp" "gt [true] [false] [false] cmp" "lt [false] [false] [true] cmp" "neq [true] [false] [true] cmp" "le [false] [true] [true] cmp" "ge [true] [true] [false] cmp" "? dup bool" "!- 0 >=" "++ 1 +" "-- 1 -" "<{} [] swap" "<<{} [] rollup" "abs dup 0 < [] [neg] branch" "anamorphism [pop []] swap [dip swons] genrec" "and nulco [nullary [false]] dip branch" "app1 grba infrst" "app2 [grba swap grba swap] dip [infrst] cons ii" "app3 3 appN" "appN [grabN] codi map reverse disenstacken" "at drop first" "average [sum] [size] cleave /" "b [i] dip i" "binary unary popd" "ccccons ccons ccons" "ccons cons cons" "clear [] swaack pop" "cleave fork popdd" "clop cleave popdd" "cmp [[>] swap] dipd [ifte] ccons [=] swons ifte" "codi cons dip" "codireco codi reco" "dinfrirst dip infrst" "dipd [dip] codi" "disenstacken swaack pop" "divmod [/] [%] clop" "down_to_zero [0 >] [dup --] while" "drop [rest] times" "dupdd [dup] dipd" "dupd [dup] dip" "dupdipd dup dipd" "dupdip dupd dip" "enstacken stack [clear] dip" "first uncons pop" "flatten <{} [concat] step" "fork [i] app2" "fourth rest third" "gcd true [tuck mod dup 0 >] loop pop" "genrec [[genrec] ccccons] nullary swons concat ifte" "grabN <{} [cons] times" "grba [stack popd] dip" "hypot [sqr] ii + sqrt" "ifte [nullary] dipd swap branch" "ii [dip] dupdip i" "infra swons swaack [i] dip swaack" "infrst infra first" "<< lshift" "lshift [2 *] times" "make_generator [codireco] ccons" "mod %" "neg 0 swap -" "not [true] [false] branch" "nulco [nullary] cons" "nullary [stack] dinfrirst" "null [] swap concat bool not" "of swap at" "or nulco [nullary] dip [true] branch" "over [dup] dip swap" "pam [i] map" "pm [+] [-] clop" "popdd [pop] dipd" "popd [pop] dip" "popopdd [popop] dipd" "popopd [popop] dip" "popopop pop popop" "popop pop pop" "product 1 swap [*] step" "quoted [unit] dip" "range [0 <=] [-- dup] anamorphism" "range_to_zero unit [down_to_zero] infra" "reco rest cons" "rest uncons popd" "reverse <{} shunt" "rolldown roll<" "roll< swapd swap" "roll> swap swapd" "rollup roll>" "rrest rest rest" ">> rshift" "rshift [2 /] times" "run <{} infra" "second rest first" "shift uncons [swons] dip" "shunt [swons] step" "size [pop ++] step_zero" "small dup null [rest null] [pop true] branch" "spiral_next [[[abs] ii <=] [[<>] [pop !-] or] and] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte" "split_at [drop] [take] clop" "split_list [take reverse] [drop] clop" "sqr dup mul" "stackd [stack] dip" "step_zero 0 roll> step" "stuncons stack uncons" "sum [+] step_zero" "swapd [swap] dip" "swoncat swap concat" "swons swap cons" "tailrec [i] genrec" "take <<{} [shift] times pop" "ternary binary popd" "third rest second" "tuck dup swapd" "unary nullary popd" "uncons [first] [rest] cleave" "unit [] cons" "unquoted [i] dip" "unstack [[] swaack] dip swoncat swaack pop" "unswons uncons swap" "while swap nulco dupdipd concat loop" "x dup i" "step [_step0] x" "_step0 _step1 [popopop] [_stept] branch" "_step1 [?] dipd roll<" "_stept [uncons] dipd [dupdipd] dip x" "times [_times0] x" "_times0 _times1 [popopop] [_timest] branch" "_times1 [dup 0 >] dipd roll<" "_timest [[--] dip dupdipd] dip x" "map [_map0] cons [[] [_map?] [_mape]] dip tailrec" "_map? pop bool not" "_mape popd reverse" "_map0 [_map1] dipd _map2" "_map1 stackd shift" "_map2 [infrst] cons dipd roll< swons" "_isnt_bool not not" "_isnt_two_bools [_isnt_bool] ii" "_\\/_ [_isnt_bool] [not] branch" "/\\ _isnt_two_bools [pop false] [] branch" "\\/ _isnt_two_bools [] [pop true] branch" "xor [] [not] branch"))