tablambda 0.7.0.post11.dev0__tar.gz → 0.8.0.post2.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/PKG-INFO +2 -2
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_shape.py +14 -1
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/.gitignore +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/README.md +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/pyproject.toml +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/__init__.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_analysis.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_ast.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_binnat.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_codec.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_compiler_artifact.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_defun_codegen.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_defun_runtime.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_defunctionalize.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_dsl.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_generated/.gitattributes +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_generated/__init__.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_generated/_generated_defun_compiler_py311.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_generated/_generated_defun_compiler_py312.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_generated/_generated_defun_compiler_py313.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_hoas_latex.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_latex.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_prelude.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_pyast.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_pybuild.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_reduce.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_sugar.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_typecheck.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/__snapshots__/test_binnat.ambr +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/__snapshots__/test_defunctionalize.ambr +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/test_arithmetic.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/test_binnat.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/test_defunctionalize.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/test_hoas_latex.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/test_pyast.py +0 -0
- {tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/test_pybuild.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: tablambda
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0.post2.dev0
|
|
4
4
|
Summary: A pure lambda-calculus interpreter that applies tabling to weak-head reduction, folding self-referential terms into finite cyclic graphs
|
|
5
5
|
Project-URL: Repository, https://github.com/Atry/MIXINv2
|
|
6
6
|
Author-email: "Yang, Bo" <yang-bo@yang-bo.com>
|
|
@@ -117,7 +117,20 @@ def compute_weak_head_normal_form(node: Node) -> Node | WeakHeadBottom:
|
|
|
117
117
|
head = weak_head_normalize(function)
|
|
118
118
|
match head:
|
|
119
119
|
case Var() | App():
|
|
120
|
-
|
|
120
|
+
# FIXME: this exposes the real weak head normal form, and the fixpoint machinery
|
|
121
|
+
# cannot yet carry it. `test_scott_ast_decodes_and_executes` raises
|
|
122
|
+
# RecursionError from `fixpoints._core.fixpoint_cached_property` when it runs
|
|
123
|
+
# against a cold cache, and passes when earlier tests have already normalized
|
|
124
|
+
# the shared interned nodes; measured over `--randomly-seed` 1 to 6 on
|
|
125
|
+
# `test_pyast.py`, seeds 1 and 3 fail and the other four pass.
|
|
126
|
+
# The previous code returned `node`, the unreduced application, which hid this
|
|
127
|
+
# bug behind a second one: the exposed layer was then a representative of the
|
|
128
|
+
# weak head normal form rather than the normal form, and Lemma A.2 in the paper
|
|
129
|
+
# was worded to match that. The same definition in SWI-Prolog, tabled and with
|
|
130
|
+
# no interning, handles every term tried without recursion trouble, so the
|
|
131
|
+
# defect is in this fixpoint machinery rather than in the definition. Fix the
|
|
132
|
+
# recursion here; do not restore the representative.
|
|
133
|
+
return make_app(head, argument)
|
|
121
134
|
case WeakHeadBottom.BOTTOM:
|
|
122
135
|
return BOTTOM
|
|
123
136
|
case _:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_compiler_artifact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_defunctionalize.py
RENAMED
|
File without changes
|
|
File without changes
|
{tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_generated/.gitattributes
RENAMED
|
File without changes
|
{tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/src/tablambda/_generated/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tablambda-0.7.0.post11.dev0 → tablambda-0.8.0.post2.dev0}/tests/__snapshots__/test_binnat.ambr
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|