The problem is in the step combinator definition.
This commit is contained in:
parent
f07db9da0a
commit
be4a3d6e16
|
|
@ -0,0 +1,115 @@
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] -- pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] ? pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] && pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] ++ pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] || pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] !- pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] <{} pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] <<{} pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] abs pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] anamorphism pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] app1 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] app2 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] app3 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] appN pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] at pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] average pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] b pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] binary pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] ccccons pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] ccons pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] clear pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] cleave pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] clop pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] codi pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] codireco pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] dinfrirst pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] dipd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] disenstacken pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] down_to_zero pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] drop pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] dupd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] dupdd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] dupdip pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] dupdipd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] enstacken pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] flatten pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] fork pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] fourth pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] gcd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] genrec pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] grabN pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] grba pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] hypot pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] ifte pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] ii pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] infra pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] infrst pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] make_generator pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] mod pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] neg pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] not pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] nulco pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] nullary pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] of pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] pam pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] pm pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] popd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] popdd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] popop pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] popopop pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] popopd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] popopdd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] product pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] quoted pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] range pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] range_to_zero pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] reco pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] rest pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] reverse pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] roll> pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] roll< pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] rollup pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] rolldown pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] rrest pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] run pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] second pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] shift pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] shunt pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] size pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] spiral_next pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] split_at pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] split_list pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] sqr pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] stackd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] step_zero pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] sum pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] swapd pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] swons pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] swoncat pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] tailrec pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] take pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] ternary pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] third pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] tuck pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] unary pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] uncons pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] unit pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] unquoted pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] unswons pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] while pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] x pass
|
||||||
|
step failed!
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _step0 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _step1 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _stept pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] times pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _times0 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _times1 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _timest pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] map pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _map? pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _mape pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _map0 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _map1 pass
|
||||||
|
[1 [2 [3 4 625 6] 7] 8] _map2 pass
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
'''
|
||||||
|
In order to debug the problem I'm having with definitions breaking a
|
||||||
|
zipper expression I need to load a system, load the defs into a dictionary,
|
||||||
|
and then run the expression and see if it raises an exception, substituting
|
||||||
|
definitions one-at-a-time until I find the one that breaks it.
|
||||||
|
'''
|
||||||
|
|
||||||
|
from joy.library import default_defs, initialize, inscribe, Def
|
||||||
|
from joy.joy import joy
|
||||||
|
from joy.parser import text_to_expression
|
||||||
|
from joy.utils.pretty_print import trace
|
||||||
|
from joy.utils.stack import stack_to_string
|
||||||
|
|
||||||
|
|
||||||
|
inscribe(trace)
|
||||||
|
dictionary = initialize()
|
||||||
|
defs = {}
|
||||||
|
default_defs(defs)
|
||||||
|
|
||||||
|
|
||||||
|
expression = text_to_expression(
|
||||||
|
'[1 [2 [3 4 25 6] 7] 8]'
|
||||||
|
'[dup mul]'
|
||||||
|
'[dip dip infra dip infra dip infra]'
|
||||||
|
'[[] ccons] step i'
|
||||||
|
## '[[[] ccons] step i]'
|
||||||
|
## 'trace'
|
||||||
|
)
|
||||||
|
|
||||||
|
for def_name in defs:
|
||||||
|
D = dictionary.copy()
|
||||||
|
D[def_name] = defs[def_name]
|
||||||
|
try:
|
||||||
|
stack, _, d = joy((), expression, D)
|
||||||
|
except:
|
||||||
|
print(def_name, 'failed!')
|
||||||
|
else:
|
||||||
|
print(stack_to_string(stack), def_name, 'pass')
|
||||||
|
|
||||||
Loading…
Reference in New Issue