To combine what Neil and Luke said, maybe one new thing `def' could do is include destructuring.
In other words it's really an alias for `match-define'. And (match-define x 1) is the same as (define x 1) correct? I'd also like to see a syntax if possible that lets you (as with `let') do multiple defines in one shot: (let ([x 1] [y 2]) ...) could perhaps be: (def ([x 1] [y 2]) ...) or even just: (def x 1 y 2) ? On Thu, May 10, 2012 at 12:58 PM, Luke Vilnis <lvil...@gmail.com> wrote: > +1000 to "def" idea > > I think the super verbose keywords can be an impediment to code readability. > The increase in signal-to-noise, along with (imo) sexier looking code > samples to show to prospective Racketeers is worth it. As silly as it might > sound, when I started out, Scheme's notoriously long keywords gave it a > superficial appearance of impracticality. > > ;; hot! > (def x 12) > (def y 15) > (def z 12) > (+ x y z) > > ;; not! > (define x 12) > (define y 15) > (define z 12) > (+ x y z) > > On a related note - if we're looking to shorten some offending keywords, > making a nice alias for "match-define" would be fantastic. It is a shame to > have to use a 12-letter keyword to get something that is accomplished with > "let" in other languages, especially since Racket's pattern matching is too > awesome not to use. I sometimes define "val" or "mdef" as an alias for > "match-define", but I'm always too embarassed to let such code escape my > laptop. > > On Thu, May 10, 2012 at 12:29 PM, Neil Van Dyke <n...@neilvandyke.org> > wrote: >> >> Making new names for key things is a good time to revisit what those >> things look like and mean. >> >> I have no major requests for changes to "define", but perhaps someone else >> does. (I do, however, have a major request for the "let" family, but not a >> lot of time at the moment to advocate it, unless someone is going to mess >> with "let" now.) >> >> Neil V. >> >> >> ____________________ >> 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