Not sure that's what you really want, but you can use a simple macro to get
both the procedure and the corresponding string when defining the procedure:

#lang racket

;; Macro:
(define-syntax-rule (lambda+string args body ...)
  (values
   (lambda args body ...)
   (~a '(lambda args body ...))))

;; Example:
(define-values
  (foo foo-str)
  (lambda+string (x y) (+ x y 3)))

;; Tests:
(foo 3 4)
foo-str

If you want to get the body of an existing procedure, I don't know of any
other way that search for the procedure in the source file and extract it
from there, which is not a trivial matter and not 100% possible.

Laurent


On Mon, Dec 30, 2013 at 4:45 AM, Alegria Baquero
<alegriabaqu...@gmail.com>wrote:

> Hello,
>
> is there any way to transform a function's body to a string such as
> "(lambda(x)...)"?
>
> Thanks
>
> Alegria
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>
>
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to