Extra logging and another lil test.
This commit is contained in:
parent
ab1f5227ba
commit
4fff827338
|
|
@ -153,6 +153,22 @@ class CombinatorJoyType(FunctionJoyType):
|
||||||
return new_f[0][1]
|
return new_f[0][1]
|
||||||
|
|
||||||
|
|
||||||
|
def _log_uni(U):
|
||||||
|
def inner(u, v, s=None):
|
||||||
|
_log.info(
|
||||||
|
'%3i %s U %s w/ %s',
|
||||||
|
len(inspect_stack()), u, v, s,
|
||||||
|
)
|
||||||
|
res = U(u, v, s)
|
||||||
|
_log.info(
|
||||||
|
'%3i %s U %s w/ %s => %s',
|
||||||
|
len(inspect_stack()), u, v, s, res,
|
||||||
|
)
|
||||||
|
return res
|
||||||
|
return inner
|
||||||
|
|
||||||
|
|
||||||
|
@_log_uni
|
||||||
def unify(u, v, s=None):
|
def unify(u, v, s=None):
|
||||||
'''
|
'''
|
||||||
Return a tuple of substitution dicts representing unifiers for u and v.
|
Return a tuple of substitution dicts representing unifiers for u and v.
|
||||||
|
|
|
||||||
|
|
@ -174,6 +174,12 @@ class TestYin(TestMixin, unittest.TestCase):
|
||||||
# ([...1] -- [a2 ...1] [...3] a1)
|
# ([...1] -- [a2 ...1] [...3] a1)
|
||||||
self.assertEqualTypeStructure(infer(*expression), [f])
|
self.assertEqualTypeStructure(infer(*expression), [f])
|
||||||
|
|
||||||
|
def test_stack_dup_ccons(self):
|
||||||
|
expression = stack, dup, ccons
|
||||||
|
f = ((a1, s1), ((a1, ((a1, s1), (a1, s1))), s1))
|
||||||
|
# (... a1 -- ... [a1 [a1 ...] a1 ...])
|
||||||
|
self.assertEqualTypeStructure(infer(*expression), [f])
|
||||||
|
|
||||||
## def test_(self):
|
## def test_(self):
|
||||||
## expression = pop, swap, rolldown, rest, rest, cons, cons
|
## expression = pop, swap, rolldown, rest, rest, cons, cons
|
||||||
## f =
|
## f =
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue