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.
This commit is contained in:
2025-02-10 07:14:05 +00:00
parent c5d9888641
commit b29855047b
2 changed files with 8 additions and 1 deletions

View File

@@ -22,7 +22,8 @@
(:export
:_ :--> :->>
:while
:-> :fn))
:-> :fn
:$))
(defpackage lib.functions
(:use :cl :lib.macros)