Cut and the operators mu and nu Jens Axel Søgaard 05 Apr 2006 20:33 UTC

The specifications of mu and nu are:

   (mu <expr> ...)          => (lambda (f) (f <expr> ...))
   (nu <expr> ... <exprn>)  => (lambda (f) (apply f <expr> ... <exprn>))
   The <exprn> should be a list.

These are indeed useful operations. So useful that we already have
a srfi for them, namely srfi-26.

(cut <> <expr> ...)
                            => (lambda (f) (f <expr> ...))
(cut apply <> <expr> ... <exprn>)
                            => (lambda (f) (apply <expr> ... <exprn>))

Example:

   Welcome to DrScheme, version 301.12-svn5apr2006.
   Language: Pretty Big (includes MrEd and Advanced Student).
   > (require (lib "26.ss" "srfi"))
   > (define m (cut <> 1 2))
   > (m list)
   (1 2)
   > (define n (cut apply <> 1 '(2 3)))
   > (n list)
   (1 2 3)

--
Jens Axel Søgaard
<http://www.scheme.dk/planet/>