You can talk about Clojure operations from a type perspective, but I think 
when you do so, you are largely missing the point of Clojure.

There is no Clojure operation for "add something to the right side of a 
list" - instead there is the far simpler (in simple vs easy terms) "add 
something to a collection". Understanding the difference and why it's 
important are far more illuminating than just forcing your prior model 
(like tupelo's prepend/append). If your goal is education, then it's doubly 
important to take this journey. It may be a few stops longer, but you'll 
actually learn a lot more and create a mental model that will help you 
understand more of Clojure's philosophy.


On Tuesday, July 17, 2018 at 12:17:39 PM UTC-5, Gary Trakhman wrote:
>
> I'm just referring to a language design tradeoff, specifically clojure 
> picks ad-hoc polymorphism over making it easy to reason about types.  
> Subtyping, polymorphism, and the ability to do efficient type inference 
> (auto and human) are a real debate outside of clojure.  
>
> People wanting more specific functions are looking for it to be easier to 
> know the type of something.  
>
> Clojure and other dynamic languages tend to convert stuff for you all the 
> time implicitly, which you get used to eventually, but the OP was talking 
> about using this for education, and I think no one wants to learn about 
> computational complexity before they can add something to the right side of 
> a list.
>

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