[ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Jon Pither
We have also maintained a set of complimentary success stories here: 
https://juxt.pro/clojure-in.html. The more Clojure success stories the merrier!

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


[ANN] new release: irresponsible/anarchy 0.1.0 - logic without rules

2017-04-06 Thread James Laver
The primary purpose of this library is to provide a model you can build a 
UI around that programmers and non-programmers alike can grok.

Dep (clojars): [irresponsible/anarchy "0.1.0"]

More information (and diagrams!) on github: 
https://github.com/irresponsible/anarchy

Cheers,
James (and the Irresponsible Clojure Guild)

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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread 冯忠孝


在 2017年4月6日星期四 UTC+8下午8:12:55,Jon Pither写道:
>
> We have also maintained a set of complimentary success stories here: 
> https://juxt.pro/clojure-in.html. The more Clojure success stories the 
> merrier!


Thank you for your great work 

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


Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Didier
Looks good. May I ask, what kind of support are we looking at? Is this 
something you reasonably see being carried to the release of 1.9? Or was it 
more of an experiment?

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


Component and company with Spring?

2017-04-06 Thread Didier
Hey,

I'm looking into trying out one of the component libraries for Clojure such as 
Component, Mount, Integrant, etc.

Unfortunately, at my company, Spring is king, and a lot of spring beans exist 
that are shared across teams and I need to rely on them. So I'd need a 
framework that can integrate with Spring so I could depend on components from 
spring and Clojure and mix them up. 

Does anyone have experience with this? Is it possible? Is there one framework 
better suited for it then others?

Thanks.

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


Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Jeaye
On Thu, Apr 06, 2017 at 11:31:46AM -0700, Didier wrote:
> Looks good. May I ask, what kind of support are we looking at? Is this 
> something you reasonably see being carried to the release of 1.9? Or was it 
> more of an experiment?

I'm not entirely sure what you mean by "carried to the release of 1.9" here. I 
don't expect that Alex, Rich, et al. will change their minds, again, about 
clojure.spec's instrument validating :ret and :fn specs. As such, I intend for 
Orchestra to exist up until, and well beyond, Clojure 1.9.

Orchestra is an integral part of my workflow and likely the biggest improvement 
to my Clojure toolchain, along with clojure.spec, in the past few years.

Let me know if I can help any further.

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


signature.asc
Description: PGP signature


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Gregg Reynolds
On Apr 6, 2017 7:12 AM, "Jon Pither"  wrote:

We have also maintained a set of complimentary success stories here:
https://juxt.pro/clojure-in.html. The more Clojure success stories the
merrier!


love the i18n-ism!

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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Luke Burton

Where's Azerbaijan? Seriously, this was a fantastic story:

https://www.youtube.com/watch?v=-zM5fDN_AHY 


 

> On Apr 6, 2017, at 11:46 AM, Gregg Reynolds  > wrote:
> 
> 
> 
> On Apr 6, 2017 7:12 AM, "Jon Pither" mailto:j...@juxt.pro>> 
> wrote:
> We have also maintained a set of complimentary success stories here: 
> https://juxt.pro/clojure-in.html . The more 
> Clojure success stories the merrier!
> 
> love the i18n-ism!
> 
> -- 
> 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 
> .

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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Gregg Reynolds
On Apr 6, 2017 1:55 PM, "Luke Burton"  wrote:


Where's Azerbaijan? Seriously, this was a fantastic story:

https://www.youtube.com/watch?v=-zM5fDN_AHY


looks great. i'd like to believe it, but i'm an amercn in 2017 , i buleeve
nuthink. when i poke around on that link i get nuttin.  maybe it's my
android, but when i tap the story i get a completely different video.
 where is this wondrous azaerbaijani thing?


On Apr 6, 2017, at 11:46 AM, Gregg Reynolds  wrote:



On Apr 6, 2017 7:12 AM, "Jon Pither"  wrote:

We have also maintained a set of complimentary success stories here:
https://juxt.pro/clojure-in.html. The more Clojure success stories the
merrier!


love the i18n-ism!

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


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

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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Gregg Reynolds
On Apr 6, 2017 2:08 PM, "Gregg Reynolds"  wrote:



On Apr 6, 2017 1:55 PM, "Luke Burton"  wrote:


Where's Azerbaijan? Seriously, this was a fantastic story:

https://www.youtube.com/watch?v=-zM5fDN_AHY


looks great. i'd like to believe it, but i'm an amercn in 2017 , i buleeve
nuthink. when i poke around on that link i get nuttin.  maybe it's my
android, but when i tap the story i get a completely different video.
 where is this wondrous azaerbaijani thing?


maybe the site is screwed up? when i click play i get derek slager's video.

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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Gregg Reynolds
On Apr 6, 2017 2:10 PM, "Gregg Reynolds"  wrote:



On Apr 6, 2017 2:08 PM, "Gregg Reynolds"  wrote:



On Apr 6, 2017 1:55 PM, "Luke Burton"  wrote:


Where's Azerbaijan? Seriously, this was a fantastic story:

https://www.youtube.com/watch?v=-zM5fDN_AHY


looks great. i'd like to believe it, but i'm an amercn in 2017 , i buleeve
nuthink. when i poke around on that link i get nuttin.  maybe it's my
android, but when i tap the story i get a completely different video.
 where is this wondrous azaerbaijani thing?


maybe the site is screwed up? when i click play i get derek slager's video.

or it could be operator error. ;)

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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Luke Burton

> On Apr 6, 2017, at 12:12 PM, Gregg Reynolds  wrote:
> 
> 
> 
> On Apr 6, 2017 2:10 PM, "Gregg Reynolds"  > wrote:
> 
> 
> On Apr 6, 2017 2:08 PM, "Gregg Reynolds"  > wrote:
> 
> 
> On Apr 6, 2017 1:55 PM, "Luke Burton"  > wrote:
> 
> Where's Azerbaijan? Seriously, this was a fantastic story:
> 
> https://www.youtube.com/watch?v=-zM5fDN_AHY 
> 
> 
> looks great. i'd like to believe it, but i'm an amercn in 2017 , i buleeve 
> nuthink. when i poke around on that link i get nuttin.  maybe it's my 
> android, but when i tap the story i get a completely different video.  where 
> is this wondrous azaerbaijani thing?
> 
> maybe the site is screwed up? when i click play i get derek slager's video.
> 
> or it could be operator error. ;)  

Huh, I triple checked the URL and it's definitely showing up as 
https://youtu.be/-zM5fDN_AHY .

Here's a page from the conference which links the talk (and the link is the 
same there).

http://www.lambdadays.org/lambdadays2017/emin-hasanov 


Yeah I blame Android :)


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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Gregg Reynolds
On Apr 6, 2017 2:17 PM, "Luke Burton"  wrote:


On Apr 6, 2017, at 12:12 PM, Gregg Reynolds  wrote:



On Apr 6, 2017 2:10 PM, "Gregg Reynolds"  wrote:



On Apr 6, 2017 2:08 PM, "Gregg Reynolds"  wrote:



On Apr 6, 2017 1:55 PM, "Luke Burton"  wrote:


Where's Azerbaijan? Seriously, this was a fantastic story:

https://www.youtube.com/watch?v=-zM5fDN_AHY


looks great. i'd like to believe it, but i'm an amercn in 2017 , i buleeve
nuthink. when i poke around on that link i get nuttin.  maybe it's my
android, but when i tap the story i get a completely different video.
 where is this wondrous azaerbaijani thing?


maybe the site is screwed up? when i click play i get derek slager's video.

or it could be operator error. ;)


Huh, I triple checked the URL and it's definitely showing up as
https://youtu.be/-zM5fDN_AHY.

Here's a page from the conference which links the talk (and the link is the
same there).

http://www.lambdadays.org/lambdadays2017/emin-hasanov

Yeah I blame Android :)


it's reliably!  i think i've figured out what i did wrong, just annoyed
again that they don't include links in a simple way - i cannot sit thru
videos for info, drives me nuts. prose is ao much more efficient.

- dinosaur g

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

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


Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Didier
I think that answers my question. I just wanted an approximate idea of the 
kind of LTS this would have, before depending on it. I meant like if it 
would keep up with the changes to spec before release. So I'm glad to hear 
it will and possibly even beyond.

Thanks.

On Thursday, 6 April 2017 11:43:55 UTC-7, Jeaye wrote:
>
> On Thu, Apr 06, 2017 at 11:31:46AM -0700, Didier wrote: 
> > Looks good. May I ask, what kind of support are we looking at? Is this 
> something you reasonably see being carried to the release of 1.9? Or was it 
> more of an experiment? 
>
> I'm not entirely sure what you mean by "carried to the release of 1.9" 
> here. I don't expect that Alex, Rich, et al. will change their minds, 
> again, about clojure.spec's instrument validating :ret and :fn specs. As 
> such, I intend for Orchestra to exist up until, and well beyond, Clojure 
> 1.9. 
>
> Orchestra is an integral part of my workflow and likely the biggest 
> improvement to my Clojure toolchain, along with clojure.spec, in the past 
> few years. 
>
> Let me know if I can help any further. 
>

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


was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Raoul Duke
I am writing to ignorantly sincerely ask how spec + Orchestra compares to
other statically typed out of the box JVM languages. What are the succint
wins over not Scala shudder but eg Kotlin Ceylon, heck Frege, et. al.?

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


Hexing the Technical Interview

2017-04-06 Thread Luke Burton

YES.

https://aphyr.com/posts/341-hexing-the-technical-interview 



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


Re: Hexing the Technical Interview

2017-04-06 Thread Moe Aboulkheir
Love it.

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


Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Jeaye
On Thu, Apr 06, 2017 at 01:47:17PM -0700, Raoul Duke wrote:
> I am writing to ignorantly sincerely ask how spec + Orchestra compares to
> other statically typed out of the box JVM languages. What are the succint
> wins over not Scala shudder but eg Kotlin Ceylon, heck Frege, et. al.?

clojure.spec validates data at run-time. spec's instrumentation, and thus 
Orchestra's, checks function arguments, return values, etc _when the function 
is called_, not during AOT compilation.

In contrast, a static type system would catch theses errors before the program 
itself even runs. In my opinion, clojure.spec + Orchestra still falls quite 
short of a static type system, but it's the best setup I've seen for automated 
data validation as it moves through all parts of your Clojure programs. Even in 
languages with static type systems (C++, even), you almost certainly won't get 
automatic validation of the data, for each function call, return, etc, given 
only a declarative spec. In that way, clojure.spec alone provides something of 
great value.

Aside from that, you're talking about the gains of Clojure versus all of those 
languages you listed. That's not related to Orchestra and would likely be 
better answered by people more knowledgeable than me.

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


signature.asc
Description: PGP signature


Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Timothy Baldridge
The power offered by spec is probably better compared against dependent
type systems like Idris. True static type systems run analysis at
compile-time, but spec allows you to perform very complex checks because
you have the power of full blown language.

For example, with spec you can write a function spec that says "Union is a
function that takes two hashsets. The return value of this function is a
hashset that contains all the values found in the hashset arguments".
That's impossible to statically check in most languages. Some languages
like Idris approach this level of expressibility, but when they fall short,
you're sunk. In spec you can always pop the escape hatch and write a custom
predicate in Clojure code.

So for me that's the tradeoff. I loose compile-time checking, but gain a
*ton* of power. And since types exist at run-time we can do cool things
like introspect them and generate data, documentation, better error
messages, or even run logic over them to write a static type checker.

On Thu, Apr 6, 2017 at 2:57 PM, Jeaye  wrote:

> On Thu, Apr 06, 2017 at 01:47:17PM -0700, Raoul Duke wrote:
> > I am writing to ignorantly sincerely ask how spec + Orchestra compares to
> > other statically typed out of the box JVM languages. What are the succint
> > wins over not Scala shudder but eg Kotlin Ceylon, heck Frege, et. al.?
>
> clojure.spec validates data at run-time. spec's instrumentation, and thus
> Orchestra's, checks function arguments, return values, etc _when the
> function is called_, not during AOT compilation.
>
> In contrast, a static type system would catch theses errors before the
> program itself even runs. In my opinion, clojure.spec + Orchestra still
> falls quite short of a static type system, but it's the best setup I've
> seen for automated data validation as it moves through all parts of your
> Clojure programs. Even in languages with static type systems (C++, even),
> you almost certainly won't get automatic validation of the data, for each
> function call, return, etc, given only a declarative spec. In that way,
> clojure.spec alone provides something of great value.
>
> Aside from that, you're talking about the gains of Clojure versus all of
> those languages you listed. That's not related to Orchestra and would
> likely be better answered by people more knowledgeable than me.
>
> --
> 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.
>



-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

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


Re: [ANN] New Clojure story pages on clojure.org

2017-04-06 Thread Dan Carpenter
Great work, but I just wanted to say it doesn't look optimal on mobile. 
Maybe 1 item per column on most phones rather than 3?

On Wednesday, April 5, 2017 at 11:00:12 AM UTC-7, Alex Miller wrote:
>
> I wanted to let people to know that we've been updating the clojure.org 
> site to add some deeper descriptions of companies using and succeeding with 
> Clojure:
>
> https://clojure.org/community/success_stories
>
> is a port of the success stories that were previously hosted on the 
> Cognitect web site:
>
> https://clojure.org/community/community_stories
>
> is a new section containing slightly longer interviews of companies using 
> Clojure (I have more on the way and I hope to post these regularly).
>
> There is obviously some overlap between these and they may merge or evolve 
> over time. You can find both pages on the left nav of the Community section 
> if you need to track them down again.
>
> If you're interested in being added to these pages or the Companies page (
> https://clojure.org/community/companies), drop me a line at 
> alex@cognitect.com .
>
> Alex
>

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


Re: was Re: ANN: Orchestra, complete instrumentation for clojure.spec

2017-04-06 Thread Didier
It's different, yet related.

Static type systems and clojure.spec both try to prevent bugs. They're tools to 
help you write correct programs, the same way that a testing framework is. 
Neither of them will catch all your bugs unfortunately. 

Static type systems catches bugs where you would try to do an operation over a 
type which does not support it. Types are not very precise though, like it will 
catch 10/"123", but not 10/0, because the type isn't more precise then int. So 
int/int will be ok, but int/string will be caught at compile time as a bug.

The advantage of static type systems is that what they do catch, they will 
catch 100% of the time and they generally run pretty quickly.

Clojure.spec catches bugs where you'll try to do something on a value which 
isn't acceptable, as well as catch bugs where the relationship between the 
input and output values is wrong. So it can catch 10/0 and 10/"123". If a 
parameter was true and functionally that means the output should be false, but 
a bug causes it to be true instead, well it can also catch that.

The disadvantage of clojure.spec is that you cannot be sure it caught 100% of 
those bugs. It will catch some, but maybe not all. It will also be much slower 
to run.

Now, clojure.spec has one more trick up its sleeves. It can be used for static 
analyses on steroids. If you've ever used Find bugs in java, you know a little 
what I'm talking about. If you use Spectrum, it will try to catch some of those 
same bugs at compile time, and it could in theory be made to catch 100% of the 
bugs static type systems catch. Spectrum is new and not fully featured yet, but 
so is clojure.spec, so this is a possible future which you can have a taste for 
today. I recommend checking it out: https://github.com/arohner/spectrum

Alright, that's the part about catching bugs. Now there's more to it. Type 
declarations are normally helpful documentation too, and so is clojure.spec. 
Spec, once again, can be way more precise in documenting. Similarly, types can 
help tooling and error messages, so can spec.

Finally, spec also allows some things types don't even cover, such as parsing 
and validation of non typed data like json. Spec can parse a complex structure 
into an AST. It can also validate EDN, or json that was unmarshalled into 
clojure.

As time goes on, I'm sure someone will find other use cases for it too.

Hope this helps.

P.S.: Clojure also has a static type system called core.typed. It is not as 
widely used though, and has only one developer working on it. It also doesn't 
compare to the languages you listed, since it is a gradual type system, more 
inline with typescript, typed racket and hack.

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