>
>
> For example, in Python you can write {1, 2} to produce a set, or {1: 2} to
> produce a dict. But what does {} produce? Is it an empty set, or an empty
> dict? Python chooses the latter, leaving the literal syntax for sets
> incomplete. To my mind this is indicative of a design approach that sees
> literal data syntax as sugar for data constructors, and not something that
> deserves first class consideration.
>

I agree Python's syntax/grammar doesn't have the mathematical elegance of a
Lisp.  On a scale of 1 to 10, with 10 being the perfect beginners'
language, maybe Python is a 9.
I hope with Clojure's greater mathematical beauty, it can get to about a
9.5.


> Clojure, on the other hand, takes great care to ensure that its data can
> always be represented as literals. For data that isn't a standard
> collection type, there are tagged literals. Clojure syntax starts from a
> representation of data, and in order to really understand it, I think it
> needs to be taught from this principle as well.
>
>
Can you elaborate?  I really want to get your point but I'm not so
proficient with the lingo.  What do you mean by a "literal" and "tagged
literals"? And how is a focus
on the representation of data different than Python beyond Python's less
elegant grammar?

cs

-- 
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
Note that posts from new members are moderated - please be patient with your 
first post.
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to