Given SK's teaching goals of "all of these operators are really the same" and Eli's (implicit?) goal of "lets get wider hacker-types interested" perhaps the right thing is to have a special infix-like mode that you can switch into with a keyword (ala what was discussed earlier in this thread)? This would be a special purpose mode where there is some simple rule that distinguishes infix operators from prefix ones (perhaps something like Haskell's convention)?
Robby On Fri, Jul 30, 2010 at 9:05 AM, Eli Barzilay <e...@barzilay.org> wrote: > On Jul 30, Robby Findler wrote: >> On Fri, Jul 30, 2010 at 4:05 AM, Eli Barzilay <e...@barzilay.org> wrote: >> > IMO, this thing is missing the point (the usual "parens, ewww!" >> > one), as long as it ignores infix. >> >> Seems to me that this point directly contradicts one of Shriram's >> design goals, namely showing that + is no more special than append >> or one of your own functions. > > To make my point better: I think that this (treating them all the > same) is exactly what makes people dislike it. Whether the open > paren appears before the function or after it, and whether you > separate arguments by spaces or commas is a minor point that is easy > to get adjusted too. As an experiment, try these: > > (< (^ x 2) (/ d 10)) > <(^(x, 2), /(d, 10)) > x^2 < d/10 > > I obviously see the simplicity and elegance of the first. > I can certainly see the point that makes people want the third. > > But the second looks like a mixed up version of the first, which makes > it harder to follow (I actually wrote it "top-down" since it didn't > make any sense otherwise). So I don't see any advantages for the > second -- *especially* through the eyes of the many people who > complain about sexprs, and OTOH, I see a huge disadvantage (which > might be just me not being used to the open paren shift and the comma, > so if that cost goes away I'm left with a syntax that is redundantly > incompatible with sexprs). > > And yes -- this is an arithmetic example, and most code is not > arithmetic, still -- it's these places that bother me (and seem to > bother others) most when it gets to sexpr syntax. Avoiding infix > altogether (and even SK's manifesto has just a comment about not using > it) is IMO sticking your head in the sand, and makes the whole thing > look like the N+1th step in a long series of amusing posts in various > places that end up with no practical results besides a long discussion > thread. > > -- > ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: > http://barzilay.org/ Maze is Life! > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev