I'm not sure of another way (but there might be one I just haven't found), but do you want this program to reduce?
((+ 1 2) 3) That is, a program that has a value in parallel with a computation? Robby On Sat, Jul 7, 2012 at 10:37 PM, Lindsey Kuper <lku...@cs.indiana.edu> wrote: > On Sat, Jul 7, 2012 at 8:04 PM, Robby Findler > <ro...@eecs.northwestern.edu> wrote: >> No, there is no way to do that in Redex. >> >> Are you trying to model parallelism? > > Yep. We could have just used single-hole contexts "E ::= (E e) | (e > E) | ... " that allow for the two expressions in (e1 e2) to be > evaluated in arbitrary order, but we wanted to make parallelism > explicit in the model. Using define-judgment-form, we can do > something along the lines of > > (define-judgment-form my-lang > > [(small-step (e_1 e_2) (e_11 e_22)) > (small-step e_1 e_11) > (small-step e_2 e_22)] > > ...more rules here... > > ) > > This works, but I was wondering if there was some other trick I hadn't > thought of for modeling parallelism. > > Thanks, > Lindsey ____________________ Racket Users list: http://lists.racket-lang.org/users