aboutsummaryrefslogtreecommitdiff
path: root/src/bootstrap/verify.bqn
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2023-01-25 09:02:13 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2023-01-25 09:03:15 -0500
commitd5c1dd450ebd29d2041d26cdd8836ecf8fb7ff22 (patch)
tree611139f967a1bf7dbb7a51c77f66261c0b748743 /src/bootstrap/verify.bqn
parentdbce42408cd172411d094593367fe598296f9321 (diff)
Bootstrapping compilers with simplified syntax
Diffstat (limited to 'src/bootstrap/verify.bqn')
-rw-r--r--src/bootstrap/verify.bqn14
1 files changed, 14 insertions, 0 deletions
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!"