diff --git a/lib.py b/lib.py index f7fbfa2..0f03c5d 100644 --- a/lib.py +++ b/lib.py @@ -83,8 +83,6 @@ def execute(program): return reduce(lambda a, b: (a[0], a[1]*b[1]), subs[1:]) elif ctx[0] == _ident("/"): return reduce(lambda a, b: (a[0], a[1]/b[1]), subs[1:]) - elif ctx[0] == _ident("%"): - return (subs[1][0], subs[1][1]%subs[2][1]) elif ctx[0] == _ident("=="): return ("number", 1.0 if subs[1] == subs[2] else 0.0) elif ctx[0] == _ident("="): diff --git a/lib/aids.klambda b/lib/aids.klambda index 2df0a3b..699875c 100644 --- a/lib/aids.klambda +++ b/lib/aids.klambda @@ -5,4 +5,5 @@ INCLUDE:./loop.klambda INCLUDE:./lists.klambda INCLUDE:./kokoro.klambda INCLUDE:./booleans.klambda -INCLUDE:./string.klambda \ No newline at end of file +INCLUDE:./string.klambda +INCLUDE:./math.klambda \ No newline at end of file diff --git a/lib/math.klambda b/lib/math.klambda new file mode 100644 index 0000000..92102bd --- /dev/null +++ b/lib/math.klambda @@ -0,0 +1,9 @@ +(def % (lambda (a m) + (cond (== m a) + 0 + (cond (< m a) + (% (- a m) m) + (- a 0) + ) + ) +)) \ No newline at end of file