Re: Clojure + BDD + TDD + Pairing...

2013-10-30 Thread Josh Kamau
I can do it with you if we limit the hours to Saturday and sunday.

I am a noob though i have 2 apps in production. (You can get alot done
without knowing the whole of clojure)

I am in GMT  +3

Thanks.


On Wed, Oct 30, 2013 at 6:43 AM, Marcus Blankenship
mar...@creoagency.comwrote:

 Hi Folks,

 I’m a Clojure n00b, but am interested in finding another n00b who aspires
 to learn Clojure, and do so using BDD / TDD practices through regular
 pairing sessions.  I’ve found novice - novice pairing to be a great way
 to ramp up on skills, but I don’t live near anyone who I can pair with.

 I’m thinking that doing 3 1-hour sessions a week, for a month, would give
 us a nice start.  Obviously, this would be remote pairing via ScreenHero
 (or some other tool).

 Anyone interested?

 Best,
 Marcus


 marcus blankenship
 \\\ Partner, Problem Solver, Linear Thinker
 \\\ 541.805.2736 \ @justzeros \ skype:marcuscreo

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


Re: [ANN] modern-cljs - Tutorial 22

2013-10-30 Thread Boris Kourtoukov
Thanks for putting this one together! I like that the tutorial series has a 
steady ramp up to complexity and nuance, it really turns it into a long term 
learning experience.

On Tuesday, October 29, 2013 3:12:34 PM UTC-4, Magomimmo wrote:
 Hi all,
 I just published the 22th tutorial - Learn by Contributing (Part 3) - of the 
 modern-cljs series. 
 
 
 https://github.com/magomimmo/modern-cljs/blob/master/doc/tutorial-22.md
 
 
 In this tutorial I introduced in the 'enfocus' lib what we learnt about the 
 separation of concerns principle in previous tutorial and the I started 
 implementing few CLJ/CLJS shared unit tests by using clojurescript.test lib 
 by the great Chas and introducing again clix to make the unit tests sharable 
 between CLJ and CLJS.
 
 
 In doing this stuff we'll run in few hidden bugs which are discover by 
 adopting a unit test strategy which minimizes the pain of writing unit tests. 
  Those bugs are then first correct by using the REPL and then ported into the 
 codebase.
 
 
 I want to thanks a lot Creighton Kirkendall for the support he gave me during 
 the last week while working on this tutorial and for being so open minded 
 with me and my proposed improvements. 
 
 
 HIH
 
 
 Mimmo

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


Re: eval-after-load

2013-10-30 Thread Phillip Lord

Hmm, well, it was a nice idea, but it fails, as the eval happens before
the load. Can't quite work out why this is true, but it is.

Far as I can tell, this requires Java level changes. Or I can provide
support in the package.

Shame.

Phil

Phillip Lord phillip.l...@newcastle.ac.uk writes:

 Well, yes, but it always does it and needs modification of the source.

 Anyway, I found a solution; requires usage of a private var,
 unfortunately, but it does work.


 (defn eval-after-load [library form]
   (let [key
 (keyword
  (str eval-after-load- library))]
 (add-watch
  (var-get #'clojure.core/*loaded-libs*) key
  (fn[key ref old new]
(when (= library
 (first (clojure.set/difference new old)))
  (eval form
 library))

 (eval-after-load
 'bob
 '(println Hello Bob!))


 Cedric Greevey cgree...@gmail.com writes:

 Doesn't simply putting some executable forms at the end of the namespace's
 source code do that? e.g.

 (ns foo
   ...)

 (defn ...)

 (def ...)

 (defn ...)

 ...

 (do-something!)



 On Mon, Oct 28, 2013 at 1:05 PM, Phillip Lord
 phillip.l...@newcastle.ac.ukwrote:


 I want to add some additional configuration after I have loaded a
 library. Is there anything equivalent to eval-after-load in emacs, which
 enables me to do something after a namespace has been loaded? Or a file?

 Phil

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


 -- 

 -- 
 Phillip Lord,   Phone: +44 (0) 191 222 7827
 Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk
 School of Computing Science, http://homepages.cs.ncl.ac.uk/phillip.lord
 Room 914 Claremont Tower,   skype: russet_apples
 Newcastle University,   twitter: phillord
 NE1 7RU 

 -- 

-- 
Phillip Lord,   Phone: +44 (0) 191 222 7827
Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk
School of Computing Science,
http://homepages.cs.ncl.ac.uk/phillip.lord
Room 914 Claremont Tower,   skype: russet_apples
Newcastle University,   twitter: phillord
NE1 7RU 

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


Re: [ClojureScript] Re: [ANN] modern-cljs - Tutorial 22

2013-10-30 Thread Mimmo Cosenza
Thanks Boris. 
I'm glad you found it useful. That's the best ROI to me. 

I would like to have more time to add more tutorials quickly than I'm doing now 
to better serve this extraordinary community.  

Mimmo

On Oct 30, 2013, at 8:40 AM, Boris Kourtoukov borisko...@gmail.com wrote:

 Thanks for putting this one together! I like that the tutorial series has a 
 steady ramp up to complexity and nuance, it really turns it into a long term 
 learning experience.
 
 On Tuesday, October 29, 2013 3:12:34 PM UTC-4, Magomimmo wrote:
 Hi all,
 I just published the 22th tutorial - Learn by Contributing (Part 3) - of the 
 modern-cljs series. 
 
 
 https://github.com/magomimmo/modern-cljs/blob/master/doc/tutorial-22.md
 
 
 In this tutorial I introduced in the 'enfocus' lib what we learnt about the 
 separation of concerns principle in previous tutorial and the I started 
 implementing few CLJ/CLJS shared unit tests by using clojurescript.test lib 
 by the great Chas and introducing again clix to make the unit tests sharable 
 between CLJ and CLJS.
 
 
 In doing this stuff we'll run in few hidden bugs which are discover by 
 adopting a unit test strategy which minimizes the pain of writing unit 
 tests.  Those bugs are then first correct by using the REPL and then ported 
 into the codebase.
 
 
 I want to thanks a lot Creighton Kirkendall for the support he gave me 
 during the last week while working on this tutorial and for being so open 
 minded with me and my proposed improvements. 
 
 
 HIH
 
 
 Mimmo
 
 -- 
 Note that posts from new members are moderated - please be patient with your 
 first post.
 --- 
 You received this message because you are subscribed to the Google Groups 
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.

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


.length vs. count for string length

2013-10-30 Thread Alice
Which one is preferred?

.length needs to be type hinted, so more verbose.
The performance penalty of count is negligible in most cases.

I think including len in clojure.string would be a good idea because it's 
used so often.

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


Re: .length vs. count for string length

2013-10-30 Thread Baishampayan Ghose
What'd clojure.string/len do any differently than clojure.core/count?
count already provides does the fastest possible thing for strings.
~BG

On Wed, Oct 30, 2013 at 4:14 PM, Alice dofflt...@gmail.com wrote:
 Which one is preferred?

 .length needs to be type hinted, so more verbose.
 The performance penalty of count is negligible in most cases.

 I think including len in clojure.string would be a good idea because it's
 used so often.

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



-- 
Baishampayan Ghose
b.ghose at gmail.com

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


Re: SQL to logic rule mapping

2013-10-30 Thread Kris Jenkins
FWIW, I too am interested in a better SQL tool for Clojure, but my take on 
it is that we don't need a new language on top of SQL, but a better way to 
use SQL directly.

My thinking, plus an *alpha-grade* library, can be 
found here: https://github.com/krisajenkins/yesql#rationale

Cheers,
Kris

On Tuesday, 29 October 2013 16:35:45 UTC, ArturoH wrote:

 I am interested in writing a better SQL mapping tool for clojure. Because 
 I am not convinced that simple SQL composition is effective, for various 
 reasons. I rather have some kind of logic construct that I could use to 
 generate SQL from. My main concern is to eliminate the hard boundary 
 between the RDBMS and the rest of the code. Any given logic construct would 
 a candidate to be translated into SQL or executed inside the JVM.

 One option that I have been considering is a production rule system. The 
 most popular are based on the rete algorithm. I know there are a few open 
 source productions systems out there, but I think translating into SQL from 
 an established rule language may be too complicated. At this point I plan 
 to use the language extensions proposed by Anurag Acharya, that eliminate 
 sequential guards and adds collection support. The reason is that I want to 
 process the rules in parallel, and I want to be as close to SQL as 
 possible. Clojure pure functions could also be called from within a 
 production rule.

 The use case I have in mind is regular IT apps, not necessarily complex 
 decision systems. I just find myself writing too much code, and often an 
 SQL a clojure procedure and a function in the GUI will have some aspect of 
 the same business rule embedded in the code. A layered approach helps to 
 alleviate the problem, but it still persists. More support for declarative 
 code may be the answer. But other than SQL or LINQ and other minor 
 examples, there is little support for declarative code for average IT 
 systems.

 Anyone has any ideas/opinions?

 I would appreciate any feedback.

 Arturo Hernandez


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


Re: .length vs. count for string length

2013-10-30 Thread Alice
count does some type checks, but it's negligible in most cases as I already 
said. len can give a clear intention than count somtimes.

I'm not suggesting that it should be included in clojure.string, but if 
count is currently not preferred over .length, including it can be a good 
option.


On Wednesday, October 30, 2013 7:50:04 PM UTC+9, Baishampayan Ghose wrote:

 What'd clojure.string/len do any differently than clojure.core/count? 
 count already provides does the fastest possible thing for strings. 
 ~BG 

 On Wed, Oct 30, 2013 at 4:14 PM, Alice doff...@gmail.com javascript: 
 wrote: 
  Which one is preferred? 
  
  .length needs to be type hinted, so more verbose. 
  The performance penalty of count is negligible in most cases. 
  
  I think including len in clojure.string would be a good idea because 
 it's 
  used so often. 
  
  -- 
  -- 
  You received this message because you are subscribed to the Google 
  Groups Clojure group. 
  To post to this group, send email to clo...@googlegroups.comjavascript: 
  Note that posts from new members are moderated - please be patient with 
 your 
  first post. 
  To unsubscribe from this group, send email to 
  clojure+u...@googlegroups.com javascript: 
  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+u...@googlegroups.com javascript:. 
  For more options, visit https://groups.google.com/groups/opt_out. 



 -- 
 Baishampayan Ghose 
 b.ghose at gmail.com 


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


Re: .length vs. count for string length

2013-10-30 Thread Luc Prefontaine
Strings are character sequences,  count is a better option to stay
within the sequence abstraction.

Lic P.


 count does some type checks, but it's negligible in most cases as I already 
 said. len can give a clear intention than count somtimes.
 
 I'm not suggesting that it should be included in clojure.string, but if 
 count is currently not preferred over .length, including it can be a good 
 option.
 
 
 On Wednesday, October 30, 2013 7:50:04 PM UTC+9, Baishampayan Ghose wrote:
 
  What'd clojure.string/len do any differently than clojure.core/count? 
  count already provides does the fastest possible thing for strings. 
  ~BG 
 
  On Wed, Oct 30, 2013 at 4:14 PM, Alice doff...@gmail.com javascript: 
  wrote: 
   Which one is preferred? 
   
   .length needs to be type hinted, so more verbose. 
   The performance penalty of count is negligible in most cases. 
   
   I think including len in clojure.string would be a good idea because 
  it's 
   used so often. 
   
   -- 
   -- 
   You received this message because you are subscribed to the Google 
   Groups Clojure group. 
   To post to this group, send email to clo...@googlegroups.comjavascript: 
   Note that posts from new members are moderated - please be patient with 
  your 
   first post. 
   To unsubscribe from this group, send email to 
   clojure+u...@googlegroups.com javascript: 
   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+u...@googlegroups.com javascript:. 
   For more options, visit https://groups.google.com/groups/opt_out. 
 
 
 
  -- 
  Baishampayan Ghose 
  b.ghose at gmail.com 
 
 
 -- 
 -- 
 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.
 
--
Luc Prefontainelprefonta...@softaddicts.ca sent by ibisMail!

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


[ANN] The long awaited Dire 0.5.0 - Slingshot integration

2013-10-30 Thread Michael Drogalis
This feature has been requested for a few months, and it's finally made its 
way
into Dire. I'd like to thank Dylan Paris for sending in a patch to do this.

The tl;dr: error handling can now dispatch based on predicates rather than 
types.

Dire: https://github.com/MichaelDrogalis/dire

Slingshot: https://github.com/scgilardi/slingshot

Blog post: 
http://michaeldrogalis.tumblr.com/post/65520940178/dire-0-5-0-slingshot-integration

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


Re: SQL to logic rule mapping

2013-10-30 Thread Ray Miller
On 30 October 2013 11:47, Kris Jenkins krisajenk...@gmail.com wrote:

 FWIW, I too am interested in a better SQL tool for Clojure, but my take on
 it is that we don't need a new language on top of SQL, but a better way to
 use SQL directly.

 My thinking, plus an *alpha-grade* library, can be found here:
 https://github.com/krisajenkins/yesql#rationale


Something similar I'm using in production on a couple of sites:

https://github.com/ray1729/sql-phrasebook

Ray.

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


Why isn't a docstring allowed for defrecord?

2013-10-30 Thread Mars0i
I understand that defrecord can't take a docstring (see Doc string for 
variables and record in this group), and I have learned that record types 
are somewhat odd beasts.  I know that there are workarounds 
(http://clojure-log.n01se.net/date/2010-10-03.html).  

Still, I'm surprised.  *Why* can't I document a record type with a 
docstring?  

It seems like extremely useful coding practice to provide a docstring for a 
type.  Even if the underlying semantics would be weird and special-cased, 
well, that's already true for record types.

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


Re: Why isn't a docstring allowed for defrecord?

2013-10-30 Thread Jim - FooBar();

On 30/10/13 16:19, Mars0i wrote:
Still, I'm surprised. /Why/ can't I document a record type with a 
docstring? 


of course you can...just add a :doc key in the record's meta :)

Jim

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


Re: Why isn't a docstring allowed for defrecord?

2013-10-30 Thread Phillip Lord

Jim - FooBar(); jimpil1...@gmail.com writes:
 On 30/10/13 16:19, Mars0i wrote:
 Still, I'm surprised. /Why/ can't I document a record type with a docstring? 

 of course you can...just add a :doc key in the record's meta :)


The OP is correct. He says why can't I document a record type with a
docstring, rather than why can't I add directly to the metadata of the
symbol. 

Consistency is always good; in the ideal world all def* forms should
have a docstring. Being able to do privacy (defn vs defn-) would be nice
also.

defmethod
definterface
defstruct
deftype

Phil

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


Re: Incanter/vector-clj use error

2013-10-30 Thread Jim - FooBar();

On 30/10/13 16:56, P Martin wrote:
Thanks - I'm still a little confused on the different between use and 
require.


'use' is sort of deprecated after it was noticed that people were 
abusing it. It's not exactly deprecated because in some cases like 
incremental development at the repl it is really usefyl to have. That 
said, 'require' can do everything 'use' can via   :refer :all. so what 
I'm saying is the the following two are equivalent :


(require '[clojure.tools.macro :refer :all])
(use '[clojure.tools.macro])

Now, in perhaps 8/10 cases you should not do any of that. The next guy 
that will look at your code will not have the slightest clue what 
external fns you're using. He literally has to manually inspect the 
entirity of that external namespace and figure out which ones you've 
actually used. A more informative way would be the following 2:


(require '[clojure.tools.macro :as mac]) ;;if you're unsure of what you 
'll end up using just alias it
(require '[clojure.tools.macro :refer [name-with-attributes mexpand-all 
]]) ;;if you know upfront what you need, specify it


using the second you don't need an alias, but you've explicitly said 
here are the only vars i've used. Massive difference don't you agree?


In the case of var-clash due to same name, just make sure you use 
aliases. That is if you want both vars with the same name. If you don't 
just overwrite the one or :exclude it via:


(:refer-clojure :exclude [==])   ;;core.logic does this all the time

When I try your suggestion for the matrix library, (require 
'(clojure.core.matrix :as mat)), I get:


IllegalArgumentException Don't know how to create ISeq from: 
clojure.lang.Keyword  clojure.lang.RT.seqFrom (RT.java:505)




I'm really sorry about that...I'm pretty sure that works in a 
ns-declaration, I'm puzzled as to why it doesn't work here. In any case, 
a quoted vector (as shown above) does work just fine. It also looks nicer :)


hope that helps,

Jim

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


Re: Why isn't a docstring allowed for defrecord?

2013-10-30 Thread Jim - FooBar();

On 30/10/13 16:54, Phillip Lord wrote:

Jim - FooBar(); jimpil1...@gmail.com writes:

On 30/10/13 16:19, Mars0i wrote:

Still, I'm surprised. /Why/ can't I document a record type with a docstring?

of course you can...just add a :doc key in the record's meta :)


The OP is correct. He says why can't I document a record type with a
docstring, rather than why can't I add directly to the metadata of the
symbol.

Consistency is always good; in the ideal world all def* forms should
have a docstring. Being able to do privacy (defn vs defn-) would be nice
also.

defmethod
definterface
defstruct
deftype

Phil



Ok my bad...for a second there I thought that a defrecord expression 
returns a Var but it doesn't. It returns a Class object. You can't put 
anything on that therefore 'doc' won't work on it anyway. It is the 
instance of that Class that is able to take meta data. I concur that 
consistency is good to have. apologies for the rushed response.


Jim


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


how to turn on smartparens-strict-mode in emacs-live

2013-10-30 Thread cig
Where should I place the setting to turn on smartparens-strict-mode in 
emacs-live?

Following this thread, 
https://github.com/Fuco1/smartparens/issues/158

I tried adding this to my own pack but that did not work, subsequently 
added it to the clojure-pack under the smartparents-conf.el
but that is not a good long term solution. Any suggestions?

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


[ANN] Clojure Support for the Intellij Sublime Theme

2013-10-30 Thread Murtaza Husain
Hi,

I have been using the Sublime Theme 
https://github.com/y3sh/Intellij-Colors-Sublime-Monokai for IntelliJ, 
however it doesnt play nice with clojure. So added support for clojure 
forms too, so that will not look ugly.  

Here is my fork which adds the support - 
https://github.com/murtaza52/Intellij-Colors-Sublime-Monokai

Thanks,
Murtaza

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


Which Json parser can parse a complete jason string?

2013-10-30 Thread Gary Zhao
Hi

I noticed jason parser such as Cheshire, data.json only parse one layer of 
json string. In order to get the whole object, I have to write a recursive 
method to do that. Is there a library can do it automatically?

Thanks
Gary

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


Re: Which Json parser can parse a complete jason string?

2013-10-30 Thread James Reeves
Cheshire should parse the whole JSON object. I haven't noticed any problem
with it.

What do you mean by one layer of json string? Could you provide an
example?

- James


On 30 October 2013 21:36, Gary Zhao garyz...@gmail.com wrote:

 Hi

 I noticed jason parser such as Cheshire, data.json only parse one layer of
 json string. In order to get the whole object, I have to write a recursive
 method to do that. Is there a library can do it automatically?

 Thanks
 Gary

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


road map for clojure?

2013-10-30 Thread julius
Hi,

Is clojure under dev? there is no much commits in months, any plan or road 
map  for clojure?

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


Re: What non-deprecated Clojure Web libraries to use?

2013-10-30 Thread Manuel Paccagnella
A probably simplistic consideration: maybe there should be a data model 
expressed as a data structure so that it can be leveraged by arbitrary 
libs. This way there would be a single representation, but no explicit 
dependencies between single libs. Here probably Datomic could be an example.

Il giorno mercoledì 30 ottobre 2013 01:12:25 UTC+1, Brian Craft ha scritto:

 In general, my point is that libraries don't compose if they have 
 incompatible or hidden representations of the data structures over which 
 they operate, which is the default condition if no one has thought about 
 how the libraries might be used together. A consequence of this is that a 
 framework is much, much greater than the sum of its parts.

 A dsl that can abstract away details of building queries (e.g. joins) 
 requires a declared schema. In contrast, the clojure migration tools 
 describe a schema as a series of functions, or sql string literals. It's 
 hard to derive one from the other. You wouldn't want to start trying to 
 parse the sql to deduce the schema, for instance. Consequently you end up 
 repeating the schema. Then you add an administrative UI, and you have the 
 same problem: the pages and forms for the admin depend on the schema. You 
 end up repeating the schema a third time. And so forth. It quickly becomes 
 unmanageable.

 For this case, migrations, it's easier to derive the sql for the 
 migrations from a declared schema (doing a diff against the previous 
 version) than the other way around (parsing sql to find the schema). This 
 is how django-south works (it automatically generates the sql for the 
 migrations, in most cases), but there's nothing like it for clojure that 
 I'm aware of. Also, the sql dsls in clojure that I've seen cover very 
 little of sql for data model creation, so you can't actually compose them 
 with the migration tools as you suggest: they can't represent migrations.

 Having a declared schema also makes the code more maintainable. It can be 
 bewildering to work on code where the schema is written as a series of 
 alter table statements. Any non-trivial project will have a dozen or 
 two boilerplate tables (users, sessions, settings, etc.).  If they are all 
 written as a series of alter table statements, there is a huge 
 cognitive load just in figuring out what the tables are, and how they are 
 related.

 On Tuesday, October 29, 2013 4:09:33 PM UTC-7, Chris Kuttruff wrote:

 Well things were kept separate intentionally.  If someone wants to use 
 Korma or some other DSL within their migrations, they can augment their 
 migration file to use that to generate the SQL, but having the migrations 
 set up such that instructions to jdbc are simple clojure strings is very 
 intentional.  This way I don't limit anyone's decision about what other 
 libraries they use, but complicated migrations can easily be dynamically 
 generated (since they are being picked up within the context of a clojure 
 file).

 Not sure I fully understand your point, but this seems like a reasonable 
 case for modularity.


 On Tuesday, October 29, 2013 8:49:55 AM UTC-7, Brian Craft wrote:



 On Monday, October 28, 2013 4:36:56 PM UTC-7, Chris Kuttruff wrote:

 Separate from DSLs like Korma, etc.  I have written a simple library 
 for doing database migrations with clojure (clj-sql-up ( 
 https://github.com/ckuttruff/clj-sql-up )).  There are also other 
 libraries still maintained along these lines (drift, migratus, ragtime, 
 etc.)


 It's unfortunate that these are separate, because you need the schema 
 information not just for migrations, but also for query abstraction (sql 
 dsl, etc.). The argument for small, composable libraries only works if they 
 can actually be meaningfully composed: if, in this case, a declared schema 
 can be used for migrations, and query abstraction, and administrative UI, 
 and anything else that requires it. So far there's not much like this in 
 clojure that I've found.



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


Re: SQL to logic rule mapping

2013-10-30 Thread Christopher Allen
If you just want to build up and apply constraints, Korma can do that.

If you want something closer to Datalog with unification, then a Datalog to 
SQL bridge is the most practical of largely impractical choices.

On Tuesday, October 29, 2013 9:35:45 AM UTC-7, ArturoH wrote:

 I am interested in writing a better SQL mapping tool for clojure. Because 
 I am not convinced that simple SQL composition is effective, for various 
 reasons. I rather have some kind of logic construct that I could use to 
 generate SQL from. My main concern is to eliminate the hard boundary 
 between the RDBMS and the rest of the code. Any given logic construct would 
 a candidate to be translated into SQL or executed inside the JVM.

 One option that I have been considering is a production rule system. The 
 most popular are based on the rete algorithm. I know there are a few open 
 source productions systems out there, but I think translating into SQL from 
 an established rule language may be too complicated. At this point I plan 
 to use the language extensions proposed by Anurag Acharya, that eliminate 
 sequential guards and adds collection support. The reason is that I want to 
 process the rules in parallel, and I want to be as close to SQL as 
 possible. Clojure pure functions could also be called from within a 
 production rule.

 The use case I have in mind is regular IT apps, not necessarily complex 
 decision systems. I just find myself writing too much code, and often an 
 SQL a clojure procedure and a function in the GUI will have some aspect of 
 the same business rule embedded in the code. A layered approach helps to 
 alleviate the problem, but it still persists. More support for declarative 
 code may be the answer. But other than SQL or LINQ and other minor 
 examples, there is little support for declarative code for average IT 
 systems.

 Anyone has any ideas/opinions?

 I would appreciate any feedback.

 Arturo Hernandez


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


Re: road map for clojure?

2013-10-30 Thread Sean Corfield
Roadmap: 
http://dev.clojure.org/jira/browse/CLJ#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel

On Wed, Oct 30, 2013 at 4:02 PM, julius wee@gmail.com wrote:
 Hi,

 Is clojure under dev? there is no much commits in months, any plan or road
 map  for clojure?

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



-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

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


Re: SQL to logic rule mapping

2013-10-30 Thread Mark


On Wednesday, October 30, 2013 4:27:31 PM UTC-7, Christopher Allen wrote:

 If you just want to build up and apply constraints, Korma can do that.

 If you want something closer to Datalog with unification, then a Datalog 
 to SQL bridge is the most practical of largely impractical choices.


Are you aware of a Datalog - SQL implementation?  I went looking for one 
about a year ago and could only find a paper on how one might achieve such 
a thing.  I was hoping for a more out-of-the-box solution. 

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


Re: SQL to logic rule mapping

2013-10-30 Thread Brian Craft
I did that recently, as well. Found this:

https://github.com/ghxiao/nrdatalog2sql

Haven't done more than glance at the code.

On Wednesday, October 30, 2013 4:29:33 PM UTC-7, Mark wrote:



 On Wednesday, October 30, 2013 4:27:31 PM UTC-7, Christopher Allen wrote:

 If you just want to build up and apply constraints, Korma can do that.

 If you want something closer to Datalog with unification, then a Datalog 
 to SQL bridge is the most practical of largely impractical choices.


 Are you aware of a Datalog - SQL implementation?  I went looking for one 
 about a year ago and could only find a paper on how one might achieve such 
 a thing.  I was hoping for a more out-of-the-box solution. 


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


request for feedback

2013-10-30 Thread Anton Podviaznikov
Hey everyone,

I'm working on project called jarkeeper 
(https://github.com/hashobject/jarkeeper.com).

It's a simple tool that may be helpful in few cases:

1. Can help you understand if some Clojure library uses latest dependencies 
(e.x. http://www.jarkeeper.com/korma/Korma)
2. Provides status of dependencies in your own Clojure projects.

I'm curious if anyone founds this useful (because I'm thinking on adding 
more functionality). Appreciate any feedback.


P.S. Most of the work is done inside https://github.com/xsc/ancient-clj 
library. 
Also there is similar project.

Anton Podviaznikov

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


Re: Any interest in Compojure/Ring screencasts?

2013-10-30 Thread Paddy Gallagher
And me.

cheers

Paddy

On Wednesday, October 30, 2013 2:36:45 AM UTC, Yuan He wrote:

 Count me in too..

 _
 Best regards
 -
 Yuan blog http://blog.lenage.com/ github http://github.com/lenage





 On Wed, Oct 30, 2013 at 7:19 AM, Luc Prefontaine 
 lprefo...@softaddicts.cajavascript:
  wrote:

 Count me in,

 Luc P.


  I'm considering putting together a screencast, or a series of 
 screencasts,
  based on my Functional Web
  Architecturehttp://skillsmatter.com/podcast/home/functional-web
  talk.
  The base presentation would be improved, and I'd probably wind up going
  into more detail on certain topics. I'll probably charge a small fee
  (perhaps $10 or so) to cover costs.
 
  Would there be any interest in this?
 
  - James
 
  --
  --
  You received this message because you are subscribed to the Google
  Groups Clojure group.
  To post to this group, send email to clo...@googlegroups.comjavascript:
  Note that posts from new members are moderated - please be patient with 
 your first post.
  To unsubscribe from this group, send email to
  clojure+u...@googlegroups.com javascript:
  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+u...@googlegroups.com javascript:.
  For more options, visit https://groups.google.com/groups/opt_out.
 
 --
 Luc Prefontainelprefo...@softaddicts.ca javascript: sent by ibisMail!

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 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.


Re: road map for clojure?

2013-10-30 Thread Andy Fingerhut
Also a list of features planned for Clojure 1.6, and some that were
postponed to after Clojure 1.6:

http://dev.clojure.org/display/design/Release.Next+Planning

Andy


On Wed, Oct 30, 2013 at 4:29 PM, Sean Corfield seancorfi...@gmail.comwrote:

 Roadmap:
 http://dev.clojure.org/jira/browse/CLJ#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel

 On Wed, Oct 30, 2013 at 4:02 PM, julius wee@gmail.com wrote:
  Hi,
 
  Is clojure under dev? there is no much commits in months, any plan or
 road
  map  for clojure?
 
  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/groups/opt_out.



 --
 Sean A Corfield -- (904) 302-SEAN
 An Architect's View -- http://corfield.org/
 World Singles, LLC. -- http://worldsingles.com/

 Perfection is the enemy of the good.
 -- Gustave Flaubert, French realist novelist (1821-1880)

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


[ANN] collection-check: validation for data structure variants

2013-10-30 Thread Zach Tellman
It's relatively rare that people write variants of Clojure data structures. 
 Partially, this is because the existing data structures are quite good, 
but it's also because it's surprisingly difficult.  Clojure's vectors, 
sets, and maps each implement about a dozen interfaces with overlapping 
functionality, making it easy to think you've written something correct 
until someone accesses it in a way you didn't think to test.  I have 
written a number of alternate data structures [1] [2] [3], and each time 
there's been some lacunae of the standard API that I overlooked.

To make this easier for myself and others, I've written a library for the 
express purpose of validating data structures that are extensions of the 
standard three data 
structures: https://github.com/ztellman/collection-check.  It's already 
uncovered some minor bugs in my own libraries, as well as an issue with 
Clojure's own hash-sets and hash-maps [4].  I strongly encourage anyone 
who's playing around in this space to use it, and to let me know if there 
are invariants I've overlooked.

Enjoy,
Zach

[1] https://github.com/ztellman/clj-tuple
[2] https://github.com/ztellman/immutable-bitset
[3] https://github.com/ztellman/potemkin
[4] https://groups.google.com/forum/#!topic/clojure-dev/HvppNjEH5Qc

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


Re: road map for clojure?

2013-10-30 Thread Mikera
Even looking at this repo, it's not many commits. I count around 50 commits 
in the last 6 months.

By way of comparison, JRuby and Scala both have more than that in the last 
couple of weeks.

P.S. Not intended as a criticism of anybody: just an observation.

On Thursday, 31 October 2013 07:05:18 UTC+8, John Hume wrote:

 Are you looking at the right repo?
 https://github.com/clojure/clojure/commits/master


 On Wed, Oct 30, 2013 at 6:02 PM, julius wee...@gmail.com javascript:wrote:

 Hi,

 Is clojure under dev? there is no much commits in months, any plan or 
 road map  for clojure?

 thanks

 -- 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com javascript:
 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+u...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/groups/opt_out.




 -- 
 http://elhumidor.blogspot.com/ 


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


Re: road map for clojure?

2013-10-30 Thread Andy Fingerhut
I'm not saying it puts the total number of commits up with other projects,
or that it needs to, but the development of core.async has effectively been
part of the core Clojure development work done in the last several months,
and it has been moving along:

https://github.com/clojure/core.async

Andy


On Wed, Oct 30, 2013 at 7:20 PM, Mikera mike.r.anderson...@gmail.comwrote:

 Even looking at this repo, it's not many commits. I count around 50
 commits in the last 6 months.

 By way of comparison, JRuby and Scala both have more than that in the last
 couple of weeks.

 P.S. Not intended as a criticism of anybody: just an observation.


 On Thursday, 31 October 2013 07:05:18 UTC+8, John Hume wrote:

 Are you looking at the right repo?
 https://github.com/clojure/**clojure/commits/masterhttps://github.com/clojure/clojure/commits/master


 On Wed, Oct 30, 2013 at 6:02 PM, julius wee...@gmail.com wrote:

 Hi,

 Is clojure under dev? there is no much commits in months, any plan or
 road map  for clojure?

 thanks

 --
 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@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+u...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/clojure?hl=enhttp://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+u...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .




 --
 http://elhumidor.blogspot.com/

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


Re: SQL to logic rule mapping

2013-10-30 Thread ArturoH
On Wednesday, October 30, 2013 12:01:02 PM UTC-5, Brian Craft wrote

 On Wednesday, October 30, 2013 7:56:46 AM UTC-7, ArturoH wrote:

  I think the shortcoming of ORM tools is that they bring a higher level 
 technology like SQL and lower it down to the low level of imperative 
 languages.


 Can you give an example?


In SQL you can nest statements use views, outer joins. Some new features 
include window functions. In a single SQL statement you can get a lot of 
functionality that would take many more lines of code in an imperative 
language. Plus the database has statistics on data distribution that is 
used to order the file access. Once your data makes it to the imperative 
language. The order of execution of for example, looping constructs, is 
hard-coded. And I could go on. I have to say ORM writers have done wonders 
with imperative languages. They are perfectly usable and in production in 
many places. I just want something even better.  

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


Re: SQL to logic rule mapping

2013-10-30 Thread ArturoH
Christopher, thanks for the info. 

My hesitation with Datalog comes from the separation from database and 
general purpose code. In a way it has the same problem as SQL. Once you get 
your result set then you are on your own. Clojure is a fantastic language, 
but I'd like to extend that same logic model to the client. Usually 
performance is the culprit, if I need to issue several datalog queries to 
get data to the browser. Once on the browser I can't reuse the same rules.

What I said is not all true. I could possibly use core.logic and reuse the 
rules. Then what is left is the difference between forward chaining and 
backward chaining. From what I can research the first is more data driven 
and the second is more goal oriented. My use case is general information 
systems, so I thought forward rules would be more appropriate.

One other thing I did not know is that there are Datalog to SQL bridges 
that is good to know.


On Wednesday, October 30, 2013 6:27:31 PM UTC-5, Christopher Allen wrote:

 If you just want to build up and apply constraints, Korma can do that.

 If you want something closer to Datalog with unification, then a Datalog 
 to SQL bridge is the most practical of largely impractical choices.

 On Tuesday, October 29, 2013 9:35:45 AM UTC-7, ArturoH wrote:

 I am interested in writing a better SQL mapping tool for clojure. Because 
 I am not convinced that simple SQL composition is effective, for various 
 reasons. I rather have some kind of logic construct that I could use to 
 generate SQL from. My main concern is to eliminate the hard boundary 
 between the RDBMS and the rest of the code. Any given logic construct would 
 a candidate to be translated into SQL or executed inside the JVM.

 One option that I have been considering is a production rule system. The 
 most popular are based on the rete algorithm. I know there are a few open 
 source productions systems out there, but I think translating into SQL from 
 an established rule language may be too complicated. At this point I plan 
 to use the language extensions proposed by Anurag Acharya, that eliminate 
 sequential guards and adds collection support. The reason is that I want to 
 process the rules in parallel, and I want to be as close to SQL as 
 possible. Clojure pure functions could also be called from within a 
 production rule.

 The use case I have in mind is regular IT apps, not necessarily complex 
 decision systems. I just find myself writing too much code, and often an 
 SQL a clojure procedure and a function in the GUI will have some aspect of 
 the same business rule embedded in the code. A layered approach helps to 
 alleviate the problem, but it still persists. More support for declarative 
 code may be the answer. But other than SQL or LINQ and other minor 
 examples, there is little support for declarative code for average IT 
 systems.

 Anyone has any ideas/opinions?

 I would appreciate any feedback.

 Arturo Hernandez



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


Re: SQL to logic rule mapping

2013-10-30 Thread Brian Craft


On Wednesday, October 30, 2013 8:04:25 PM UTC-7, ArturoH wrote:

 On Wednesday, October 30, 2013 12:01:02 PM UTC-5, Brian Craft wrote

 On Wednesday, October 30, 2013 7:56:46 AM UTC-7, ArturoH wrote:

  I think the shortcoming of ORM tools is that they bring a higher level 
 technology like SQL and lower it down to the low level of imperative 
 languages.


 Can you give an example?


 In SQL you can nest statements use views, outer joins. Some new features 
 include window functions. In a single SQL statement you can get a lot of 
 functionality that would take many more lines of code in an imperative 
 language. Plus the database has statistics on data distribution that is 
 used to order the file access. Once your data makes it to the imperative 
 language. The order of execution of for example, looping constructs, is 
 hard-coded. And I could go on. I have to say ORM writers have done wonders 
 with imperative languages. They are perfectly usable and in production in 
 many places. I just want something even better.  


My experience with ORMs is that they make these things more declarative, 
not more imperative. For example, sql requires a lot of low-level 
information in how to perform a query: which tables to join, which fields 
to join on, what order to join, whether to do a join or a subselect, etc., 
etc., etc. The ORMs instead present a more declarative API, like 
user.address.city, abstracting all the low-level details of following 
relations.

 

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


Re: SQL to logic rule mapping

2013-10-30 Thread Brian Craft


On Wednesday, October 30, 2013 8:37:51 PM UTC-7, ArturoH wrote:

 One other thing I did not know is that there are Datalog to SQL bridges 
 that is good to know.


 
That python script is the only one I've found. I'd be curious to hear of 
any others.

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


Re: [ANN] collection-check: validation for data structure variants

2013-10-30 Thread Alex Baranosky
Thanks Zach for this cool testing library, and thanks Reid for simple-check!

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


Resources for learning techniques for isolating pure functions

2013-10-30 Thread Ben Brinckerhoff
Clojure is the first functional programming language I've used for anything 
more than toy examples, so I'm learning functional programming in general 
as well as Clojure specifically. I understand the value of creating pure 
functions in theory, but when writing applications, I'm finding that logic 
and IO are getting hopelessly entangled.

Specifically, in my web application, there is interaction with the DB on 
most requests. The interaction may be quite complicated: e.g. first get 
some user data, inspect it, and then make more DB calls if a user is 
allowed to view some resource.

Does anyone know of any books or articles on structuring functional code to 
separate pure and impure functions? Or other resources? Projects that are 
good examples?

Although I've found good resources on writing pure functions and good 
resources on using Clojure IO libraries, I haven't yet found anything that 
talks about architectures that let you cleanly integrate the two in 
real-world projects.

Thanks,
Ben

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


Re: [ANN] collection-check: validation for data structure variants

2013-10-30 Thread Colin Fleming
This looks like a really useful library, but I mostly came here to say +1
for the use of lacunae. Now I have to find a way to insert that into my
own conversations.



On 31 October 2013 15:13, Zach Tellman ztell...@gmail.com wrote:

 It's relatively rare that people write variants of Clojure data
 structures.  Partially, this is because the existing data structures are
 quite good, but it's also because it's surprisingly difficult.  Clojure's
 vectors, sets, and maps each implement about a dozen interfaces with
 overlapping functionality, making it easy to think you've written something
 correct until someone accesses it in a way you didn't think to test.  I
 have written a number of alternate data structures [1] [2] [3], and each
 time there's been some lacunae of the standard API that I overlooked.

 To make this easier for myself and others, I've written a library for the
 express purpose of validating data structures that are extensions of the
 standard three data structures:
 https://github.com/ztellman/collection-check.  It's already uncovered
 some minor bugs in my own libraries, as well as an issue with Clojure's own
 hash-sets and hash-maps [4].  I strongly encourage anyone who's playing
 around in this space to use it, and to let me know if there are invariants
 I've overlooked.

 Enjoy,
 Zach

 [1] https://github.com/ztellman/clj-tuple
 [2] https://github.com/ztellman/immutable-bitset
 [3] https://github.com/ztellman/potemkin
 [4] https://groups.google.com/forum/#!topic/clojure-dev/HvppNjEH5Qc

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