Ah yes, re-playing back those early scheme days in my head. As all do and did, I wrested with parens, and recursion. Recursion did finally click and even now 1/2 the time I find myself "looping" with a recursive function in Scala. I don't give it second thought, it does confuse the hell out of others however who read the code. Even funnier, I now think how come they can't seem to "get it". But it did kick my ass in the day.<div>
<div><br></div><div>But parens .... I did finally make a separate peace with parens, but in a very unique manner. It turned out it wasn't the parens after all it was the pseudo special forms/keywords + parens that created the dissonance.</div>
<div><br></div><div>As a joke, literally two beers bored as hell on Friday night what-the-hell-as-a-joke exercise, I used emacs to redefine each of the common special-form / keywords to single greek letters. lambda -> lambda-char, define -> lower-delta, if -> lower-iota, begin -> lower-rho, let -> lower-beta, set! -> lower-sigma, 'and', 'or', 'not' -> the single char logic symbols, #t #f -> top and bottom symbols, etc.</div>
<div><br></div><div>I read rho means 'r'un. I read beta as 'b'ind. I read sigma as 's'et! etc. And a few years later, I'm still coding in joke mode.</div><div><br></div><div>Sigma (set!) is a bright red char. All others in chars in a light blue. I use a black background, and parens are in a light grey, you almost can't see them. I constantly let emacs indent and 'tab' lines into place. In other words, indentation guides first, parens second and as the last resort when I get 'lost'.</div>
<div><br></div><div>All other text is bright white on black. Nesting is more symmetrical and cleaner. I'm sure everyone out there will just hate it.</div><div><br></div><div>So where am I going with this. Just tossing out the thought that its not the parens per se, but parens combined with the core forms which are the issue. Particularly: define, let, begin, if. </div>
<div><br></div><div>Very curious if its just an odd twist to my mental makeup, I'm slightly dyslexic as well, or some others might end up seeing it the same way.</div><div><br></div><div>Skeptical?? I believe DrRacket added delta (for 'define') and lambda greek char capability long ago. May have even been driven from an earlier posting by me on this very topic to the list a number of years back. Complete the experiment by adding single greek chars aliases for 'let', 'begin', et al.</div>
<div><br></div><div>You're probably wondering by now, so without further ado, Ladies and Gentleman I give you "Funky Racket Syntax" <a href="http://imagebin.ca/view/s6SHn7c.html">http://imagebin.ca/view/s6SHn7c.html</a></div>
<div><br></div><div>I tried to actually pick "bad" examples. I'm sure you'll all agree I succeeded.</div><div><br></div><div><br></div><div><br></div></div>