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. * 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) _________________________ Racket Developers list: http://lists.racket-lang.org/dev