From 73db4523540bd73b9717d13b58a24130de0234fa Mon Sep 17 00:00:00 2001 From: Daniel Cerqueira Date: Thu, 26 Feb 2026 12:15:10 +0000 Subject: add singul function --- README.md | 8 ++++++++ liblali.c | 2 ++ 2 files changed, 10 insertions(+) diff --git a/README.md b/README.md index 82e1f02..886e4c6 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,14 @@ atom(s), otherwise `f`: (consp t) ; f (consp '(a b)) ; t +`(singul x)` returns `t` if `x` is either an empty list `()`, or an atom, +otherwise `f`: + + (singul ()) ; t + (singul +1) ; t + (singul t) ; t + (singul '(a b)) ; f + `(zerop x)` returns `t` if `x` is the number zero, otherwise `f`: (zerop +0) ; t diff --git a/liblali.c b/liblali.c index cadd9e1..af3f108 100644 --- a/liblali.c +++ b/liblali.c @@ -1664,6 +1664,8 @@ static char *stdlib = LISP( (defun consp (x) (and (listp x) (algo x))) + (defun singul (x) (not (consp x))) + (defun differ (x y) (fill ((and (consp x) (consp y)) (dif x y)) (f (or (differ (car x) (car y)) -- cgit