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
-~----------~----~----~----~------~----~------~--~---

Reply via email to