Re: examples for crunch/C interopt

[email protected]
Newsgroups gmane.lisp.scheme.chicken
Message-ID <[email protected]>
> Hi
> Thanks to your help I was able to install the latest chicken crunch compiler and I was even able you raylib example. Thanks alot.

Excellent - thanks for your patience.

>
> If you dont mind I have another issue as I would like to furter examine the following macro of yours. When I try to see what the `get-constant` macro  returns I get an Error:
>
> [...]
> (get-constant "KEY_ENTER")
>
> Error: illegal non-atomic object: ()
> inside expression `(##core#c-lambda ...)'

Right, the c-lambda macro (and the internal special form ##core#c-lambda into
which "c-lambda" expands) is not available in CHICKEN code, it can only be used
in code compiled with CRUNCH. That further implies that it can not be used inside csi, as the
foreign function interface can only be used in compiled code.

It would be possible to make the macros inside the "(crunch c)" module also
available in the CHICKEN compiler, so one could at least use it in compiled
code (which would just expand things like "c-lambda" into the corresponding
"foreign-lambda" used in the CHICKEN foreign function interface). I will
give this a try, so thanks for the hint.

If you want to see into what the macros expand, you can also pass "-dump-expanded" to
the invocation of "chicken-crunch", which will dump the node tree after
macro expansion.


cheers,
felix
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.