In an effort to learn scheme, I ported some bindings for a subset of the OS X CoreMIDI API from a Ruby project of mine to scheme/foreign. I'm posting them (a) in case anyone wants to use them, but more because (b) I'm hoping for some feedback. I'm sure there are places where I could have done things better, more idiomatically, etc. Any advice is appreciated (but file this one under "non-emergency").
coremidi.rkt
Description: Binary data
Also, is this the kind of thing that should be namespaced? In contrast to other languages where namespacing is used heavily (sometimes even to a fault), it seems that many scheme libraries are quite flat. Is this simply left up to the user to manage, or does the module system take care of this, or is there something else I'm missing altogether? Forgive the naïveté if this should be clear to me.
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users