On Wednesday, May 11, 2016 at 4:32:15 PM UTC-4, Benjamin Chung wrote: > There is a workaround. Instead of using a nice pretty pattern, we can instead > escape to Racket, which would give us > > > > (define-metafunction L > replace-with-0 : e -> e > [(replace-with-0 (e ..._1)) ,(make-list (length (term (e ...))) 0)])
The following at least keeps you in the pattern language, but I'm hesitant to say it's a nice pattern. I'd definitely like to see your first attempt supported! (define-metafunction L replace-with-0 : e -> e [(replace-with-0 (e ...)) (any ...) (where ((any _) ...) ((0 e) ...))]) I can imagine this trick being a pain for more complex patterns/terms. Hopefully we can get something nicer :) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

