OSDN Git Service

Checked old defs.
authorsforman <sforman@hushmail.com>
Thu, 3 Aug 2023 02:37:36 +0000 (19:37 -0700)
committersforman <sforman@hushmail.com>
Thu, 3 Aug 2023 02:37:36 +0000 (19:37 -0700)
I forgot `over`!

Thun.md
implementations/check_against_defs.txt [deleted file]
implementations/defs.txt

diff --git a/Thun.md b/Thun.md
index 49702e7..56237da 100644 (file)
--- a/Thun.md
+++ b/Thun.md
@@ -180,7 +180,7 @@ unquoted symbol on the stack:
     cats
 
 That by itself won't break anything (the stack is just a list.)
-But if you were to use, say, `dip`, in such a way as to put the symbols
+But if you were to use, say, `dip`, in such a way as to put the symbol
 back onto the expression, then when the interpreter encounters it, it
 will attempt to evaluate it, which is almost certainly not what you want.
 
diff --git a/implementations/check_against_defs.txt b/implementations/check_against_defs.txt
deleted file mode 100644 (file)
index d1170ee..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-
-██╗     ██╗██████╗ ██████╗  █████╗ ██████╗ ██╗   ██╗
-██║     ██║██╔══██╗██╔══██╗██╔══██╗██╔══██╗╚██╗ ██╔╝
-██║     ██║██████╔╝██████╔╝███████║██████╔╝ ╚████╔╝
-██║     ██║██╔══██╗██╔══██╗██╔══██║██╔══██╗  ╚██╔╝
-███████╗██║██████╔╝██║  ██║██║  ██║██║  ██║   ██║
-╚══════╝╚═╝╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝
-
-
-Start with increment and decrement:
-
-    -- ≡ 1 -
-    ++ ≡ 1 +
-
-Common symbols for operations:
-
-    = ≡ eq
-    + ≡ add
-    > ≡ gt
-    < ≡ lt
-    >= ≡ ge
-    <= ≡ le
-    != ≡ ne
-    <> ≡ ne
-
-    % ≡ mod
-    + ≡ add
-    - ≡ sub
-    * ≡ mul
-    / ≡ floordiv
-    div ≡ floordiv
-
-    & ≡ and
-    | ≡ or
-    ! ≡ not
-
-    << ≡ lshift
-    >> ≡ rshift
-
-
-• ≡
-
-
-? ≡ dup bool
-
-
-&& ≡ nulco [nullary [false]] dip branch
-|| ≡ 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 reverse disenstacken
-
-at ≡ drop first
-
-b ≡ [i] dip i
-dipd ≡ [dip] codi
-genrec ≡ [[genrec] ccccons] nullary swons concat ifte
-tailrec ≡ [i] genrec
-ifte ≡ [nullary] dipd swap branch
-ii ≡ [dip] dupdip i
-infra ≡ swons swaack [i] dip swaack
-x ≡ dup i
-pam ≡ [i] map
-
-
-    nullary ≡ [stack] dip infra first
-    unary ≡ nullary popd
-    binary ≡ unary popd
-    ternary ≡ binary popd
-
-ccccons ≡ ccons ccons
-ccons ≡ cons cons
-
-clear ≡ [] swaack pop
-
-cleave ≡ fork popdd
-clop ≡ cleave popdd
-fork ≡ [i] app2
-
-cmp ≡ [[>] swap] dipd [ifte] ccons [=] swons ifte
-
-codi ≡ cons dip
-codireco ≡ codi reco
-
-dinfrirst ≡ dip infrst
-
-
-disenstacken ≡ ? [uncons ?] loop pop
-enstacken ≡ stack [clear] dip
-
-down_to_zero ≡ [0 >] [dup --] while
-
-drop ≡ [rest] times
-
-dupd ≡ [dup] dip
-dupdd ≡ [dup] dipd
-dupdip ≡ dupd dip
-dupdipd ≡ dup dipd
-
-
-      rest ≡ uncons popd
-     first ≡ uncons pop
-    second ≡ rest first
-     third ≡ rest second
-    fourth ≡ rest third
-
-
-flatten ≡ <{} [concat] step
-
-gcd ≡ true [tuck mod dup 0 >] loop pop
-
-
-grabN ≡ <{} [cons] times
-grba ≡ [stack popd] dip
-
-hypot [sqr] ii + sqrt
-
-infrst ≡ infra first
-
-make_generator ≡ [codireco] ccons
-
-manual ≡ [] words [help] step pop
-
-neg ≡ 0 swap -
-not ≡ [true] [false] branch
-
-nulco ≡ [nullary] cons
-of ≡ swap at
-
-over ≡ [dup] dip swap
-
-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
-
-
-reverse ≡ <{} shunt
-
-roll> ≡ swap swapd
-roll< ≡ swapd swap
-rollup ≡ roll>
-rolldown roll<
-
-rrest ≡ rest rest
-
-run ≡ <{} infra
-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
-stuncons ≡ stack uncons
-sum ≡ [+] step_zero
-swapd ≡ [swap] dip
-swons ≡ swap cons
-swoncat ≡ swap concat
-sqr ≡ dup mul
-take ≡ <<{} [shift] times pop
-tuck ≡ dup swapd
-uncons ≡ [first] [rest] cleave
-unit ≡ [] cons
-unquoted ≡ [i] dip
-unswons ≡ uncons swap
-while ≡ swap nulco dupdipd concat loop
-
-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
-
-
index f4682da..6702daf 100644 (file)
@@ -12,6 +12,8 @@ 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
@@ -62,6 +64,7 @@ nulco [nullary] cons
 null [] concat bool not
 nullary [stack] dinfrirst
 of swap at
+over [dup] dip swap
 pam [i] map
 pm [+] [-] clop
 popd [pop] dip