Re: [racket-users] Doing pattern matching by reader macro

2015-05-21 Thread Mianlai Zhou
Your answer is perfect. Thanks a lot! I sent you a private message already to have some further discussion. Mianlai On Thu, May 21, 2015 at 12:43 PM, Alexander D. Knauth wrote: > Here’s one way to do something like that with a macro: > > https://github.com/AlexKnauth/define-match-spread-out/blo

Re: [racket-users] Doing pattern matching by reader macro

2015-05-20 Thread Alexander D. Knauth
Here’s one way to do something like that with a macro: https://github.com/AlexKnauth/define-match-spread-out/blob/master/define-match-spread-out/main.rkt And using it: https://github.com/AlexKnauth/define-match-spread-out/blob/master/define-match-spread-out/tests/test.rkt On May 18, 2015, at 9:39

Re: [racket-users] Doing pattern matching by reader macro

2015-05-18 Thread Matthias Felleisen
Your best bet is to define a new language that overrides define after taking over the body of the module. This may even be an example in the docs. On May 18, 2015, at 9:39 AM, Mianlai Zhou wrote: > Hi Matthias, > > Thanks for answer. However, this is not what I wanted: > > I want to persi

Re: [racket-users] Doing pattern matching by reader macro

2015-05-18 Thread Mianlai Zhou
Hi Matthias, Thanks for answer. However, this is not what I wanted: I want to persist that I can write the code below (where "define" can be changed to other name): (define (f #t) 2) (define (f #f) 3) (define (f _) 0) to do what I want to do. So how should I define my "define" in order to do i

Re: [racket-users] Doing pattern matching by reader macro

2015-05-18 Thread Matthias Felleisen
#lang racket (define/match (f n) [(#t) 2] [(#f) 3] [(_) 0]) (list (f #t) (f #f) (f "where's my homework")) On May 18, 2015, at 9:04 AM, Mianlai Zhou wrote: > Hi Racketeers, > > I am a new user of Racket. > > I would want to be able to write the following segment of code: > > (defin