diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-10 07:14:05 +0000 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-11 00:40:19 +0000 |
commit | b29855047be9a172d570db71600425b2b06a8a59 (patch) | |
tree | 2f09081b3408b516ac417778957b9f6e327442e8 /packages.lisp | |
parent | c5d98886410d46838e5863066edf37e544a72456 (diff) | |
download | cantedraw-b29855047be9a172d570db71600425b2b06a8a59.tar.gz cantedraw-b29855047be9a172d570db71600425b2b06a8a59.tar.bz2 cantedraw-b29855047be9a172d570db71600425b2b06a8a59.zip |
Implement `$` operator, second class version of the applicative operator
The `$` operator takes a sequence of FORMS and returns a unary
function which applies the input through that sequence via the `->>`
operator.
For example, consider the predicate "not null". `null` is built into
Common Lisp but "not null" requires writing a
function (lambda (x) (not (null x))). Now, using this operator, you
can write ($ not null) which returns the same lambda as above while
being more concise.
Diffstat (limited to 'packages.lisp')
-rw-r--r-- | packages.lisp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/packages.lisp b/packages.lisp index aff5b68..d50945b 100644 --- a/packages.lisp +++ b/packages.lisp @@ -22,7 +22,8 @@ (:export :_ :--> :->> :while - :-> :fn)) + :-> :fn + :$)) (defpackage lib.functions (:use :cl :lib.macros) |