This is of course a symptom of the more general problem that we fail to have a 
mechanism that specializes a module to a particular language context. In *SL, 
the restriction is absolutely great; in Racket, the restriction is a pain. Note 
that units wouldn't solve the problem cleanly either -- Matthias







On Oct 22, 2013, at 8:14 AM, Robby Findler <ro...@eecs.northwestern.edu> wrote:

> I did this explicitly because (I believe) it helps with parenthesis errors 
> when beginning students make simple mistakes using the library. For more 
> advanced programmers, it seems straightforward to define things like:
> 
> (define (above* . is) (cond [(null? is) (blank)][(null? (cdr is)) (car 
> is)][else (apply above is)])
> 
> and you can even abstract that as a function that takes something like above 
> and builds an above* from it.
> 
> Robby
> 
> 
> On Mon, Oct 21, 2013 at 10:58 PM, Daniel Prager <daniel.a.pra...@gmail.com> 
> wrote:
> Currently above from 2htdp/image requires at least two arguments. I.e.
> 
> procedure
> (above i1 i2 is ...) → image?
> 
> Recently I have been using an idiom where I stack a list of one or more 
> images.
> I.e.
> 
> (apply above list-of-images)
> 
> I have a workaround, but it seems to me that a more tolerant "above" -- which 
> acts as an identity when passed a single image -- would be an improvement to 
> the
> library.
> 
> Similarly for beside, etc.
> 
> 
> Dan
> 
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
> 
> 
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users


____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to