diff --git a/implementations/defs.txt b/implementations/defs.txt new file mode 100644 index 0000000..a1be10d --- /dev/null +++ b/implementations/defs.txt @@ -0,0 +1,116 @@ +-- 1 - +? dup bool +&& nulco [nullary [false]] dip branch +++ 1 + +|| nulco [nullary] dip [true] branch +!- 0 >= +<{} [] swap +<<{} [] rollup +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 disenstacken +at drop first +average [sum] [size] cleave / +b [i] dip i +binary unary popd +ccccons ccons ccons +ccons cons cons +clear stack bool [pop stack bool] loop +cleave fork popdd +clop cleave popdd +codi cons dip +codireco codi reco +dinfrirst dip infrst +dipd [dip] codi +disenstacken ? [uncons ?] loop pop +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 +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 +make_generator [codireco] ccons +mod % +neg 0 swap - +not [true] [false] branch +nulco [nullary] cons +nullary [stack] dinfrirst +of swap at +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 <=] [1 - dup] anamorphism +range_to_zero unit [down_to_zero] infra +reco rest cons +rest [pop] infra +reverse <{} shunt +roll> swap swapd +roll< swapd swap +rollup roll> +rolldown roll< +rrest rest rest +run <{} infra +second rest first +shift uncons [swons] dip +shunt [swons] step +size [pop ++] step_zero +spiral_next [[[abs] ii <=] [[<>] [pop !-] ||] &&] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte +split_at [drop] [take] clop +split_list [take reverse] [drop] clop +sqr dup * +stackd [stack] dip +step_zero 0 roll> step +sum [+] step_zero +swapd [swap] dip +swons swap cons +swoncat swap concat +sqr dup mul +tailrec [i] genrec +take [] roll> [shift] times pop +ternary binary popd +third rest second +tuck dup swapd +unary nullary popd +uncons [first] [rest] cleave +unit [] cons +unquoted [i] dip +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