diff options
| -rw-r--r-- | README.md | 12 | ||||
| -rw-r--r-- | liblali.c | 2 |
2 files changed, 12 insertions, 2 deletions
@@ -187,11 +187,19 @@ otherwise `f`: (singul t) ; t (singul '(a b)) ; f -`(zerop x)` returns `t` if `x` is the number zero, otherwise `f`: +`(zerop x)` returns `t` if `x` is the number positive zero, otherwise `f`: (zerop +0) ; t (zerop +1) ; f - (zerop t) ; error: t is not a number + (zerop -0) ; f + (zerop 'a) ; f + +`(plural x)` returns `t` if `x` is not the number positive zero, otherwise `f`: + + (plural +0) ; f + (plural +1) ; t + (plural -0) ; t + (plural 'a) ; t ### Logical operations @@ -1672,6 +1672,8 @@ static char *stdlib = LISP( (defun zerop (x) (not (diff x +0))) + (defun plural (x) (diff x +0)) + (defmacro and args (fill ((algo args) t) ((algo (cdr args)) (car args)) |
