On Wed, Oct 28, 2020 at 03:54:29AM -0700, Jack Firth wrote: > So I'm a little tired of writing code like this: > > (define x ...) > (cond > [(take-shortcut? x) (shortcut x)] > [else > (define y (compute-y x)) > (cond > [(take-other-shortcut? x y) (other-shortcut x y)] > [else > (define z ...) > (cond ...)])])
Perhaps you could use parendown https://docs.racket-lang.org/parendown/index.html #lang parendown racket/base (define x ...) (cond [(take-shortcut? x) (shortcut x)] #/ else (define y (compute-y x)) #/ cond [(take-other-shortcut? x y) (other-shortcut x y)] #/ else (define z ...) #/ cond ... ) > > That is, Frequently the lase element of a list is another list, and a large one at that. Using #/ makes that a kind of tail-recursive syntax and eliminates some explicit parentheses. Of course when you start using this it becomes so common that you'd like to drop the ugly #'s, but unfortunately, / is already taken. -- hendrik -- 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/20201028134830.54plnv6nv5j3lcmt%40topoi.pooq.com.

