Shriram Krishnamurthi <s...@cs.brown.edu> writes:

> I would suggest adding a @(table-of-contents) to the top of every page: it
> helps the reader know what is coming ahead. For instance, it's good for me

That looks useful indeed. I'll put it on my to-do list for revising
the presentation, stylesheets, etc. For now I am just using
scribble/base.

> Your (lack of) op precedence I find a little confusing, a bit curiously
> given that I'm designing a language with the same op precedence. In Pyret
> we have no op precedence, but we allow a sequence of the same binop to not
> need parens; everything else needs to be parenthesized. We've used this for
> years now with students and it has been received well because it's simple
> and consistent.

That's a very nice suggestion! I wasn't particularly happy either with
my rules, which I took over from APL. But in APL, many operators are
asymmetric in their left and right arguments, so it makes more sense
there.

My very first implementation used the parentheses-everyhere rule, which
became awkward in exactly the situations you describe: ((a + b) + c) + d
etc.

I tried the Pyret conventions and it has improved all my Leibniz
examples, so it's now officially adopted.

BTW, I don't see this mentioned anywhere in the Pyret documentation
(which I wanted to link to in my manual). In fact, the only explicit
discussion I found is this one:

http://papl.cs.brown.edu/2016/p4rs.html#%28part._.Infix_.Expressions%29

- Konrad.

-- 
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 racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to