# Tests of primitive functionality # Ordering matches the reference implementations •←/¬⟨ # LAYER 0 # [0,34) 0≡¯2+2 1e4≡5e3+5e3 ¯∞≡1e6-∞ 4≡-¯4 ¯∞≡-∞ ∞≡-¯∞ 4≡9-5 1.5≡3×0.5 4≡÷0.25 ∞≡÷0 0≡÷∞ 1≡⋆0 ¯1≡¯1⋆5 1≡¯1⋆¯6 3≡⌊3.9 ¯4≡⌊¯3.9 ∞≡⌊∞ ¯∞≡⌊¯∞ ¯1e30≡⌊¯1e30 1≡1=1 0≡¯1=∞ 1≡1≤1 1≡¯∞≤¯1e3 0≡∞≤¯∞ ⟨⟩≡≢<2 ⟨3⟩≡≢"abc" ⟨2,3⟩≡≢>"abc"‿"fed" ⟨2,3,4,5⟩≡≢2‿3‿4‿5⥊↕120 ⟨6⟩≡≢⥊>"abc"‿"fed" "abc"≡0⊑"abc"‿"de" "de"≡1⊑"abc"‿"de" ⟨⟩≡↕0 ⟨0⟩≡↕1 ⟨0,1,2,3,4,5,6⟩≡↕7 # LAYER 1 # [34,56) 3≡4>◶+‿-1 3≡4⊢◶+‿-1 3≡4 1◶+‿-1 5≡4<◶+‿-1 5≡4 0◶+‿-1 1≡-⊘0 ¯1 1≡¯1-⊘+2 "abc"≡⊢"abc" ""≡3⊢"" ⟨⟩≡⊣⟨⟩ "ab"≡"ab"⊣⟨⟩ 4≡+˜2 3≡1-˜4 1≡-∘ׯ6 ¯6≡2-∘×3 1≡-○ׯ7 2≡5-○ׯ7 ¯20≡1⊸-⊸×5 (0‿2+⌜0‿1)≡(>⟨"ab","cd"⟩)≢⊸⥊↕4 20≡×⟜(-⟜1)5 4≡5+⟜ׯ3 7≡5+⟜2 ¯3 # [56,95) 2≡√4 3≡3√27 6≡2∧3 0≡¯2∧0 0.75≡∨˜0.5 1.75≡2∨0.25 0≡¬1 1≡¬0 2≡¬¯1 0≡3¬4 2≡4¬3 4≡5¬2 0≡|0 5≡|¯5 6≡|6 ∞≡|¯∞ 2≡3|8 2≡3|¯7 ¯1≡¯3|8 "a"≡⥊<'a' "abcd"≡⊑<"abcd" ⟨⟩≡≢<⟨2,⟨3,4⟩⟩ 0≡4<2 0≡5>5 0≡3≥4 0≡≠"" 1≡≠"a" 1≡≠'a' 2≡≠"ab" 25≡≠↕25 1≡×5 ¯1≡ׯ2.5 3≡3⌊4 ¯3≡¯3⌊∞ 4≡3⌈4 1≡1⌈¯1 5≡⌈4.01 ⟨⟩≡≢'a' ⟨⟩≡≢0 # [95,104) ⟨0⟩‿⟨1⟩‿⟨2⟩≡⥊¨↕3 (↕6)≡⟜(≠¨)○(2‿3⊸⥊)⟨⟩‿"a"‿"ab"‿"abc"‿"abcd"‿"abcde"‿"abcdef" ≡⟜(≠¨)4‿0‿2⥊↕0 6≡+´↕4 (⊑≡⊣´)"a"‿2‿(3‿"d") 0(⊑≡⊣´)"a"‿2‿(3‿"d") (2⊸⊑≡⊢´)"a"‿2‿(3‿"d") 2(⊣≡⊢´)"a"‿2‿(3‿"d") 7‿10≡+¨´⟨⟨2,3⟩,⟨5,7⟩⟩ # LAYER 2 # [104,117) ⟨⟩≡⟨⟩∾"" "a"≡⟨⟩∾"a" "a"≡"a"∾⟨⟩ "aBCD"≡"a"∾"BCD" ((+⌜˜≠¨)≡(≠¨∾⌜˜))""‿⟨2,3⟩‿"abcde" (⥊⟜(↕×´)≡(×⟜4)⊸(+⌜)○↕´)3‿4 (⥊⟜(↕×´)≡(×⟜4)⊸(+⌜)○↕´)0‿4 (3‿2‿0⥊"")≡(3‿2⥊↕6)+⌜"" (<<2)≡<¨2 ⟨1,⟨3,2,2‿2⥊⟨1,0,2,0⟩⟩,⟨5,4⟩⟩≡-⟨-1,⟨-3,-2,-¨2‿2⥊⟨1,0,2,0⟩⟩,⟨-5,-4⟩⟩ 3(+¨≡+⌜)↕6 3‿4‿5‿6‿6≡{F:F⍟(×≡)⊸∾⟜⥊´𝕩}⟨2,1⟩+⟨⟨⟨⟨1,2⟩,3⟩,4⟩,5⟩ (=¨⟜(⥊⟜(↕×´)3‿4)≡(↕4)=⌜˜4|⊢)1‿6‿8 # LAYER 3 # [117,152) 2≡⊑⟨2⟩ "ab"≡⊑⟨"ab"⟩ 0≡⊑↕20 4≡⊑3‿2‿1⥊4⥊⊸∾5⥊0 'c'≡2⊑"abcd" 'c'≡¯2⊑"abcd" 7≡7⊑↕10 21≡2‿¯3⊑(10×↕3)+⌜↕4 21‿12‿03≡⟨2‿¯3,1‿2,0‿¯1⟩⊑(10×↕3)+⌜↕4 "dfeb"≡(⥊¨-⟨3,1,2,5⟩)⊑"abcdef" "abc"≡⟨⟩⊑<"abc" ⟨7,7‿7,7⟩≡⟨⟨⟩,⟨⟨⟩,⟨⟩⟩,⟨⟩⟩⊑<7 ⟨7,⟨7,<7⟩⟩≡⟨⟨⟩,⟨⟨⟩,<⟨⟩⟩⟩⊑7 "abcfab"≡⥊(↕2‿3)⊑5‿5⥊"abcdef" "aedcaf"≡⥊(-↕2‿3)⊑5‿5⥊"abcdef" (<6⥊0)(⊑≡<∘⊑∘⊢)(6⥊1)⥊5 ¯6≡1‿0◶(2‿2⥊0‿0‿-‿0)6 ⟨3⟩≡⥊3 ⟨3,3,3⟩≡3⥊3 6(⊢⌜≡∾○≢⥊⊢)○↕3 (<≡↕)⟨⟩ (↕∘⥊≡⥊¨∘↕)9 ¬'a'≡<'a' ¬"a"≡≍"a" ¬⟨1,2,⟨4,4⟩,5⟩≡○(2‿2⊸⥊)⟨1,2,⟨3,4⟩,5⟩ ¬2‿3‿4≡2‿3 ¬1.001≡1.002 'a'≢2 0≡≡'a' 1≡≡↕6 2≡≡↕2‿4 3≡≡<<<4 (1¨≡-○≡˜⟜↕¨)⟨0,⟨⟩,⟨1⟩,2,⟨3,4⟩⟩ 2≡≡⟨5,⟨'c',+,2⟩⟩ 0≡≡⊑⟨-⟩ # LAYER 4 # [152,183) ≡⟜><'a' ≡⟜><∞ ≡⟜>↕5 ≡⟜>5‿3⥊2 2‿3‿2≡≢>↕2‿3 ((4⥊2)⊸⥊≡(>2‿2⥊·<2‿2⥊⊢))"abcd" (⊢≡>∘<)5‿3⥊↕15 (⊢≡(><¨))5‿3⥊↕15 (⥊≡≍)'a' (⥊≡≍)<'a' (1‿2⊸⥊≡≍)"ab" 1‿2≡1≍2 2‿1(≍≡2‿2⥊∾)4‿3 (≍⟜<≡≍˜)'a' (≍˘˜⥊˘1‿5‿9)≡⌽⎉2⊸+⥊⟜(↕×´)3‿2‿1 (↕4)(×⌜≡×⎉0‿2)↕5 (↕4)(⋆˜⌜˜≡⋆⎉∞‿¯4)↕5 (⟨2⟩⊸∾⍟(2‿2⥊0‿1‿1‿1)2‿3)≡≢¨≍⎉(⌊○=)⌜˜⟨↕3,2‿3⥊↕6⟩ (2=⌜○↕3)≡(2‿4⥊"abc")≡⎉1(2‿3‿4⥊"abc") ⟨0,0⟩≡(2‿4⥊"abc")≡⎉¯1(2‿3‿4⥊"abc") ⟨5,⟨15,1⟩⟩≡+´⚇1⟨⟨3,2⟩,⟨⟨4,5,6⟩,⟨1⟩⟩⟩ 5‿6‿15≡∾´+´⚇1⟨⟨0,1⟩,⟨⟨⟩⟩⟩⥊⊸∾⚇¯2‿1⟨⟨2,3⟩,⟨4,5,6⟩⟩ 4≡2+⍟¯1 6 (2×↕7)≡2+⍟(¯3+↕7)6 (3⌊↕5)≡{i←0⋄r←{i+↩1⋄1+𝕩}⍟(↕4)𝕩⋄r∾i}0 (+⌜˜≡·>1+⍟⊢⊢)↕5 0‿1‿3‿6‿10≡+`↕5 (-0‿1‿3‿6‿10)≡-`↕5 ((0∾¨↕3)≍3⥊0)≡≡`↕2‿3 ⟨⟩≡×`⟨⟩ ≡⟜(!∘0`)3‿0‿2⥊"" # LAYER 5 # [183,230) (<'a')≡⊏"abc" "a"≡⊏⥊˘"abc" (<'c')≡2⊏"abc" (<'c')≡¯1⊏"abc" "ccc"≡2‿¯1‿2⊏"abc" ((3-˜↕5)⊸⊏≡2⊸⌽)↕5‿2 (0‿3⥊0)≡⟨⟩⊏2‿3⥊↕6 ⟨3‿0,2‿1‿2⟩(×⟜5⊸+⌜´∘⊣≡⊏)⥊⟜(↕×´)6‿5 (2‿0⥊0)≡⟨3‿¯1,⟨⟩⟩⊏4‿3⥊0 5‿1(<⊸⊏≡⊏)↕6‿2 ⟨4‿0,1‿2‿3‿2‿1‿0⟩(+⌜´⊸(×⌜)≡⊏⟜(×⌜˜))+⌜˜↕5 "abc"≡3↑"abce" "e"≡¯1↑"abce" ""≡0↑"ab" (<⟜3⊸×↕5)≡5↑↕3 (6⥊0)≡¯6↑↕0 (≍↕3)≡1↑2‿3⥊↕6 (↑⟜4≡⥊⟜0)↕3 (≍"abc")≡1↑2‿3↑"abcd" (6⥊1)(↑≡⥊⟜⊑)2‿3⥊↕6 (↕¨∘↕∘(1⊸+)≡↑∘↕)5 (↑≡((↕4)≍¨2)⥊¨<)3‿2⥊"abcdef" "d"≡3↓"abcd" 1‿2≡⟜(¯3⊸↓)○↕4‿2 1‿1‿3‿2‿1≡≢(5⥊0)↓↕3‿2‿1 (↓∘↕≡↕∘(1⊸+)+⟜⌽↑∘↕)5 (↕3‿4)≡1↓¨⊏↕2‿3‿4 (4+⌜○↕2)≡2↕↕5 ⟨⟩(↕≡⊢)4‿3⥊"abcd" (0⊸↕≡(0≍˜1+≠)⊸⥊)↕6 (7↕6‿0⥊"")≡0‿7‿0⥊"" ≡⟜⌽⟨⟩ ≡⟜⌽"a" "ba"≡⟜⌽"ab" (⌽≡(1-˜≠)(-○⊑∾1↓⊢)⚇1⊢)↕3‿2‿4 ≡⟜⌽↕↕3 ∧´5(⌽≡⊢)¨⟨"",⥊∞,↕5,↕0‿4,2‿0‿3⥊""⟩ ∧´("bcdea"≡⌽⟜"abcde")¨1+5ׯ10‿¯2‿¯1‿0‿1‿6‿61 ∧´⟨1,0‿2,¯1‿1‿3⟩(⊑∘⌽≡(3⊸↑)⊸⊑)⚇¯1‿∞ 2‿3‿5⥊"abcdef" ⟨⟩(⌽≡⊢)'a' 0‿4≡/1‿0‿0‿0‿1‿0 1‿1‿2≡/0‿2‿1 ≡⟜/⟨⟩ "aabbcc"≡2/"abc" 3‿3‿3‿2‿2‿1≡/˜3‿2‿1 (≍1∾¨1‿2‿2)≡(↕¨/↕)2‿3 ⟨⟩(/≡⊢)≍"ab" # LAYER 6 # [230,270) ≡⟜(∾⥊¨)"abc" (∾´≡∾)"ab"‿"cde"‿"" 1‿2‿3‿4‿6‿9≡∾(⊢×≠↑↓)1+↕3 ≡⟜∾⟨⟩ ⟨1‿4,⥊2⟩((∾⋆⌜⌜)≡⋆⌜○∾)⟨2‿3‿4,⟨⟩,⥊5⟩ "abcd"≡"abc"∾'d' "abcd"≡"abc"∾<'d' (↕4‿3)≡(↕3‿3)∾3∾¨↕3 (∾˜≡·¯1⊸(×´∘↓∾↑)∘≢⊸⥊≍˜)2‿3⥊"abcdef" (∾´≡∾)⟨3‿2‿1,0‿2‿1⟩⥊¨<↕6 ⟨1‿2,⥊0,⥊3⟩≡⊔1‿0‿0‿2 4‿3‿2(≍○<≡·(≠¨≍○<∾)/⊸⊔)"abcdefghi" ⟨⟩≡(3⥊¯1)⊔"abc" (≍˘1‿1‿4<∘⥊⎉1 16‿4+⌜↕4)≡2↓⟨3‿2,¯1‿0‿¯1⟩⊔2‿3‿4⥊↕24 ⥊⚇0⊸≡○⊔⟜(⥊<)1‿2‿2‿¯1‿0 (⊔≡·≍⍟2∘<·∾⌜´/∘(0⊸=)¨)⟨0‿¯1‿0‿0,¯1‿0‿0⟩ 2‿0‿4≡"abcd"⊐"cae" ⟨1⟩≡"abcd"⊐"b" (<3)≡⊐⟜(3⊸⊏)"abcd" (5⌊3+↕5)≡⊐⟜(3‿0‿0+⚇1⊢)↕5‿2‿1 1‿0‿0‿1≡"acef"∊"adf" (∊⟜(↕2)≡<⟜2)3⋆⌜○↕5 (<1)≡3‿4‿5∊4+⌜○↕3 ('0'≠"11010001")≡∊"abacbacd" (↑⟜1≡⟜∊⥊⟜∞)9 (⥊⟜1≡∊∘↕)6 ≡⟜∊⟨⟩ ≡○∊⟜(≍˜˘)"abcadbba" ≡⟜⍷⟨⟩ "ba"≡⍷"baa" 0‿1‿0‿0≡"abc"⍷"aabcba" (0‿1≍0‿0)≡(1‿2≍4‿5)⍷3‿3⥊↕9 (⌽¨≡⍉)↕2⥊3 ∧´⍉⊸≡¨⟨'a',<'a',"a","abc",""⟩ (↕4)(-˜⌜˜≡·⍉-⌜)↕3‿2 (2×↕3)≡0‿0⍉6+⌜○↕3 ⟨⟩(⍉≡⊢)<4 (2‿0‿1⥊⟨⟩)≡1‿2‿0‿1⍉↕↕4 2‿0‿3‿1‿4≡⍋"bdace" 5‿2‿4‿3‿0‿1≡⍋↓"deabb" (⍋≡⍒)⟨"",↕0,0↑<"abc"⟩ (⍒≡⌽∘↕∘≠)⟨¯∞,¯1.5,π,∞,'A','a','b'⟩ (⍒≡⌽∘↕∘≠)⟨↕0,¯1.1,¯1,¯1‿¯∞,¯1‿0,¯1‿0‿0,¯1‿∞,0,6⥊0,1e¯20,1,1+1e¯15⟩ (⍒≡⌽∘↕∘≠)(<∾⟨↕0,1,1‿1,2‿1‿1,2‿1,2,1‿2,2‿2,3⟩⥊¨<)'a' (⍋≡↕∘≠)⥊⍉(↕5)⥊⟜1⊸⥊⌜1‿'b' (⊢≡○⍋(0‿1+≠)⥊⊢)⟨¯2,'a',1,'f'⟩ ⟨1,2,3,1‿2,2‿1,1‿3,2‿2,3‿1⟩(⥊⊸(≠∘⊣∾˜¯1⊸⊑⊸(⌊∾⊣)∾×´⊸⌊)⌜≡○(⍋⥊)⥊⌜⟜(+`∘≠⟜(↕6)¨))↕4 ((⥊˜-⥊⟜2‿0)∘≠≡⍋+⍒)2/↕5 "edcba"≡∨"bdace" (↕7)≡∧⍋|⟜⌽1+↕7 ⟨1,3,∞,'e','i'⟩ (⍋≡≠∘⊣(⊣↓⊢⍋⊸⊏+`∘>)⍋∘∾) (2÷˜↕8)∾"aegz" ⟨'z','d',1‿0,0⟩ (⍒≡≠∘⊣(⊣↓⊢⍋⊸⊏+`∘>)⍒∘∾) (2÷˜↕8)∾"aegz" (<1)≡(↕2‿3)⍋1+↕3 (<0)≡"abc"⥊⊸⍒○<≍"acc" ⟩