aboutsummaryrefslogtreecommitdiff
path: root/test/cases/bytecode.bqn
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-11 21:59:46 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-11 22:24:20 -0500
commite5fb1e1e7b5a3a1d32abf7da1a0d07d4ad6e4cdd (patch)
treec52397df5b1db3b48089837a6ca2faaf57708715 /test/cases/bytecode.bqn
parent5bcdc8091c6a587f9dff5871b81d1bc97ffcec1a (diff)
Add tests for Nothing-checking opcodes
Diffstat (limited to 'test/cases/bytecode.bqn')
-rw-r--r--test/cases/bytecode.bqn15
1 files changed, 12 insertions, 3 deletions
diff --git a/test/cases/bytecode.bqn b/test/cases/bytecode.bqn
index 6cca078b..72fdb8cb 100644
--- a/test/cases/bytecode.bqn
+++ b/test/cases/bytecode.bqn
@@ -11,17 +11,20 @@
5 % a←5 # 33 VARM, 48 SETN
4 % a←5⋄a↩4 # 49 SETU
2 % a←2⋄b←3⋄a # 32 VARO
-1 % a←1⋄A 4 # 18 FN1O
-2 % a←2⋄3 A 4 # 19 FN2O
+1 % a←1⋄A 4 # 16 FN1C
+2 % a←2⋄3 A 4 # 17 FN2C
6 % {𝕩}6 # 1 DFND
3 % A←{𝕨}⋄3 A 4 # dyadic block function
7 % a‿b←7‿2⋄a # 11 ARRO, 12 ARRM
+2 % 0{𝕨𝕏1}2 # 19 FN2O (doesn't test call type)
+5 % {({𝕨}𝕨)𝕏𝕩}5 # 18 FN1O not called
+8 % {𝕩{a‿b←𝕨}𝕨,𝕩}8 # 19 FN2O not called
4 % 4{𝔽} # 26 MD1C
6 % 4{𝔽⋄𝕩}6 # deferred modifier
1 % 3{𝔾}{𝕩} 1 # 27 MD2C
2 % (2{𝔽}{𝕩})3 # 20 TR2D
3 % 3({a‿b←𝕩⋄a}{𝕨‿𝕩})4 # dyadic 2-train
-4 % 4({𝕨‿𝕩}{𝕩}{𝕨})5 # 23 TR3O
+4 % 4({𝕨‿𝕩}{𝕩}{𝕨})5 # 21 TR3D
2 % a‿b←(2{𝕨‿𝕩}{𝕩})5⋄a # monadic, data in left branch
2 % ({a↩2⋄𝕩}{𝕩⋄a}{a↩3⋄𝕩})a←4 # ordering
8 % a←3⋄a{𝕩}↩8⋄a # 50 SETM
@@ -29,6 +32,12 @@
1 % a←3⋄a{𝕩⋄1}↩⋄a # 51 SETC
4 % a‿b←2‿1⋄a‿b{𝕩‿𝕨}↩4⋄a # lists
+# Call type tests; can also replace {a←𝕩⋄{a↩𝕩}𝕨⋄a} with {𝕩;𝕨}
+7 % {𝕨{a←𝕩⋄{a↩𝕩}𝕨⋄a}𝕩}7 # 19 FN2O call type
+3 % 3{𝕨{a←𝕩⋄{a↩𝕩}𝕨⋄a}𝕩}7 # 19 FN2O call type
+7 % {𝕏0} {𝕨{a←𝕩⋄{a↩𝕩}𝕨⋄a}𝕏}7 # 23 TR3O call type
+3 % {𝕏0}3{𝕨{a←𝕩⋄{a↩𝕩}𝕨⋄a}𝕏}7 # 23 TR3O call type
+
# Further tests for lexical scoping
1 % a←1⋄{a←2}⋄a
2 % a←1⋄{a↩2}⋄a