something like this to extract a constant value (defined as a C macro): (define FOO ((c-lambda () int "___result = FOO;"))) As you can see, c-lambda expression is anonymous and I'm immediately calling it in order to set the Scheme variable FOO. It seems to work but I wanted to make sure... Ed