move modulo into the standard library

master
cynic 3 years ago
parent de6cf59164
commit 013abd35ef
  1. 2
      lib.py
  2. 1
      lib/aids.klambda
  3. 9
      lib/math.klambda

@ -83,8 +83,6 @@ def execute(program):
return reduce(lambda a, b: (a[0], a[1]*b[1]), subs[1:]) return reduce(lambda a, b: (a[0], a[1]*b[1]), subs[1:])
elif ctx[0] == _ident("/"): elif ctx[0] == _ident("/"):
return reduce(lambda a, b: (a[0], a[1]/b[1]), subs[1:]) 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("=="): elif ctx[0] == _ident("=="):
return ("number", 1.0 if subs[1] == subs[2] else 0.0) return ("number", 1.0 if subs[1] == subs[2] else 0.0)
elif ctx[0] == _ident("="): elif ctx[0] == _ident("="):

@ -6,3 +6,4 @@ INCLUDE:./lists.klambda
INCLUDE:./kokoro.klambda INCLUDE:./kokoro.klambda
INCLUDE:./booleans.klambda INCLUDE:./booleans.klambda
INCLUDE:./string.klambda INCLUDE:./string.klambda
INCLUDE:./math.klambda

@ -0,0 +1,9 @@
(def % (lambda (a m)
(cond (== m a)
0
(cond (< m a)
(% (- a m) m)
(- a 0)
)
)
))
Loading…
Cancel
Save