Good, now change define-judgment-form to define-judgment.
On Aug 6, 2011, at 3:47 PM, Casey Klein wrote: > On Sat, Aug 6, 2011 at 1:58 PM, Robby Findler > <ro...@eecs.northwestern.edu> wrote: >> On Sat, Aug 6, 2011 at 1:53 PM, Casey Klein >> <clkl...@eecs.northwestern.edu> wrote: >>> On Sat, Aug 6, 2011 at 10:43 AM, Matthias Felleisen >>> <matth...@ccs.neu.edu> wrote: >>>> >>>> 1. I like Robby's mode suggestion. >>>> 2. I prefer shorter keywords, e.g., define-judgment. >>> >>> I'm having trouble reconciling these comments. Robby's suggestion, if >>> I understand it correctly, is to overload the `define-relation' name >>> instead of choosing a new one. If you supply the #:mode keyword, you >>> get the `define-judgment-form' behavior (inputs and outputs, static >>> checking, the `judgment-holds' syntax for application); if not, you >>> get the current `define-relation' behavior. >> >> My suggestion was meant to be separate from the overloading thing. You >> could use a #:mode even for define-judgment. >> > > Oh, I see. I like that. How do you feel about using the same style for > contracts? For example: > > (define-judgment-form nats > #:mode (sum I I O) > #:contract (sum n n n) > [(sum z n n)] > [(sum (s n_1) n_2 (s n_3)) > (sum n_1 n_2 n_3)]) _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev