This is Clojure- we can have both, at the same time! 
clojure.core.typed

---
Joseph Smith
j...@uwcreations.com
@solussd


> On Oct 8, 2013, at 5:36 PM, Kendall Shaw <ks...@kendallshaw.com> wrote:
> 
> Some things that I see most of the time when I read debates about dynamic vs 
> static are:
> 
> 1. Statically defined types don't solve everything, so they are       not 
> useful.
> 
> Some help is better than no help even if the help doesn't solve all of your 
> problems.
> 
> Yes, you should wash your hands before dinner, even though we are all going 
> to die in the end anyway.
> 
> 2. I like static typing as long as it is optional
> 
> In the case where the point of using statically defined types is to have a 
> compiler catch problems instead of you needing to predict their occurrence 
> then static typing would have to be non-optional.
> 
> 3. You don't need the compiler to warn you about types, because you can write 
> tests.
> 
> A difficult problem is one that occurs on a rare occasion in some place that 
> you would not have thought to check. So, you can't expect to be able to catch 
> them with tests. If the problem is one that would have been flagged as a 
> compile-time error, then in that case it would have been useful to have been 
> using static typing.
> 
> I am still unsure. It seems likely that the usefulness of statically defined 
> types would depend upon the application. When using statically defined types 
> makes development slower to an extent that outways the benefit, then it is 
> bad. If  faster initial development as a result of dynamic typing ultimately 
> ends up taking more time because of problems that would have been caught by a 
> compiler, then it is bad. If statically defined typing makes you not discover 
> things you would have because of the overhead of dealing with the static 
> typing, then that is bad.
> 
> Kendall
> 
> 
>> On 10/05/2013 08:35 PM, zcaudate wrote:
>> I'm a little bit miffed over this current craze of `types` and `correctness` 
>> of programs. It smells to me of the whole `object` craze of the last two 
>> decades. I agree that types (like objects) have their uses, especially in 
>> very well defined problems, but they have got me in trouble over and over 
>> again when I am working in an area where the goal is unclear and 
>> requirements are constantly changing.          
>> 
>> BTW... This is no means a criticism of all the type system work that is 
>> going on in the clojure community. I am a huge fan of Ambrose's Typed 
>> Clojure project because it gives me the option of using types... not shoving 
>> it down my throat. I like the freedom to choose.
>> 
>> My experience of programming in clojure has freed me from thinking about 
>> types and hierarchies and this article rings so true: 
>> http://steve.yegge.googlepages.com/is-weak-typing-strong-enough.
>> 
>> However, everywhere I look, there are smug type-weenies telling me that my 
>> dynamically typed program is bad because it cannot be `proven correct` and 
>> not `checked by the compiler`. This question on SO really makes me angry.... 
>> http://stackoverflow.com/questions/42934/what-do-people-find-so-appealing-about-dynamic-languages....
>>  because no one is defending dynamic languages on there. The reason is very 
>> simple..... because we don`t have a theory to back us up!
>> 
>> I do want to put up an counter argument against this barrage of abuse 
>> against dynamic languages. And I want to put some academic weight behind 
>> this. The only counter I could come up with was to use Godel's 
>> incompleteness theorem. For those that don't know... here is an introduction 
>> to the man and his theory. http://www.youtube.com/watch?v=i2KP1vWkQ6Y. 
>> Godel's theorem, invalidated Principia Mathematica as a complete system of 
>> description. Principia Mathematica btw....  effectively led to Type Theory.
>> 
>> According to http://en.wikipedia.org/wiki/Type_theory. "The types of type 
>> theory were invented by Bertrand Russell in response to his discovery that 
>> Gottlob Frege's version of naive set theory was afflicted with Russell's 
>> paradox. This theory of types features prominently in Whitehead and 
>> Russell's Principia Mathematica. It avoids Russell's paradox by first 
>> creating a hierarchy of types, then assigning each mathematical (and 
>> possibly other) entity to a type. Objects of a given type are built 
>> exclusively from objects of preceding types (those lower in the hierarchy), 
>> thus preventing loops."
>> 
>> I'm hoping to collect a few more `proofs` from the clojure community... for 
>> example... if there is a paper on "why are type systems so bad at 
>> classifying animals"... then please forward it on. 
>> -- 
>> -- 
>> 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/groups/opt_out.
> 
> 
> -- 
> ThisIsHardToRead, asIsThis. This_is_easier, unless_it_is_underlined. 
> This.is.easy. This-is-easy-too. Almost as easy to read as this.
> -- 
> -- 
> 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/groups/opt_out.

-- 
-- 
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/groups/opt_out.

Reply via email to