[racket-dev] actionable items, was: comments on "comments on learning Racket"
On Monday, April 28, 2014, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
>
> So far we have had two threads of reactions to my 'comments on
> comments.' They have produced requests that I consider actionable
> items though I have counter-proposal to some of them. The list
> below does not include other actionable items I had on my list
> that did not get comments.
>
>
>
> With credit:
>
> * SAM suggests to always start in #lang racket. Tell students to
> switch to #lang htdp/bsl or use Choose Language. I think this is
> plain unfriendly to our largest audience. Here is my
> counter-proposal:
>
> when drracket starts w/o a preference file, we pop up a radio menu:
>
> o Are you a student learning to program?
> o Are you an experienced programmer learning to use Racket?
>
> Depending on which bullet the person checks, drracket starts in
> BSL [#lang htdp/bsl, one day soon] or #lang racket.
>
>
So you are asking to go back to the way it was before we added the "not a
language" language?
Robby
> * LAURENT asks for:
>
> ~~ faster re-indentation of last files. Will pre-computations
> help or is the display on the screen the bottleneck?
>
> ~~ the language selection menu should also be available from
> the general preference dialog
>
> ~~ the following MV functions:
>
> ~~ what names should they receive?
> ~~ where should they and their tests go?
>
> ;; (X ... -> Y ...) X *-> [List-of Y]
> ;; gather the return MVs from (apply f s) in a list
>
> (module+ test
> (check-equal?
> (gather-return-values (lambda () (values 1 2)))
> (list 1 2))
>
> (check-equal?
> (gather-return-values (lambda (x) (values 1 x)) 2)
> (list 1 2))
>
> (check-equal?
> (gather-return-values (lambda (x y) (values y x)) 2 1)
> (list 1 2)))
>
> (define (gather-return-values f . s)
> (call-with-values (lambda () (apply f s)) list))
>
> ;; Nat (X ... -> Y ...) X *-> Y
> ;; pick the i-th return value from a bunch of MVs
>
> (module+ test
> (check-equal?
> (nth-return-value 0 (lambda () (values 1 2)))
> 1)
>
> (check-equal?
> (nth-return-value 0 (lambda (x) (values 1 x)) 2)
> 1)
>
> (check-equal?
> (nth-return-value 0 (lambda (x y) (values y x)) 2 1)
> 1))
>
> (define (nth-return-value i f . s)
> (call-with-values
> (lambda () (apply f s))
> (lambda l (list-ref l i))))
>
> ~~ macros should come with 'meta information' such as
> indentation; sub-modules may enable this; probably a
> research topic (well, I no longer have a macrologist
> in the group)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20140428/6652073e/attachment.html>