[racket] CoreMIDI bindings

From: Evan Hanson (vnhnsn at gmail.com)
Date: Wed Jul 21 15:57:50 EDT 2010

Yeah, I will if I flesh this out and put it on planet. That was more
just to make sure it works (didn't even mean to include it). Thanks
for the tip, though, rackunit looks helpful and relatively familiar in
design.

re: let/for forms -- I guess I'm just not sure what's the favored form
for a given situation. I'm impressed by how expressive operations like
these can be in scheme, but sometimes this is a hindrance as well as a
help as I'm never sure which is the "right" one to use.

> On Wed, Jul 21, 2010 at 2:30 PM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
>>
>> p.s. Oh and do look up rackunit for unit testing. Racketeers do test a lot.
>>
>>
>>
>> On Jul 21, 2010, at 3:26 PM, Matthias Felleisen wrote:
>>
>>>
>>> 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).
>>>
>>> _________________________________________________
>>>  For list-related administrative tasks:
>>>  http://lists.racket-lang.org/listinfo/users
>>
>>
>


Posted on the users mailing list.