[plt-scheme] Programatically Constructed Symbol Used As An Identifier???
Hi Zelah,
On Fri, Jun 26, 2009 at 6:31 AM, Zelah Hutchinson<zelah at inbox.com> wrote:
> The "add" function is where I run in to trouble. The problem seems to be that 'adder is not the same as
> the function "adder".
> (symbol? 'adder)
#t
> (procedure? 'adder)
#f
> (symbol? adder)
#f
> (procedure? adder)
#t
> How can I make this work the way I want it to. The important parts for me are that the function I wish to
> call is already defined somewhere in my program and for calling it I wish to construct the existing name
> at run-time.
(define (add x y)
(apply (symbol->function (append-symbol 'add 'er))
(list x y)))
(define (symbol->function s)
(case s
[(adder) adder]
[else (error "No function for ~a" s)]))
Believe it or not, this is probably how you really want to do it.