[plt-scheme] Recommended style for ncurses ffi?
On Jan 29, Michael Forster wrote:
>
> [...] I've had a look through some of the examples under the ffi
> collection, and I see some function and type names imported
> verbatim. For example, from magick.ss,
>
> (defmagick DestroyMagickWand ...
> (define _PixelIterator (make-ctype ...
>
> In xmmsctrl.ss, I see reformatting of names to replace underscores
> with dashes,
>
> (defxmms get-playlist-pos ...
> (defxmms set-playlist-pos ...
>
> In xsod.ss, I see prefixed names, but that's carried over from the
> foreign api,
>
> (defxosd* xosd-set-timeout ...
Right -- I did that intentionally, to show off different ways that it
could be used. There are cases where you just want to access a single
function from a specific piece of code -- and doing that in a more
schemely way works out. In other cases you might want to reflect a
whole API, and then the choices are likely to be different -- for
example, keeping the exact same names mean that now you can just
browse the ncurses documentation and look for a particular name.
If you're after the complete interface thing, then I think that the
best choice is to go with the same names as the foreign code, and as
little scheme glue as you can. The you can have a second wrapping api
that is cmompletely in scheme, and is more scheme friendly.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!