Initial commit - fix problems & refactor code

This commit is contained in:
2025-12-22 19:10:46 +03:00
commit ff36917cb5
39 changed files with 1499 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
from typing import Callable, Any
class tailRecursion:
"""Tail-call optimization wrapper."""
f: Callable[..., Any]
args: tuple[Any, ...]
kwargs: dict[str, Any]
def __init__(self, func: Callable[..., Any], *args: Any, **kwargs: Any) -> None:
self.f: Callable[..., Any] = func
self.args: tuple[Any, ...] = args
self.kwargs: dict[str, Any] = kwargs
def __call__(self) -> Any:
return self.f(*self.args, **self.kwargs)
@staticmethod
def eval(val: Any) -> Any:
"""Evaluate tail calls recursively until completion."""
while isinstance(val, tailRecursion):
val = val()
return val