aboutsummaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rwxr-xr-xspec/dzref54
1 files changed, 4 insertions, 50 deletions
diff --git a/spec/dzref b/spec/dzref
index 6efe53f4..8c41eba4 100755
--- a/spec/dzref
+++ b/spec/dzref
@@ -1,27 +1,9 @@
#!/usr/bin/env dbqn
-impl ← "β—Ά ← {𝕨((𝕨𝔽𝕩)βŠ‘π•˜){𝔽}𝕩} ⍝ LIMITED to number left operand result
-⊘ ← {𝕨((1{𝔽}𝕨)-0)◢𝔽‿𝔾 𝕩}
-⊒ ← {𝕩}
-⊣ ← {𝕩}⊘{𝕨}
-˜ ← {π•©π”½π•¨βŠ£π•©}
-∘ ← {𝔽𝕨𝔾𝕩}
-β—‹ ← {(𝔾𝕨)𝔽𝔾𝕩}
-⊸ ← {(π”½π•¨βŠ£π•©)𝔾𝕩} ⍝ {(𝔽{(F𝕨)G𝕩}𝔾)˜˜} ⍝ {F←𝔽 β‹„ G←𝔾 β‹„ {(F𝕨)G𝕩}˜˜} ⍝ {(𝔽𝕨)𝔾𝕩}˜˜
-⟜ ← {(π•¨βŠ£π•©)𝔽𝔾𝕩} ⍝ {(𝔽{𝕨𝔽𝔾𝕩}𝔾)˜˜} ⍝ {F←𝔽 β‹„ G←𝔾 β‹„ {𝕨F G𝕩}˜˜} ⍝ {𝕨𝔽𝔾𝕩}˜˜
-
-⍝ LIMITED to numeric arguments for scalar cases
-√ ← β‹†βŸœ(Γ·2) ⊘ (β‹†βŸœΓ·Λœ)
+impl ← "√ ← β‹†βŸœ(Γ·2) ⊘ (β‹†βŸœΓ·Λœ)
∧ ← Γ—
∨ ← (+-Γ—)
-Β¬ ← 1+-
-< ← {⟨⟩β₯ŠβŸ¨π•©βŸ©} ⊘ (Β¬β‰€Λœ)
> ← (¬≀)
-β‰₯ ← !∘0 ⊘ (β‰€Λœ)
-β‰’ ↩ IsArrayβ—ΆβŸ¨βŸ©β€Ώβ‰’ ⍝ LIMITED to monadic case
-Length ← (0<0βŠ‘β‰’)β—ΆβŸ¨1β‹„0βŠ‘βŠ’βŸ©βˆ˜β‰’
-β‰  ← Length ⊘ (¬∘=)
-Γ— ↩ 0⊸(<->) ⊘ Γ—
| ← Γ—βŸœΓ— ⊘ {𝕩-π•¨Γ—βŒŠπ•©Γ·π•¨}
_eachm←{
@@ -73,8 +55,6 @@ _eachd←{
_perv←{ ⍝ Pervasion
(βŠ’βŠ˜βˆ¨β—‹IsArray)β—ΆβŸ¨π”½β‹„π”½{𝕨𝔽_perv𝕩}¨⟩
}
-⌊ ↩ ⌊ ⊘ {(𝕨>𝕩)βŠ‘π•¨β€Ώπ•©} _perv
-⌈ ← -∘⌊∘- ⊘ {(𝕨<𝕩)βŠ‘π•¨β€Ώπ•©} _perv
⍝⌜
@@ -84,17 +64,6 @@ _perv←{ ⍝ Pervasion
Int←IsArrayβ—ΆβŸ¨βŒŠβŠΈ=,0⟩
Nat←IsArrayβ—ΆβŸ¨0βŠΈβ‰€βˆ§βŒŠβŠΈ=,0⟩
-Deshape←IsArrayβ—Ά{βŸ¨π•©βŸ©}β€Ώβ₯Š
-Reshape←{
- ! 1β‰₯≠≒𝕨
- 𝕨↩β₯Šπ•¨
- ! ∧´Nat¨𝕨
- n←≠𝕩 β‹„ l←1×´𝕨
- ! n≀○(0⊸=)l
- 𝕨β₯ŠβŠ‘βŸœπ•©Β¨n|↕l
-}⟜Deshape
-β₯Š ↩ Deshape ⊘ Reshape
-
Range←{
I←{!Nat𝕩⋄↕𝕩}
M←{!1=≠≒𝕩⋄(<⟨⟩)β₯ŠβŠΈβˆΎβŒœΒ΄I¨𝕩}
@@ -124,10 +93,8 @@ Depth←IsArrayβ—Ά0β€Ώ{1+0⌈´DepthΒ¨β₯Šπ•©}
βŠ‘ ↩ (0Β¨βˆ˜β‰’)⊸Pick ⊘ Pick
↕ ↩ Range
-β—Ά ↩ {𝕨((𝕨𝔽𝕩)βŠ‘π•˜){𝔽}𝕩} ⍝ Same definition, new Pick
≑ ← Depth ⊘ Match
-β‰’ ↩ β‰’ ⊘ (Β¬Match)
⍝⌜
@@ -367,9 +334,9 @@ ProgressiveIndexOf ← {π•¨βŠβ—‹(β‰Λ˜βŸœOccurrenceCountπ•¨βŠΈβŠ)𝕩}
{
names ← β₯Š"AB"βˆΎβŒœβ€’a
- f_chr ← "!+-Γ—Γ·β‹†βˆšβŒŠβŒˆβˆ§βˆ¨Β¬|=≠≀<>β‰₯β‰‘β‰’βŠ£βŠ’β₯ŠβˆΎβ‰β†‘β†“β†•βŒ½β‰/β‹β’βŠβŠ‘βŠβŠ’βˆŠβ·βŠ”"
- m_chr ← "˜˘¨⌜⁼´`"
- d_chr ← "βˆ˜βŠΈβŸœβ—‹βŒΎβŽ‰βš‡βŸβ—ΆβŠ˜"
+ f_chr ← "!√∧∨|>β‰‘βˆΎβ‰β†‘β†“β†•βŒ½β‰/β‹β’βŠβŠ‘βŠβŠ’βˆŠβ·βŠ”"
+ m_chr ← "˘¨⌜´`"
+ d_chr ← "βŒΎβŽ‰βš‡βŸ"
f_itr ← 0β₯ŠΛœβ‰ f_chr
m_itr ← 0β₯ŠΛœβ‰ m_chr
@@ -396,16 +363,6 @@ ProgressiveIndexOf ← {π•¨βŠβ—‹(β‰Λ˜βŸœOccurrenceCountπ•¨βŠΈβŠ)𝕩}
⍝ built-in assumptions
Mod_f ← ⍎{𝔽 (Name_f 𝕨) ∾ " ↩ " ∾ 𝕩}
- Mod_m ← ⍎{𝔽 (Name_m 𝕨) ∾ " ↩ " ∾ 𝕩}
-
- '+' Mod_f "+"
- '-' Mod_f "-"
- 'Γ—' Mod_f "Γ—"
- 'Γ·' Mod_f "Γ·"
- '⋆' Mod_f "⋆"
- '⌊' Mod_f "⌊"
- '=' Mod_f "="
- '≀' Mod_f "≀"
⍎"IsArray ← 0≠≑"
@@ -414,11 +371,8 @@ ProgressiveIndexOf ← {π•¨βŠβ—‹(β‰Λ˜βŸœOccurrenceCountπ•¨βŠΈβŠ)𝕩}
⍎"Type ← ⟨⟩β₯Š0⊸β₯Š"
'!' Mod_f "{𝕩 β‹„ ≀1}⍟¬"
- 'β‰’' Mod_f "β‰’"
- 'β₯Š' Mod_f "β₯Š"
'βŠ‘' Mod_f "βŠ‘"
'↕' Mod_f "↕"
- '⁼' Mod_m "⁼"
E_isdef ← ⊒ β‰’ ("^["∾f_chr∾m_chr∾d_chr∾"] [←↩]")β€’_R_'_' ⍝ checks if line is a builtin redefinition