<p>Fully-parenthesized math is more difficult to read, I agree, but overall lispy syntax has really grown on me. I can't tell you how many times Excel has gotten mad at me for typing</p>
<p>=*5A1</p>
<p>I think the math problem is accidental, related only to the customary use of infix. The difference between<br>
(f x)<br>
And<br>
f(x)<br>
Is not obvious. Had we always added as<br>
plus(a, b)<br>
then<br>
(plus a b) <br>
would be no problem.</p>
<div class="gmail_quote">On Jul 20, 2011 5:04 PM, "Greg Hendershott" <<a href="mailto:greghendershott@gmail.com">greghendershott@gmail.com</a>> wrote:<br type="attribution">> In this regard, I was you a couple years ago.<br>
> <br>> Spoiler alert: It turned out to be no hurdle at all. The psychic<br>> whiplash lasted days/weeks, not weeks/months.<br>> <br>> As people will point out, you must use an editor that does Lisp/Scheme<br>
> paren matching and indentation (like DrRacket or emacs).<br>> <br>>> ... getting my head to read the deeper<br>>> nested (if (some thing) (else branch)) structures is somewhat painfull.<br>> <br>> Actually, "control flow" code like that is pretty easy with the right<br>
> editor: The "if", "else" and indentation will be in much the same<br>> places you're used to. The underbrush will just be () instead of {}.<br>> <br>> With time you may find yourself doing far fewer nested conditionals<br>
> and loops, at all. Because you're using more-succinct tools like<br>> match, map, fold, etc.<br>> <br>> Anyway I think you'll probably find it less daunting than you imagine.<br>> <br>> Where prefix never gets natural (at least it still hasn't for me) is<br>
> complicated math expressions. Having something like curly infix for<br>> that, would be handy.<br>> <br>> Also I've been known write some comparisons in infix using a Racket "trick".<br>> <br>
> Instead of:<br>> <br>> (if (< a b) ...<br>> <br>> you can write:<br>> <br>> (if (a . < . b) ...<br>> <br>> Anything between two dots like that "gets moved to the front". This<br>
> used e.g. with Racket contracts, so you can write (arg1 arg2 . -> .<br>> result) which is more intuitive than (-> arg1 arg2 result). This can<br>> help in a few cases but isn't the generalized curly infix thing.<br>
> <br>> On Sun, Jul 17, 2011 at 1:13 PM, Danny Wilson <<a href="mailto:danny@decube.net">danny@decube.net</a>> wrote:<br>>> Hi List,<br>>><br>>> Short version: is there an implementation of<br>
>> <a href="http://www.dwheeler.com/readable/sweet-expressions.html">http://www.dwheeler.com/readable/sweet-expressions.html</a> for typed/racket or<br>>> just racket?<br>>><br>>><br>>> Long version:<br>
>><br>>> The past few days I've gotten really excited about the possibilities of<br>>> using the Racket for my projects. I'm mostly a self-taught programmer<br>>> without a CS or scheme background. Currently I'm working on a rather large<br>
>> (web)application project, consisting of: haXe, some Scala, PHP<br>>> (unfortunately) a bit of D and modifications to C/C++<br>>><br>>> I tend to make enough typo's in my coding to appreciate static typing.<br>
>> Having tried scheme and lisp now and then, I couldn't really get over<br>>> everything being dynamically typed - (as well not finding any mentioning or<br>>> guarantees about performance, memory usage or anything like that). Typed<br>
>> Racket got me very excited.<br>>><br>>> I 'get' the lovelyness of code as data, as i've written a few code<br>>> generators to reduce boilerplate. But getting my head to read the deeper<br>
>> nested (if (some thing) (else branch)) structures is somewhat painfull.<br>>> Especially for my colleagues who never have tried programming in any lisp<br>>> or even heard of it.<br>>><br>>> I noticed the Holu language, but couldn't find any examples of what it might<br>
>> look like. Can languages like holy and typed/racket be combined somehow?<br>>> Again I've just started using DrRacket so maybe these are all very obvious<br>>> questions.<br>>><br>>><br>
>> Thanks!<br>>> _________________________________________________<br>>> For list-related administrative tasks:<br>>> <a href="http://lists.racket-lang.org/listinfo/users">http://lists.racket-lang.org/listinfo/users</a><br>
>><br>> <br>> _________________________________________________<br>> For list-related administrative tasks:<br>> <a href="http://lists.racket-lang.org/listinfo/users">http://lists.racket-lang.org/listinfo/users</a><br>
</div>