define-who
define/  who
who
7.8

define-who

Sorawee Porncharoenwase <sorawee.pwase@gmail.com>

 (require define-who) package: define-who

This library provides a macro define/who which is similar to define, but it additionally binds who to the name of the function (as a symbol).

syntax

(define/who (head args) body ...+)

(define/who id expr)

Examples:
> (define/who (test x)
    (list x who))
> (test 42)

'(42 test)

> (define/who ((foo #:x x) #:y y)
    (list x y who))
> ((foo #:x 1) #:y 2)

'(1 2 foo)

> (define/who (bar)
    (define who 42)
    who)
> (bar)

42

> (define/who baz
    (let ([table (make-hash)])
      (λ () who)))
> (baz)

'baz

syntax

who

Recognized specially within forms like define/who. A who form out of context is a syntax error.