[racket] CoreMIDI bindings

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed Jul 21 15:26:56 EDT 2010

On Jul 21, 2010, at 2:51 PM, Evan Hanson wrote:

> 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 

I suspect that where you use 'namespace', I think we would say 'module'. Your module is a ~200 loc so that's a reasonable size. But if you wanted to, you could split into modules that are unsafe and modules that are 'safe'. 

On planet a library is more often than not a bunch of modules, with one module playing the role of entry point. 

;; --- 

The one thing I noticed in your code is the use of let-loop to specify loops. Look up 'for' and try things like 

 (for ((i (in-range (length args)))) ... )

You may even wish to for-loop over the args here (I think). 

Posted on the users mailing list.