On Dec 7, 2012 5:51 AM, "Richard Shann" <richard.sh...@virgin.net> wrote: > If I pass 'a in as a parameter I get something back which prints on the > console as (quote a) but which is not eq? to 'a
You seem to be double quoting the value. No need for ' the second time. > I can pass in a string and get an equal? string back. But what I really > want to do is pass in a procedure and execute it if I get it back, thus > > (set! choice (d-PopupMenu (list '("Offset Position" . do-offset)))) Here you pass the symbol "do-offset" rather than the value. read up on quote and quasiquote syntax. Use unquote to insert the /value/ of do-offset: (set! choice (d-PopupMenu (list `("Offset Position" . ,do-offset)))) or: (set! choice (d-PopupMenu (list (cons "Offset Position" do-offset)))) > (#f Wrong type to apply: ~S (do-offset) #f) > You are trying to apply a list contain a symbol, when it should just be a procedure: no list or symbol.