[racket] Suggestion: Allow above, beside etc. to accept a single image.

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue Oct 22 08:33:13 EDT 2013

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 <robby at 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.prager at 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



Posted on the users mailing list.