From d5c1dd450ebd29d2041d26cdd8836ecf8fb7ff22 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Wed, 25 Jan 2023 09:02:13 -0500 Subject: Bootstrapping compilers with simplified syntax --- src/bootstrap/verify.bqn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/bootstrap/verify.bqn (limited to 'src/bootstrap/verify.bqn') diff --git a/src/bootstrap/verify.bqn b/src/bootstrap/verify.bqn new file mode 100644 index 00000000..66939576 --- /dev/null +++ b/src/bootstrap/verify.bqn @@ -0,0 +1,14 @@ +glyphs ← •Import "../glyphs.bqn" +gl ← ("⟨"∾"⟩"«∾","⊸∾¨'"'(⊣∾∾˜)¨glyphs) # Has to replace •args in c.bqn + +f ← "../c.bqn"‿"boot1.bqn"‿"boot2.bqn" # Files to test +c ← (1‿2/⟨glyphs⊸•Import,•Import⟩) {𝕎𝕩}¨ f # Resulting compilers +c ↩ (∾glyphs){𝕗⊸𝕏}¨ c +t ← (∾∾⟜(@+10)¨)¨ (¯5⊸↓∾gl˙)⌾⊑⌾⊑ •FLines¨ f # Compiler source + +# 4⊸↑ to strip source info +# ⋈⁼∘∾⍟=¨⌾(2⊑¨2⊸⊑) to turn only-dyadic functions to ambivalent +! ≡○(4⊸↑)´ (2↑c) {𝕎𝕩}¨ ⊏t +•Out "Boot -1 verified!" +! ≡○(⋈⁼∘∾⍟=¨⌾(2⊑¨2⊸⊑) 4⊸↑)´ (0‿2⊏c) {𝕎𝕩}¨ 1⊏t +•Out "Boot -2 verified!" -- cgit v1.2.3