On Mar 19, 2009, at 12:28 AM, e wrote:

just started reading it and already have some new perspectives. Like, I didn't really know that "let" variables could depend on each other. I would have expected that to be let*, but I just looked in the API, and I don't see a let*, which seems odd to me. What's that all about?

Secondly, also about "let", I remember the thing about C that people critiqued was that you had to define all your variables before you started using them ... only one step improved over languages that had to put them in a special section above their use (sort of sounds like "let"?). And then along came C++ and java, and folks like me looked like idiots for being old-school and defining stuff at the top of functions instead of delaying until just when you need them. I eventually bought into that idea: it makes it easy to see whats going on, it makes the names of variables less important, and it delays allocation until everything prior is known to be set up right. In C++ it's considered a best practice, and I wonder if that community would argue that this is a step in the opposite direction. So I also wonder if that's why "let" works like it does (like let*)? so that you still think about the order things should be set up?

I can see one argument right now for this c-like approach ... but I'm not sure I buy it -- that in lisp (etc.) the functions typically so short (or should be) that the C++ argument doesn't come into play. Maybe better, I could see one arguing that you are still supposed to parlay initialization with ever-nested "lets" ... but C doesn't allow nested functions so it's not a valid comparison. And when all else doesn't seem right you can still use java variables a la refs any time you really want. Am I on the right track?

Ok, back to reading.  Thanks for writing it.


On Mon, Mar 16, 2009 at 11:44 PM, Keith Bennett <keithrbenn...@gmail.com > wrote:

All -

I am a relative newcomer to Clojure, but have been really enjoying
learning and using it.

I've published an article on my blog at http://snipurl.com/dyxz7.
It's about some of my impressions of Clojure based on my studies and
porting of a Swing app to Clojure (a previous article discussed a
JRuby port of it). It's kind of intended for newcomers to Clojure from
the more conventional languages.

If any of you could check it for accuracy I would appreciate it.  Of
course, feel free to comment on it too.

Thanks,
Keith Bennett




--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to