On Wed, Jul 24, 2019 at 06:25:18PM -0700, rocketnia wrote:
>
>
> On Wednesday, July 24, 2019 at 6:43:25 AM UTC-7, Ben Greenman wrote:
> >
> > On 7/24/19, Mike G. <[email protected] <javascript:>> wrote:
> > >> My proposal is to pick a currently underused character (I picked '/' 30
> > >> years ago but amost anything would do) and use it to replace the
> > >> tail-nesting '(', and remove its corresponding ')'.
> > >>
> > >> Suddenly visual parenthesis-matching becomes an order of magnitude
> > >> easier, without losing any of the expressiveness and conceptual
> > >> significance of S-expressions.
> > >
> > > Would you give some examples? I'm having trouble picturing this.
> > >
> >
> > https://groups.google.com/d/msg/racket-users/LE66fKtcJMs/l45GwtIYDgAJ
> > https://groups.google.com/d/msg/racket-users/oLR_7L-g9zc/fZXaMkfQCAAJ
> > https://groups.google.com/d/msg/racket-users/ewWuCvbe93k/fO-fhcuWAwAJ
> >
> >
> I also run through several examples of where this comes in handy in the
> Parendown readme:
> https://github.com/lathe/parendown-for-racket/blob/master/README.md
That's a very eloquent exposition of the notation I used provately
way back in the 80's
Too bad we have to use #/ instead of / in ordinary Racket because / is
already used for division. There are a lot more #/'s then divisions in
a typical Racket program.
Redefining div to mean division isn't a really elegant solution.
Probably not orthogonal to existing code.
Another parenthesis-avoiding trick I use back then was to use
(let a whatever stuff)
to mean what Racket expresses as
(let [[a whatever]] stuff)
and then repeating /let gives the iterated sytactically non-nesting
let with fewer parentheses.
But this is incompatible with Racket.
For an expression that return multiple values I could use
(let (a b c) multiple-calue-returning-expression)
Of course I still need the extra brackets in a letrec.
-- 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/20190725024608.ix33tjmhrggefnwf%40topoi.pooq.com.