How to exclude compile-time dependencies from uberjar?

2015-06-30 Thread Robin Heggelund Hansen
I'm trying to get the smallest uberjar as possible. Currently I have a 
bunch of dependencies for compiling server resources (clojurescript, 
garden...) that are required at compile-time, but don't have to be in the 
uberjar. How can I create an uberjar without bundling these resources?

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] bidi 1.20.0 - with Schema suppport

2015-06-30 Thread Malcolm Sparks
Hi Dylan,

Yes, that's right. This is validation for the bidi route structure itself. 
For now, I've left it open to the bidi user whether and when to use route 
validation (although I may add it to modular in due course as you point out)

Libraries that use ring-swagger, https://github.com/metosin/ring-swagger, 
including yada, provide path parameter validation. Therefore I don't think 
it's necessary to add path parameter validation to bidi.

Regards,

Malcolm


On Tuesday, 30 June 2015 04:50:06 UTC+1, Dylan Butman wrote:

 Hey Malcolm,

 Just confirming my understand, the schema addition is to validate the bidi 
 routes themselves, not path parameters matched within the routes, right? Is 
 this something you're thinking one might do at component start, say 
 https://github.com/juxt/modular/blob/master/modules/bidi/src/modular/bidi.clj#L88
 .

 Best
 Dylan

 On Monday, June 29, 2015 at 11:47:00 AM UTC-4, Malcolm Sparks wrote:

 bidi is a routing library that lets you define the URI routes for your 
 website as data.

 Until now, there has been no way to validate whether that data conforms 
 to the expected structure. Not doing so can often lead to problems.

 I've just released a new version that defines a Prismatic Schema for 
 letting you check and validate your bidi routes in your code.

 Schema validation works for both Clojure and ClojureScript, now that 
 ClojureScript has Var instances (see 
 https://groups.google.com/forum/#!topic/prismatic-plumbing/jqOkv_r8QZk)

 See http://github.com/juxt/bidi for further details.



-- 
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: Clojars Private/Commercial Repos

2015-06-30 Thread Alan Dipert
The past few teams I've been on have used variously S3, Nexus, and 
Artifactory, and I wasn't especially happy with any of them.  I think there 
is a sweet spot of usability (for small/medium teams) and technical 
capability that hasn't really been achieved by anything available.  Of 
what's available today, Artifactory's SaaS (Cloud version) looks most 
palatable but I haven't used it enough to recommend it.

To hit the sweet spot for myself, and for others with similar tastes, I've 
been working with Micha Niskin on a commercial product called Projars that 
maybe be of interest: http://projars.com/.

Incidentally, the previous owner of the projars.com domain had a different 
and interesting idea for it, as a kind of marketplace for commercial 
libraries: https://web.archive.org/web/20140309074426/http://projars.com/ 
 Maybe this could still be a thing?

I am very grateful to Alex Osborne's stewardship of Clojars and the efforts 
of all its contributors over the years.  It is an important community 
asset.  If finances ever became a problem, I would be happy to contribute, 
as I'm sure many others in the community would also.

Alan

On Tuesday, June 30, 2015 at 5:13:31 PM UTC-4, Toby Crawley wrote:

 Clojars is pretty much a one man show right now, but it currently 
 requires little time to maintain, and works fairly well. If it 
 supported private repos, the maintenance and support time would go up 
 considerably, and it would require some sort of business entity around 
 it. Doing that has been considered in the past, but isn't something 
 I'm comfortable doing right now, due to other obligations. 

 The hosting costs are relatively small, and still being sponsored by 
 Alex Osborne (clojars' original author). I've considered selling 
 corporate sponsorships or having a fundraising campaign to establish a 
 fund that could take that burden off of Alex, and to have on hand to 
 cover contracting someone to help with recovering from potential 
 compromises (like the linode breach[1]), patching vulnerabilities 
 (heartbleed, etc), or rebuilding the server in case of failure, if 
 such help is needed. I have no idea if I'll need some sort of legal 
 entity to hold that money, but if one is needed, that might be 
 something the recently proposed Clojure community organization[2] 
 could handle. 

 I know that it's often easier to give money over time, but if folks 
 are interested in helping clojars now, we have quite a few open 
 issues[3] that are ready for discussion/patches. 

 - Toby 

 [1]: 
 https://groups.google.com/forum/#!topic/clojars-maintainers/uAVJVwRAnSU 
 [2]: https://groups.google.com/d/msg/clojure/i2YqnCkeemM/0nOJaK8U91EJ 
 [3]: 
 https://groups.google.com/d/msg/clojars-maintainers/AKLPSVY5Qcw/w63eLy7pU58J 

 On Tue, Jun 30, 2015 at 3:34 PM, Christopher Small 
 metas...@gmail.com javascript: wrote: 
  
  This is being done now with npm: https://www.npmjs.com/. Cost is $7/mo, 
  which seems reasonable. 
  
  
  On Tuesday, June 30, 2015 at 12:00:55 PM UTC-7, Jason Lewis wrote: 
  
  I think my company would be willing to pay a reasonable fee for private 
  Clojars repos, on something like the Github model? Not sure what the 
 lein 
  overhead would be, I know grabbing Datomic Pro from non-Clojars with 
 creds 
  is a motherf@#@#ing pain in the ass at times (but only in comparison to 
 the 
  conveninece of Clojars. 
  
  Maybe a private-Clojars solution could be a good way to support the 
  project and encourage a standardized lein/project.clj method of 
 grabbing 
  non-free artifacts? 
  
  On Tue, Jun 30, 2015 at 2:17 PM Dave Dixon dave.d...@gmail.com 
 wrote: 
  
  +1. Neither S3 or Archiva have worked out well for us long term. 
  
  
  On Monday, June 29, 2015 at 6:50:44 PM UTC-7, Daniel Compton wrote: 
  
  Hi folks 
  
  I wondered if one possible solution for ensuring Clojars long-term 
  viability and maintenance would be to use it to host private 
 repositories 
  for paying users as well? For many people, the thought of setting up 
 and 
  maintaining Nexus or Archiva isn't an appealing one. I'm aware of the 
 S3 
  wagon, and perhaps that's what people use if they don't want Nexus. 
  
  I'd be interested to hear what other people are doing, and whether 
  Clojars would be a good middle ground between simplicity and 
 functionality. 
  Many Clojure users already have Clojars accounts and will have setup 
 Lein to 
  deploy here already. Additionally, many people would support Clojars 
 for the 
  goodwill factor. 
  
  On the other hand I'm aware this would require more development 
 effort, 
  there may not be much demand for this, and the infrastructure costs 
 may not 
  be large enough that it's worth going down this route. 
  
  Just a thought, 
  
  Daniel. 
  -- 
  -- 
  Daniel 
  
  -- 
  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 

Re: Quoting Confusion

2015-06-30 Thread Fluid Dynamics
On Tuesday, June 30, 2015 at 8:05:32 AM UTC-4, Karan Toor wrote:

 I was having some trouble understanding the difference syntax quoting and 
 regular quoting. I thought syntax quoting was like regular quoting except 
 for the unquoting, splicing, and resolving symbols in the namespace. 

 When I apply either the regular quote or the syntax quote twice I get 
 exactly what I expected. But when I apply the the syntax quote more than 2 
 times I get some unexpected results.

 https://gist.github.com/currentoor/d7f9a5fb02bec14d3886


My advice on nesting syntax quoting: Don't. Whether it's actually 
malfunctioning or just confusing you, I'd recommend separating each layer 
of syntax quoting into a layer of helper functions. For instance, say you 
want to make a macro that emits macros. Write the emitted macros first, as 
a parametrized helper function that emits a defmacro form, then write a 
macro that will call this with parameters derived from its arguments and 
emit the results.

-- 
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: Running test.check and cljs.test tests under Clojurescript

2015-06-30 Thread David Nolen
http://annapawlicka.com/travis-ci-and-clojurescript-tests/ is probably
a more relevant basic guide.

On Tuesday, June 30, 2015, Nathan Marz nat...@nathanmarz.com wrote:

 I'm trying to get Specter's tests running under ClojureScript. I can run
 the tests manually in a REPL just fine, but I cannot figure out a
 straightforward way to run all the tests like you can in Clojure with lein
 test.

 Here are the tests I'm trying to run, which are a mix of tests defined
 using test.check and cljs.test:
 https://github.com/nathanmarz/specter/blob/cljs/test/com/rpl/specter/core_test.cljc

 I've tried the instructions in
 http://abratukhin.blogspot.com/2015/03/how-to-set-up-unit-tests-in.html
 but the cemerick.cljs.test package does not seem to run test.check tests
 defined with defspec.

 How can I set up a runner to run my tests with a one line command at the
 terminal?


  --
 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
 javascript:_e(%7B%7D,'cvml','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
 javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@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
 javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@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: Running test.check and cljs.test tests under Clojurescript

2015-06-30 Thread Luc Prefontaine
Dunno if this can help you:

https://github.com/lprefontaine/clara-rules/blob/master/project.clj

I run tests with :

lein cljsbuild test-cljs

If I my memory is not fooling me.
There might be a better way but this is what I had time to tweak this weekend.

You need to setup phantomjs, etc...look at the phantomjs folder in the project.

Luc P.

Sent from my iPhone

 On Jul 1, 2015, at 00:03, Nathan Marz nathan.m...@gmail.com wrote:
 
 I figured out a way to do it by manually launching a ClojureScript REPL, 
 writing a test runner script, and then invoking that script at the REPL, like 
 so: https://github.com/nathanmarz/specter/blob/cljs/DEVELOPER.md
 
 Still wondering if there's a more straightforward way to do this.
 
 
 On Tuesday, June 30, 2015 at 7:20:58 PM UTC-4, Nathan Marz wrote:
 I'm trying to get Specter's tests running under ClojureScript. I can run the 
 tests manually in a REPL just fine, but I cannot figure out a 
 straightforward way to run all the tests like you can in Clojure with lein 
 test. 
 
 Here are the tests I'm trying to run, which are a mix of tests defined using 
 test.check and cljs.test: 
 https://github.com/nathanmarz/specter/blob/cljs/test/com/rpl/specter/core_test.cljc
 
 I've tried the instructions in 
 http://abratukhin.blogspot.com/2015/03/how-to-set-up-unit-tests-in.html but 
 the cemerick.cljs.test package does not seem to run test.check tests defined 
 with defspec. 
 
 How can I set up a runner to run my tests with a one line command at the 
 terminal?
 
 -- 
 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: Running test.check and cljs.test tests under Clojurescript

2015-06-30 Thread Nathan Marz
I figured out a way to do it by manually launching a ClojureScript REPL, 
writing a test runner script, and then invoking that script at the REPL, 
like so: https://github.com/nathanmarz/specter/blob/cljs/DEVELOPER.md

Still wondering if there's a more straightforward way to do this.


On Tuesday, June 30, 2015 at 7:20:58 PM UTC-4, Nathan Marz wrote:

 I'm trying to get Specter's tests running under ClojureScript. I can run 
 the tests manually in a REPL just fine, but I cannot figure out a 
 straightforward way to run all the tests like you can in Clojure with lein 
 test. 

 Here are the tests I'm trying to run, which are a mix of tests defined 
 using test.check and cljs.test: 
 https://github.com/nathanmarz/specter/blob/cljs/test/com/rpl/specter/core_test.cljc

 I've tried the instructions in 
 http://abratukhin.blogspot.com/2015/03/how-to-set-up-unit-tests-in.html 
 but the cemerick.cljs.test package does not seem to run test.check tests 
 defined with defspec. 

 How can I set up a runner to run my tests with a one line command at the 
 terminal?




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


Quoting Confusion

2015-06-30 Thread Karan Toor
I was having some trouble understanding the difference syntax quoting and 
regular quoting. I thought syntax quoting was like regular quoting except 
for the unquoting, splicing, and resolving symbols in the namespace. 

When I apply either the regular quote or the syntax quote twice I get 
exactly what I expected. But when I apply the the syntax quote more than 2 
times I get some unexpected results.

https://gist.github.com/currentoor/d7f9a5fb02bec14d3886

-- 
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] Introducing Yagni, a Leiningen plugin for finding unused code

2015-06-30 Thread Yehonathan Sharvit
Yagni ignore `cljs` files.




I have opened an issue here: https://github.com/venantius/yagni/issues/26

On Thu, Jun 25, 2015 at 1:53 AM, W. David Jarvis venant...@gmail.com
wrote:

 Indeed. I'd argue it's better not to have unused code in the codebase in 
 the first place, regardless of what the Closure compiler does to help when 
 it comes to compiling assets. 
 I haven't tested this with cljs projects, but on the face of it I don't see 
 why Yagni's methodology wouldn't work. If you get a chance to give it a try 
 I'd love the feedback :)
 On Wednesday, June 24, 2015 at 2:58:14 PM UTC-7, juan.facorro wrote:

 That's a good point.

 On Wednesday, June 24, 2015 at 6:53:43 PM UTC-3, Fluid Dynamics wrote:

  FMIIW, but I think they serve orthogonal purposes. Google Closure finds 
 code (mostly library parts your program doesn't use) that your particular 
 program doesn't need and omits it from the build to save disk and 
 bandwidth. Yagni finds obsolete code that is no longer reached in your 
 program or from *any* public entry point to your library (whether a 
 particular program uses that entry point or not) and issues warnings, so 
 you know that either something is maintenance deadweight or you have a bug 
 because you *meant* to call it somewhere but forgot, or it's become 
 accidentally shadowed or something.


 -- 
 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 a topic in the Google 
 Groups Clojure group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/clojure/fGhjG70w0_U/unsubscribe.
 To unsubscribe from this group and all its topics, 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: How to exclude compile-time dependencies from uberjar?

2015-06-30 Thread Alex Miller
You could try setting the :scope for the dependencies - I'm not sure if 
uberjar does the right thing there or not but seems like it should.

On Tuesday, June 30, 2015 at 3:56:31 AM UTC-5, Robin Heggelund Hansen wrote:

 I'm trying to get the smallest uberjar as possible. Currently I have a 
 bunch of dependencies for compiling server resources (clojurescript, 
 garden...) that are required at compile-time, but don't have to be in the 
 uberjar. How can I create an uberjar without bundling these resources?

 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: How to exclude compile-time dependencies from uberjar?

2015-06-30 Thread Toby Crawley
If you are using Leiningen, try putting those dependencies in a
:provided profile - see
https://github.com/technomancy/leiningen/blob/master/doc/PROFILES.md#default-profiles.
I interpret that to mean they won't be included in the uberjar, but
haven't tested to confirm.

- Toby

On Tue, Jun 30, 2015 at 10:09 AM, Robin Heggelund Hansen
skinney...@gmail.com wrote:
 I tried the following, but didn't seem to have any effect:
 [org.clojure/clojurescript 0.0-3211 :scope provided]


 tirsdag 30. juni 2015 16.02.50 UTC+2 skrev Alex Miller følgende:

 You could try setting the :scope for the dependencies - I'm not sure if
 uberjar does the right thing there or not but seems like it should.

 On Tuesday, June 30, 2015 at 3:56:31 AM UTC-5, Robin Heggelund Hansen
 wrote:

 I'm trying to get the smallest uberjar as possible. Currently I have a
 bunch of dependencies for compiling server resources (clojurescript,
 garden...) that are required at compile-time, but don't have to be in the
 uberjar. How can I create an uberjar without bundling these resources?

 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.

-- 
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: How to exclude compile-time dependencies from uberjar?

2015-06-30 Thread Aaron Cohen
My understanding is that those dependencies should go into the dev
profile, which won't be included in the uberjar.

On Tue, Jun 30, 2015 at 4:56 AM, Robin Heggelund Hansen 
skinney...@gmail.com wrote:

 I'm trying to get the smallest uberjar as possible. Currently I have a
 bunch of dependencies for compiling server resources (clojurescript,
 garden...) that are required at compile-time, but don't have to be in the
 uberjar. How can I create an uberjar without bundling these resources?

 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.


-- 
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: How to exclude compile-time dependencies from uberjar?

2015-06-30 Thread Robin Heggelund Hansen
I tried the following, but didn't seem to have any effect: 
[org.clojure/clojurescript 0.0-3211 :scope provided]

tirsdag 30. juni 2015 16.02.50 UTC+2 skrev Alex Miller følgende:

 You could try setting the :scope for the dependencies - I'm not sure if 
 uberjar does the right thing there or not but seems like it should.

 On Tuesday, June 30, 2015 at 3:56:31 AM UTC-5, Robin Heggelund Hansen 
 wrote:

 I'm trying to get the smallest uberjar as possible. Currently I have a 
 bunch of dependencies for compiling server resources (clojurescript, 
 garden...) that are required at compile-time, but don't have to be in the 
 uberjar. How can I create an uberjar without bundling these resources?

 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.


[ANN] Clojure 1.7.0 is now available

2015-06-30 Thread Alex Miller
We are pleased to announce the release of Clojure 1.7.

- Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0/
- Leiningen: [org.clojure/clojure 1.7.0]

The two headline features for 1.7 are transducers and reader conditionals.
Also see the complete list (
https://github.com/clojure/clojure/blob/master/changes.md) of all changes
since Clojure 1.6 for more details.

## Transducers

Transducers (http://clojure.org/transducers) are composable algorithmic
transformations. They are independent from the context of their input and
output sources and specify only the essence of the transformation in terms
of an individual element. Because transducers are decoupled from input or
output sources, they can be used in many different processes - collections,
streams, channels, observables, etc. Transducers compose directly, without
awareness of input or creation of intermediate aggregates.

Many existing sequence functions now have a new arity (one fewer argument
than before). This arity will return a transducer that represents the same
logic but is independent of lazy sequence processing. Functions included
are: map, mapcat, filter, remove, take, take-while, drop, drop-while,
take-nth, replace, partition-by, partition-all, keep, keep-indexed,
map-indexed, distinct, and interpose. Additionally some new transducer
functions have been added: cat, dedupe, and random-sample.

Transducers can be used in several new or existing contexts:

* into - to collect the results of applying a transducer
* sequence - to incrementally compute the result of a transducer
* transduce - to immediately compute the result of a transducer
* eduction - to delay computation and recompute each time
* core.async - to apply a transducer while values traverse a channel

## Portable Clojure and Reader Conditionals

It is now common to see a library or application targeting multiple Clojure
platforms with a single codebase. Clojure 1.7 introduces a new extension
(.cljc) for files that can be loaded by Clojure and ClojureScript (and
other Clojure platforms).

There will often be some parts of the code that vary between platforms. The
primary mechanism for dealing with platform-specific code is to isolate
that code into a minimal set of namespaces and then provide
platform-specific versions (.clj/.class or .cljs) of those namespaces.

To support cases where is not feasible to isolate the varying parts of the
code, or where the code is mostly portable with only small
platform-specific parts, 1.7 provides Reader Conditionals (
http://clojure.org/reader#The%20Reader--Reader%20Conditionals).

Reader conditionals are a new reader form that is only allowed in portable
cljc files. A reader conditional expression is similar to a cond in that it
specifies alternating platform identifiers and expressions. Each platform
is checked in turn until a match is found and the expression is read. All
expressions not selected are read but skipped. A final :default fallthrough
can be provided. If no expressions are matched, the reader conditional will
read nothing. The reader conditional splicing form takes a sequential
expression and splices the result into the surrounding code.

## Contributors

Thanks to all of those who contributed patches to Clojure 1.7:

Timothy Baldridge
Bozhidar Batsov
Brandon Bloom
Michael Blume
Ambrose Bonnaire-Sergeant
Aaron Cohen
Pepijn de Vos
Andy Fingerhut
Gary Fredricks
Daniel Solano Gómez
Stuart Halloway
Immo Heikkinen
Andrei Kleschinsky
Howard Lewis Ship
Alex Miller
Steve Miner
Nicola Mometto
Tomasz Nurkiewicz
Ghadi Shayban
Paul Stadig
Zach Tellman
Luke VanderHart
Jozef Wagner
Devin Walters
Jason Wolfe
Steven Yi

Also, continued thanks to the total list of contributors from all releases:
http://clojure.org/contributing#patches


Thanks!
Alex Miller

-- 
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] Introducing Yagni, a Leiningen plugin for finding unused code

2015-06-30 Thread Stuart Halloway
Nice.

It would be really cool if run-yagni was a pure function of source-paths
and mains.  This would make the dependency on lein optional and allow
adoption on e.g. mainland Java projects.

Stu

On Tue, Jun 30, 2015 at 5:44 AM, Yehonathan Sharvit vie...@gmail.com
wrote:

 Yagni ignore `cljs` files.

 I have opened an issue here: https://github.com/venantius/yagni/issues/26




 On Thu, Jun 25, 2015 at 1:53 AM, W. David Jarvis venant...@gmail.com
 wrote:

 Indeed. I'd argue it's better not to have unused code in the codebase in
 the first place, regardless of what the Closure compiler does to help when
 it comes to compiling assets.

 I haven't tested this with cljs projects, but on the face of it I don't
 see why Yagni's methodology wouldn't work. If you get a chance to give it a
 try I'd love the feedback :)

 On Wednesday, June 24, 2015 at 2:58:14 PM UTC-7, juan.facorro wrote:

 That's a good point.

 On Wednesday, June 24, 2015 at 6:53:43 PM UTC-3, Fluid Dynamics wrote:

  FMIIW, but I think they serve orthogonal purposes. Google Closure
 finds code (mostly library parts your program doesn't use) that your
 particular program doesn't need and omits it from the build to save disk
 and bandwidth. Yagni finds obsolete code that is no longer reached in your
 program or from *any* public entry point to your library (whether a
 particular program uses that entry point or not) and issues warnings, so
 you know that either something is maintenance deadweight or you have a bug
 because you *meant* to call it somewhere but forgot, or it's become
 accidentally shadowed or something.

   --
 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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/fGhjG70w0_U/unsubscribe.
 To unsubscribe from this group and all its topics, 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] Clojure 1.7.0 is now available

2015-06-30 Thread Gary Trakhman
You'll have to bump instaparse versions:
https://github.com/clojure-emacs/refactor-nrepl/issues/53

On Tue, Jun 30, 2015 at 12:57 PM Robert Beaupre codewise.rob...@gmail.com
wrote:

 Is anyone else getting the following error with 1.7.0 when running lein
 repl?  All I did was change from 1.6.0 to 1.7.0.

 #error {

  :cause Wrong number of args (2) passed to: StringReader
  :via
  [{:type clojure.lang.Compiler$CompilerException
:message clojure.lang.ArityException: Wrong number of args (2) passed
 to: StringReader, compiling:(abnf.clj:189:28)
:at [clojure.lang.Compiler$InvokeExpr eval Compiler.java 3628]}
   {:type clojure.lang.ArityException
:message Wrong number of args (2) passed to: StringReader
:at [clojure.lang.AFn throwArity AFn.java 429]}]

 Thanks,
 Robert

 On Tuesday, 30 June 2015 07:35:34 UTC-7, Alex Miller wrote:

 We are pleased to announce the release of Clojure 1.7.

 - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0/
 - Leiningen: [org.clojure/clojure 1.7.0]

 The two headline features for 1.7 are transducers and reader
 conditionals. Also see the complete list (
 https://github.com/clojure/clojure/blob/master/changes.md) of all
 changes since Clojure 1.6 for more details.

 ## Transducers

 Transducers (http://clojure.org/transducers) are composable algorithmic
 transformations. They are independent from the context of their input and
 output sources and specify only the essence of the transformation in terms
 of an individual element. Because transducers are decoupled from input or
 output sources, they can be used in many different processes - collections,
 streams, channels, observables, etc. Transducers compose directly, without
 awareness of input or creation of intermediate aggregates.

 Many existing sequence functions now have a new arity (one fewer argument
 than before). This arity will return a transducer that represents the same
 logic but is independent of lazy sequence processing. Functions included
 are: map, mapcat, filter, remove, take, take-while, drop, drop-while,
 take-nth, replace, partition-by, partition-all, keep, keep-indexed,
 map-indexed, distinct, and interpose. Additionally some new transducer
 functions have been added: cat, dedupe, and random-sample.

 Transducers can be used in several new or existing contexts:

 * into - to collect the results of applying a transducer
 * sequence - to incrementally compute the result of a transducer
 * transduce - to immediately compute the result of a transducer
 * eduction - to delay computation and recompute each time
 * core.async - to apply a transducer while values traverse a channel

 ## Portable Clojure and Reader Conditionals

 It is now common to see a library or application targeting multiple
 Clojure platforms with a single codebase. Clojure 1.7 introduces a new
 extension (.cljc) for files that can be loaded by Clojure and ClojureScript
 (and other Clojure platforms).

 There will often be some parts of the code that vary between platforms.
 The primary mechanism for dealing with platform-specific code is to isolate
 that code into a minimal set of namespaces and then provide
 platform-specific versions (.clj/.class or .cljs) of those namespaces.

 To support cases where is not feasible to isolate the varying parts of
 the code, or where the code is mostly portable with only small
 platform-specific parts, 1.7 provides Reader Conditionals (
 http://clojure.org/reader#The%20Reader--Reader%20Conditionals).

 Reader conditionals are a new reader form that is only allowed in
 portable cljc files. A reader conditional expression is similar to a cond
 in that it specifies alternating platform identifiers and expressions. Each
 platform is checked in turn until a match is found and the expression is
 read. All expressions not selected are read but skipped. A final :default
 fallthrough can be provided. If no expressions are matched, the reader
 conditional will read nothing. The reader conditional splicing form takes a
 sequential expression and splices the result into the surrounding code.

 ## Contributors

 Thanks to all of those who contributed patches to Clojure 1.7:

 Timothy Baldridge
 Bozhidar Batsov
 Brandon Bloom
 Michael Blume
 Ambrose Bonnaire-Sergeant
 Aaron Cohen
 Pepijn de Vos
 Andy Fingerhut
 Gary Fredricks
 Daniel Solano Gómez
 Stuart Halloway
 Immo Heikkinen
 Andrei Kleschinsky
 Howard Lewis Ship
 Alex Miller
 Steve Miner
 Nicola Mometto
 Tomasz Nurkiewicz
 Ghadi Shayban
 Paul Stadig
 Zach Tellman
 Luke VanderHart
 Jozef Wagner
 Devin Walters
 Jason Wolfe
 Steven Yi

 Also, continued thanks to the total list of contributors from all
 releases:
 http://clojure.org/contributing#patches


 Thanks!
 Alex Miller

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

Re: [ANN] Clojure 1.7.0 is now available

2015-06-30 Thread Robert Beaupre
Is anyone else getting the following error with 1.7.0 when running lein 
repl?  All I did was change from 1.6.0 to 1.7.0.

#error {   
   
 :cause Wrong number of args (2) passed to: StringReader
 :via 
 [{:type clojure.lang.Compiler$CompilerException
   :message clojure.lang.ArityException: Wrong number of args (2) passed 
to: StringReader, compiling:(abnf.clj:189:28)
   :at [clojure.lang.Compiler$InvokeExpr eval Compiler.java 3628]} 
  {:type clojure.lang.ArityException 
   :message Wrong number of args (2) passed to: StringReader 
   :at [clojure.lang.AFn throwArity AFn.java 429]}]  

Thanks,
Robert

On Tuesday, 30 June 2015 07:35:34 UTC-7, Alex Miller wrote:

 We are pleased to announce the release of Clojure 1.7.

 - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0/
 - Leiningen: [org.clojure/clojure 1.7.0]

 The two headline features for 1.7 are transducers and reader conditionals. 
 Also see the complete list (
 https://github.com/clojure/clojure/blob/master/changes.md) of all changes 
 since Clojure 1.6 for more details.

 ## Transducers

 Transducers (http://clojure.org/transducers) are composable algorithmic 
 transformations. They are independent from the context of their input and 
 output sources and specify only the essence of the transformation in terms 
 of an individual element. Because transducers are decoupled from input or 
 output sources, they can be used in many different processes - collections, 
 streams, channels, observables, etc. Transducers compose directly, without 
 awareness of input or creation of intermediate aggregates.

 Many existing sequence functions now have a new arity (one fewer argument 
 than before). This arity will return a transducer that represents the same 
 logic but is independent of lazy sequence processing. Functions included 
 are: map, mapcat, filter, remove, take, take-while, drop, drop-while, 
 take-nth, replace, partition-by, partition-all, keep, keep-indexed, 
 map-indexed, distinct, and interpose. Additionally some new transducer 
 functions have been added: cat, dedupe, and random-sample.

 Transducers can be used in several new or existing contexts:

 * into - to collect the results of applying a transducer
 * sequence - to incrementally compute the result of a transducer
 * transduce - to immediately compute the result of a transducer
 * eduction - to delay computation and recompute each time
 * core.async - to apply a transducer while values traverse a channel

 ## Portable Clojure and Reader Conditionals

 It is now common to see a library or application targeting multiple 
 Clojure platforms with a single codebase. Clojure 1.7 introduces a new 
 extension (.cljc) for files that can be loaded by Clojure and ClojureScript 
 (and other Clojure platforms). 

 There will often be some parts of the code that vary between platforms. 
 The primary mechanism for dealing with platform-specific code is to isolate 
 that code into a minimal set of namespaces and then provide 
 platform-specific versions (.clj/.class or .cljs) of those namespaces.

 To support cases where is not feasible to isolate the varying parts of the 
 code, or where the code is mostly portable with only small 
 platform-specific parts, 1.7 provides Reader Conditionals (
 http://clojure.org/reader#The%20Reader--Reader%20Conditionals). 

 Reader conditionals are a new reader form that is only allowed in portable 
 cljc files. A reader conditional expression is similar to a cond in that it 
 specifies alternating platform identifiers and expressions. Each platform 
 is checked in turn until a match is found and the expression is read. All 
 expressions not selected are read but skipped. A final :default fallthrough 
 can be provided. If no expressions are matched, the reader conditional will 
 read nothing. The reader conditional splicing form takes a sequential 
 expression and splices the result into the surrounding code.

 ## Contributors

 Thanks to all of those who contributed patches to Clojure 1.7:

 Timothy Baldridge
 Bozhidar Batsov
 Brandon Bloom
 Michael Blume
 Ambrose Bonnaire-Sergeant
 Aaron Cohen
 Pepijn de Vos
 Andy Fingerhut
 Gary Fredricks
 Daniel Solano Gómez
 Stuart Halloway
 Immo Heikkinen
 Andrei Kleschinsky
 Howard Lewis Ship
 Alex Miller
 Steve Miner
 Nicola Mometto
 Tomasz Nurkiewicz
 Ghadi Shayban
 Paul Stadig
 Zach Tellman
 Luke VanderHart
 Jozef Wagner
 Devin Walters
 Jason Wolfe
 Steven Yi

 Also, continued thanks to the total list of contributors from all releases:
 http://clojure.org/contributing#patches


 Thanks!
 Alex Miller


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

Transducers/Eduction problem

2015-06-30 Thread Вук Мировић
As Clojure 1.7 is finally released, I tried to wet my feet with 
transducers. 
I tried eduction example from official site http://clojure.org/transducers 
but it's not working:

user= (def xf (comp (filter odd?) (map inc)))
#'user/xf
user= (def iter (eduction xf (range 5)))
#'user/iter
user= (reduce + iter)
ClassCastException clojure.core.Eduction cannot be cast to 
clojure.lang.IReduce 
 clojure.core.protocols/fn--6502 (protocols.clj:75)
;; 6 expected

But

user= (reduce + 0 iter)
6

So is example wrong or this is a bug?

-- 
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: Transducers/Eduction problem

2015-06-30 Thread Ghadi Shayban
The example is wrong.  There are now two flavors of support for reduce 
through interfaces, IReduce and IReduceInit.  The first one allows you to 
call reduce without an initial value.  Eduction doesn't support that 
interface, but only IReduceInit.  Reduce without an initial value is now 
discouraged.

On Tuesday, June 30, 2015 at 1:04:20 PM UTC-4, Вук Мировић wrote:

 As Clojure 1.7 is finally released, I tried to wet my feet with 
 transducers. 
 I tried eduction example from official site http://clojure.org/transducers 
 http://www.google.com/url?q=http%3A%2F%2Fclojure.org%2Ftransducerssa=Dsntz=1usg=AFQjCNGAIDS1RcAkD0WaPpJg2sgEoA4Suw
  
 but it's not working:

 user= (def xf (comp (filter odd?) (map inc)))
 #'user/xf
 user= (def iter (eduction xf (range 5)))
 #'user/iter
 user= (reduce + iter)
 ClassCastException clojure.core.Eduction cannot be cast to 
 clojure.lang.IReduce 
  clojure.core.protocols/fn--6502 (protocols.clj:75)
 ;; 6 expected

 But

 user= (reduce + 0 iter)
 6

 So is example wrong or this is a bug?


-- 
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: Transducers/Eduction problem

2015-06-30 Thread Alex Miller
Yep, that's my bug in the example. Will fix, sorry.

-- 
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] Clojure 1.7.0 is now available

2015-06-30 Thread Robert Beaupre
Thanks.  Looks like it was in Compojure - linked to at the bottom of the 
page you sent over:  https://github.com/bhauman/lein-figwheel/issues/161

On Tuesday, 30 June 2015 10:01:01 UTC-7, Gary Trakhman wrote:

 You'll have to bump instaparse versions: 
 https://github.com/clojure-emacs/refactor-nrepl/issues/53

 On Tue, Jun 30, 2015 at 12:57 PM Robert Beaupre codewis...@gmail.com 
 javascript: wrote:

 Is anyone else getting the following error with 1.7.0 when running lein 
 repl?  All I did was change from 1.6.0 to 1.7.0.

 #error { 
  
  :cause Wrong number of args (2) passed to: StringReader
  :via 
  [{:type clojure.lang.Compiler$CompilerException
:message clojure.lang.ArityException: Wrong number of args (2) passed 
 to: StringReader, compiling:(abnf.clj:189:28)
:at [clojure.lang.Compiler$InvokeExpr eval Compiler.java 3628]} 
   {:type clojure.lang.ArityException 
:message Wrong number of args (2) passed to: StringReader 
:at [clojure.lang.AFn throwArity AFn.java 429]}]  

 Thanks,
 Robert

 On Tuesday, 30 June 2015 07:35:34 UTC-7, Alex Miller wrote:

 We are pleased to announce the release of Clojure 1.7.

 - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0/
 - Leiningen: [org.clojure/clojure 1.7.0]

 The two headline features for 1.7 are transducers and reader 
 conditionals. Also see the complete list (
 https://github.com/clojure/clojure/blob/master/changes.md) of all 
 changes since Clojure 1.6 for more details.

 ## Transducers

 Transducers (http://clojure.org/transducers) are composable algorithmic 
 transformations. They are independent from the context of their input and 
 output sources and specify only the essence of the transformation in terms 
 of an individual element. Because transducers are decoupled from input or 
 output sources, they can be used in many different processes - collections, 
 streams, channels, observables, etc. Transducers compose directly, without 
 awareness of input or creation of intermediate aggregates.

 Many existing sequence functions now have a new arity (one fewer 
 argument than before). This arity will return a transducer that represents 
 the same logic but is independent of lazy sequence processing. Functions 
 included are: map, mapcat, filter, remove, take, take-while, drop, 
 drop-while, take-nth, replace, partition-by, partition-all, keep, 
 keep-indexed, map-indexed, distinct, and interpose. Additionally some new 
 transducer functions have been added: cat, dedupe, and random-sample.

 Transducers can be used in several new or existing contexts:

 * into - to collect the results of applying a transducer
 * sequence - to incrementally compute the result of a transducer
 * transduce - to immediately compute the result of a transducer
 * eduction - to delay computation and recompute each time
 * core.async - to apply a transducer while values traverse a channel

 ## Portable Clojure and Reader Conditionals

 It is now common to see a library or application targeting multiple 
 Clojure platforms with a single codebase. Clojure 1.7 introduces a new 
 extension (.cljc) for files that can be loaded by Clojure and ClojureScript 
 (and other Clojure platforms). 

 There will often be some parts of the code that vary between platforms. 
 The primary mechanism for dealing with platform-specific code is to isolate 
 that code into a minimal set of namespaces and then provide 
 platform-specific versions (.clj/.class or .cljs) of those namespaces.

 To support cases where is not feasible to isolate the varying parts of 
 the code, or where the code is mostly portable with only small 
 platform-specific parts, 1.7 provides Reader Conditionals (
 http://clojure.org/reader#The%20Reader--Reader%20Conditionals). 

 Reader conditionals are a new reader form that is only allowed in 
 portable cljc files. A reader conditional expression is similar to a cond 
 in that it specifies alternating platform identifiers and expressions. Each 
 platform is checked in turn until a match is found and the expression is 
 read. All expressions not selected are read but skipped. A final :default 
 fallthrough can be provided. If no expressions are matched, the reader 
 conditional will read nothing. The reader conditional splicing form takes a 
 sequential expression and splices the result into the surrounding code.

 ## Contributors

 Thanks to all of those who contributed patches to Clojure 1.7:

 Timothy Baldridge
 Bozhidar Batsov
 Brandon Bloom
 Michael Blume
 Ambrose Bonnaire-Sergeant
 Aaron Cohen
 Pepijn de Vos
 Andy Fingerhut
 Gary Fredricks
 Daniel Solano Gómez
 Stuart Halloway
 Immo Heikkinen
 Andrei Kleschinsky
 Howard Lewis Ship
 Alex Miller
 Steve Miner
 Nicola Mometto
 Tomasz Nurkiewicz
 Ghadi Shayban
 Paul Stadig
 Zach Tellman
 Luke VanderHart
 Jozef Wagner
 Devin Walters
 Jason Wolfe
 Steven Yi

 Also, continued thanks to the total list 

Re: [ANN] Clojure 1.7.0 is now available

2015-06-30 Thread blake watson
Yep. Got the same error, found the same fix. Was impressed at how easy it
was to fix. (Seriously, compared to most upgrades I've had to do in my
life...)

On Tue, Jun 30, 2015 at 10:13 AM, Robert Beaupre codewise.rob...@gmail.com
wrote:

 Thanks.  Looks like it was in Compojure - linked to at the bottom of the
 page you sent over:  https://github.com/bhauman/lein-figwheel/issues/161

 On Tuesday, 30 June 2015 10:01:01 UTC-7, Gary Trakhman wrote:

 You'll have to bump instaparse versions:
 https://github.com/clojure-emacs/refactor-nrepl/issues/53

 On Tue, Jun 30, 2015 at 12:57 PM Robert Beaupre codewis...@gmail.com
 wrote:

 Is anyone else getting the following error with 1.7.0 when running lein
 repl?  All I did was change from 1.6.0 to 1.7.0.

 #error {

  :cause Wrong number of args (2) passed to: StringReader
  :via
  [{:type clojure.lang.Compiler$CompilerException
:message clojure.lang.ArityException: Wrong number of args (2) passed
 to: StringReader, compiling:(abnf.clj:189:28)
:at [clojure.lang.Compiler$InvokeExpr eval Compiler.java 3628]}
   {:type clojure.lang.ArityException
:message Wrong number of args (2) passed to: StringReader
:at [clojure.lang.AFn throwArity AFn.java 429]}]

 Thanks,
 Robert

 On Tuesday, 30 June 2015 07:35:34 UTC-7, Alex Miller wrote:

 We are pleased to announce the release of Clojure 1.7.

 - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0/
 - Leiningen: [org.clojure/clojure 1.7.0]

 The two headline features for 1.7 are transducers and reader
 conditionals. Also see the complete list (
 https://github.com/clojure/clojure/blob/master/changes.md) of all
 changes since Clojure 1.6 for more details.

 ## Transducers

 Transducers (http://clojure.org/transducers) are composable
 algorithmic transformations. They are independent from the context of their
 input and output sources and specify only the essence of the transformation
 in terms of an individual element. Because transducers are decoupled from
 input or output sources, they can be used in many different processes -
 collections, streams, channels, observables, etc. Transducers compose
 directly, without awareness of input or creation of intermediate 
 aggregates.

 Many existing sequence functions now have a new arity (one fewer
 argument than before). This arity will return a transducer that represents
 the same logic but is independent of lazy sequence processing. Functions
 included are: map, mapcat, filter, remove, take, take-while, drop,
 drop-while, take-nth, replace, partition-by, partition-all, keep,
 keep-indexed, map-indexed, distinct, and interpose. Additionally some new
 transducer functions have been added: cat, dedupe, and random-sample.

 Transducers can be used in several new or existing contexts:

 * into - to collect the results of applying a transducer
 * sequence - to incrementally compute the result of a transducer
 * transduce - to immediately compute the result of a transducer
 * eduction - to delay computation and recompute each time
 * core.async - to apply a transducer while values traverse a channel

 ## Portable Clojure and Reader Conditionals

 It is now common to see a library or application targeting multiple
 Clojure platforms with a single codebase. Clojure 1.7 introduces a new
 extension (.cljc) for files that can be loaded by Clojure and ClojureScript
 (and other Clojure platforms).

 There will often be some parts of the code that vary between platforms.
 The primary mechanism for dealing with platform-specific code is to isolate
 that code into a minimal set of namespaces and then provide
 platform-specific versions (.clj/.class or .cljs) of those namespaces.

 To support cases where is not feasible to isolate the varying parts of
 the code, or where the code is mostly portable with only small
 platform-specific parts, 1.7 provides Reader Conditionals (
 http://clojure.org/reader#The%20Reader--Reader%20Conditionals).

 Reader conditionals are a new reader form that is only allowed in
 portable cljc files. A reader conditional expression is similar to a cond
 in that it specifies alternating platform identifiers and expressions. Each
 platform is checked in turn until a match is found and the expression is
 read. All expressions not selected are read but skipped. A final :default
 fallthrough can be provided. If no expressions are matched, the reader
 conditional will read nothing. The reader conditional splicing form takes a
 sequential expression and splices the result into the surrounding code.

 ## Contributors

 Thanks to all of those who contributed patches to Clojure 1.7:

 Timothy Baldridge
 Bozhidar Batsov
 Brandon Bloom
 Michael Blume
 Ambrose Bonnaire-Sergeant
 Aaron Cohen
 Pepijn de Vos
 Andy Fingerhut
 Gary Fredricks
 Daniel Solano Gómez
 Stuart Halloway
 Immo Heikkinen
 Andrei Kleschinsky
 Howard Lewis Ship
 Alex Miller
 Steve Miner
 Nicola Mometto
 Tomasz Nurkiewicz
 Ghadi Shayban
 Paul Stadig
 Zach Tellman
 Luke VanderHart
 Jozef 

Re: Clojars Private/Commercial Repos

2015-06-30 Thread Dave Dixon
+1. Neither S3 or Archiva have worked out well for us long term.

On Monday, June 29, 2015 at 6:50:44 PM UTC-7, Daniel Compton wrote:

 Hi folks

 I wondered if one possible solution for ensuring Clojars long-term 
 viability and maintenance would be to use it to host private repositories 
 for paying users as well? For many people, the thought of setting up and 
 maintaining Nexus or Archiva isn't an appealing one. I'm aware of the S3 
 wagon, and perhaps that's what people use if they don't want Nexus.

 I'd be interested to hear what other people are doing, and whether Clojars 
 would be a good middle ground between simplicity and functionality. Many 
 Clojure users already have Clojars accounts and will have setup Lein to 
 deploy here already. Additionally, many people would support Clojars for 
 the goodwill factor.

 On the other hand I'm aware this would require more development effort, 
 there may not be much demand for this, and the infrastructure costs may not 
 be large enough that it's worth going down this route.

 Just a thought, 

 Daniel.
 -- 
 --
 Daniel


-- 
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: Clojars Private/Commercial Repos

2015-06-30 Thread Jason Lewis
I think my company would be willing to pay a reasonable fee for private
Clojars repos, on something like the Github model? Not sure what the lein
overhead would be, I know grabbing Datomic Pro from non-Clojars with creds
is a motherf@#@#ing pain in the ass at times (but only in comparison to the
conveninece of Clojars.

Maybe a private-Clojars solution could be a good way to support the project
and encourage a standardized lein/project.clj method of grabbing non-free
artifacts?

On Tue, Jun 30, 2015 at 2:17 PM Dave Dixon dave.d.di...@gmail.com wrote:

 +1. Neither S3 or Archiva have worked out well for us long term.


 On Monday, June 29, 2015 at 6:50:44 PM UTC-7, Daniel Compton wrote:

 Hi folks

 I wondered if one possible solution for ensuring Clojars long-term
 viability and maintenance would be to use it to host private repositories
 for paying users as well? For many people, the thought of setting up and
 maintaining Nexus or Archiva isn't an appealing one. I'm aware of the S3
 wagon, and perhaps that's what people use if they don't want Nexus.

 I'd be interested to hear what other people are doing, and whether
 Clojars would be a good middle ground between simplicity and functionality.
 Many Clojure users already have Clojars accounts and will have setup Lein
 to deploy here already. Additionally, many people would support Clojars for
 the goodwill factor.

 On the other hand I'm aware this would require more development effort,
 there may not be much demand for this, and the infrastructure costs may not
 be large enough that it's worth going down this route.

 Just a thought,

 Daniel.
 --
 --
 Daniel

  --
 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: Clojars Private/Commercial Repos

2015-06-30 Thread Christopher Small

This is being done now with npm: https://www.npmjs.com/. Cost is $7/mo, 
which seems reasonable.


On Tuesday, June 30, 2015 at 12:00:55 PM UTC-7, Jason Lewis wrote:

 I think my company would be willing to pay a reasonable fee for private 
 Clojars repos, on something like the Github model? Not sure what the lein 
 overhead would be, I know grabbing Datomic Pro from non-Clojars with creds 
 is a motherf@#@#ing pain in the ass at times (but only in comparison to the 
 conveninece of Clojars. 

 Maybe a private-Clojars solution could be a good way to support the 
 project and encourage a standardized lein/project.clj method of grabbing 
 non-free artifacts?

 On Tue, Jun 30, 2015 at 2:17 PM Dave Dixon dave.d...@gmail.com 
 javascript: wrote:

 +1. Neither S3 or Archiva have worked out well for us long term.


 On Monday, June 29, 2015 at 6:50:44 PM UTC-7, Daniel Compton wrote:

 Hi folks

 I wondered if one possible solution for ensuring Clojars long-term 
 viability and maintenance would be to use it to host private repositories 
 for paying users as well? For many people, the thought of setting up and 
 maintaining Nexus or Archiva isn't an appealing one. I'm aware of the S3 
 wagon, and perhaps that's what people use if they don't want Nexus.

 I'd be interested to hear what other people are doing, and whether 
 Clojars would be a good middle ground between simplicity and functionality. 
 Many Clojure users already have Clojars accounts and will have setup Lein 
 to deploy here already. Additionally, many people would support Clojars for 
 the goodwill factor.

 On the other hand I'm aware this would require more development effort, 
 there may not be much demand for this, and the infrastructure costs may not 
 be large enough that it's worth going down this route.

 Just a thought, 

 Daniel.
 -- 
 --
 Daniel

  -- 
 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 
 javascript:
 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/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: Confusion about cljs.build.api/build

2015-06-30 Thread Zack Maril
Update: thanks to a comment at the bottom of one of the files in the 
clojurescript project 
https://github.com/clojure/clojurescript/blob/master/src/main/clojure/cljs/closure.clj#L1828,
 
I think I know how to fix this. Instead of a list, I should have used a 
vector. I don't know why this works, I imagine there is a seq? somewhere it 
shouldn't be but I really don't know. 
-Zack

On Monday, June 29, 2015 at 9:29:42 PM UTC-4, Zack Maril wrote:

 Hello,

 I'm trying to use cljs.build.api/build to compile dynamically generated 
 clojurescript into one javascript string. I've been running into many weird 
 errors and I'm quite certain I'm doing something wrong. The simplest test 
 case I've found is the following: 

 (cljs.build.api/build '((ns test.test)) {:optimizations :advanced})

 The above prints a parse error from closure I think and then returns a 
 string that contains generic javascript about Math but nothing else: 
 ERROR: JSC_PARSE_ERROR. Parse error. primary expression expected at 
 test.test line 3 : 1

 Are there other options I am supposed to be passing in? Do I have the 
 nesting wrong on the structures? I've tried a list like '(+ 1 1) instead 
 but the string output doesn't look to be doing any work and that level of 
 nesting doesn't seem to be what is implied by cljs.closurei/compile-for-seq 
 with it's forms argument. Any what is going on? 
 -Zack


-- 
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: Joda Time version conflict? Initializing JollyDayHoliday for SUTime

2015-06-30 Thread Gary Verhaegen
Also, your last error (about in-ns) is from an incompatible version of
clj-time, not joda-time.

By the way, this has nothing to do with interop, it's straight dependency
management on the jvm.

Concerning FD's solution of classloaders, you'll also jave to figure out a
way to package the different versions into your JAR, which will not be
trivial if both versions use the same package names (which seem to be the
case).

I think your best bet at this point is to carefully read the lein deps
:tree output to note all of the required versions of clj-time and jodatime,
and then try to play with either excludes or version ponning in your
project.clj until you find a combination that works. Also remember that
your code is the most flexible: are you absolutely stuck using clj-time
0.6.0 for your own code ?

On Tuesday, 30 June 2015, Sean Corfield s...@corfield.org wrote:

 Have you actually tried any of the exclusions that Leiningen suggests? For
 example:

 [clj-time 0.6.0]
  overrides
 [ring 1.4.0-RC1] - [ring/ring-jetty-adapter 1.4.0-RC1] -
 [ring/ring-core 1.4.0-RC1] - [clj-time 0.9.0]
  and
 [ring 1.4.0-RC1] - [ring/ring-devel 1.4.0-RC1] - [ring/ring-core
 1.4.0-RC1] - [clj-time 0.9.0]
  and
 [ring 1.4.0-RC1] - [ring/ring-core 1.4.0-RC1] - [clj-time 0.9.0]

 Consider using these exclusions:
 [ring 1.4.0-RC1 :exclusions [clj-time]]
 [ring 1.4.0-RC1 :exclusions [clj-time]]
 [ring 1.4.0-RC1 :exclusions [clj-time]]

 This tells you to that Ring is pulling in the later version of clj-time
 (and, hence, the Joda Time 2.6) but clj-time 0.6.0 is pulling in 2.2 (next
 set of suggested exclusions). The suggestion is to add the exclusions to
 your Ring dependency:

 [ring 1.4.0-RC1 :exclusions [clj-time joda-time]]

 See if that helps.

 Sean

 On Jun 29, 2015, at 5:17 PM, gingersafflo...@gmail.com
 javascript:_e(%7B%7D,'cvml','gingersafflo...@gmail.com'); wrote:


  If the worst comes to the worst, you may need to run the NLP module
  and the Clojure code in separate JVMs using some form of IPC to exchange
 data.

 That is what I'm looking at right now, though I've also been told that I
 absolutely must have this working by tomorrow morning, so I'm a little
 frustrated with the amount of work I face tonight. Also, a month ago we
 were doing IPC and then we gave up on that redesigned the NLP to work as a
 library we could embed inside of the Clojure app, but now it looks like we
 need to reverse that decision.

 For me, it's been a good reminder that easy Java interop is true up to a
 point, but then very not true for certain kinds of ambitions.



 On Monday, June 29, 2015 at 7:18:07 PM UTC-4, Fluid Dynamics wrote:

 On Monday, June 29, 2015 at 6:38:40 PM UTC-4, Gary Verhaegen wrote:

 Assuming there is a version that works for both dependencies, you can
 manually fix it in your own project.clj. Your own direct dependencies
 will override transitive ones.

 Otherwise, as far as I can tell, you're stuck. Maybe you can try using
 an older clj-time?


 In theory, JodaTime 2.6 should not have any API-breaking changes since
 2.1, or they should have called it 3.something.

 So, if you can force the NLP module to use JodaTime 2.6 it *should* work.

 If that fails, it may still be possible if you can force the two versions
 of JodaTime to load in separate classloaders. I haven't the foggiest how
 that might actually be achieved. Actually I'm somewhat surprised that the
 Java NLP component and clj-time are not *already* loading in different
 classloaders, the former in the standard Java classloader and the latter in
 Clojure's DynamicClassLoader. Two different versions of the same Java
 package or Clojure namespace can *usually* coexist peacefully in different
 classloaders, though, modulo native dependencies or centralized filesystem
 stuff (e.g. a single .foo file in the user directory that they both modify,
 stepping on each others' toes, and they can't be overridden to look for
 separate files to each keep their own version).

 If the worst comes to the worst, you may need to run the NLP module and
 the Clojure code in separate JVMs using some form of IPC to exchange data.
 Then deployment, startup, and shutdown become more complicated and
 annoying, and communication across the divide much less efficient (like
 kernel mode switching, IPC means carting data across address space
 boundaries), so ideally there'd be a clean internal boundary between the
 NLP-parts and the rest that has relatively little traffic crossing it.
 You'd then end up with a kind of NLP daemon and an application that had a
 dependency on 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
 javascript:_e(%7B%7D,'cvml','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
 

Running test.check and cljs.test tests under Clojurescript

2015-06-30 Thread Nathan Marz
I'm trying to get Specter's tests running under ClojureScript. I can run
the tests manually in a REPL just fine, but I cannot figure out a
straightforward way to run all the tests like you can in Clojure with lein
test.

Here are the tests I'm trying to run, which are a mix of tests defined
using test.check and cljs.test:
https://github.com/nathanmarz/specter/blob/cljs/test/com/rpl/specter/core_test.cljc

I've tried the instructions in
http://abratukhin.blogspot.com/2015/03/how-to-set-up-unit-tests-in.html but
the cemerick.cljs.test package does not seem to run test.check tests
defined with defspec.

How can I set up a runner to run my tests with a one line command at the
terminal?

-- 
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: Clojars Private/Commercial Repos

2015-06-30 Thread Toby Crawley
Clojars is pretty much a one man show right now, but it currently
requires little time to maintain, and works fairly well. If it
supported private repos, the maintenance and support time would go up
considerably, and it would require some sort of business entity around
it. Doing that has been considered in the past, but isn't something
I'm comfortable doing right now, due to other obligations.

The hosting costs are relatively small, and still being sponsored by
Alex Osborne (clojars' original author). I've considered selling
corporate sponsorships or having a fundraising campaign to establish a
fund that could take that burden off of Alex, and to have on hand to
cover contracting someone to help with recovering from potential
compromises (like the linode breach[1]), patching vulnerabilities
(heartbleed, etc), or rebuilding the server in case of failure, if
such help is needed. I have no idea if I'll need some sort of legal
entity to hold that money, but if one is needed, that might be
something the recently proposed Clojure community organization[2]
could handle.

I know that it's often easier to give money over time, but if folks
are interested in helping clojars now, we have quite a few open
issues[3] that are ready for discussion/patches.

- Toby

[1]: https://groups.google.com/forum/#!topic/clojars-maintainers/uAVJVwRAnSU
[2]: https://groups.google.com/d/msg/clojure/i2YqnCkeemM/0nOJaK8U91EJ
[3]: 
https://groups.google.com/d/msg/clojars-maintainers/AKLPSVY5Qcw/w63eLy7pU58J

On Tue, Jun 30, 2015 at 3:34 PM, Christopher Small
metasoar...@gmail.com wrote:

 This is being done now with npm: https://www.npmjs.com/. Cost is $7/mo,
 which seems reasonable.


 On Tuesday, June 30, 2015 at 12:00:55 PM UTC-7, Jason Lewis wrote:

 I think my company would be willing to pay a reasonable fee for private
 Clojars repos, on something like the Github model? Not sure what the lein
 overhead would be, I know grabbing Datomic Pro from non-Clojars with creds
 is a motherf@#@#ing pain in the ass at times (but only in comparison to the
 conveninece of Clojars.

 Maybe a private-Clojars solution could be a good way to support the
 project and encourage a standardized lein/project.clj method of grabbing
 non-free artifacts?

 On Tue, Jun 30, 2015 at 2:17 PM Dave Dixon dave.d...@gmail.com wrote:

 +1. Neither S3 or Archiva have worked out well for us long term.


 On Monday, June 29, 2015 at 6:50:44 PM UTC-7, Daniel Compton wrote:

 Hi folks

 I wondered if one possible solution for ensuring Clojars long-term
 viability and maintenance would be to use it to host private repositories
 for paying users as well? For many people, the thought of setting up and
 maintaining Nexus or Archiva isn't an appealing one. I'm aware of the S3
 wagon, and perhaps that's what people use if they don't want Nexus.

 I'd be interested to hear what other people are doing, and whether
 Clojars would be a good middle ground between simplicity and functionality.
 Many Clojure users already have Clojars accounts and will have setup Lein 
 to
 deploy here already. Additionally, many people would support Clojars for 
 the
 goodwill factor.

 On the other hand I'm aware this would require more development effort,
 there may not be much demand for this, and the infrastructure costs may not
 be large enough that it's worth going down this route.

 Just a thought,

 Daniel.
 --
 --
 Daniel

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

Re: [ClojureScript] [ANN] Clojure 1.7.0-beta3

2015-06-30 Thread Andy Fingerhut
Is anyone interested in filing a bug against IBM JDK 1.8.0 where it appears
that its JIT compiler fails about half of the time when doing 'mvn clean
test' in a Clojure 1.7.0 source tree?

You can find some attachments in an earlier message of this thread that can
get you started, but producing your own error logs with specific versions
of OS, JDK, and Clojure source code would probably be best.  Let me know if
you can't reproduce it for some reason.

I don't use IBM JDK very much, other than to see if anything goes wrong
when you try to build and test Clojure using it.  I'm hoping someone more
motivated in seeing this fixed for the IBM JDK will take up the torch.

Andy

On Sun, May 17, 2015 at 12:53 AM, Herwig Hochleitner hhochleit...@gmail.com
 wrote:

 Given that the JVM shouldn't segfault in any case, that's cleary looks to
 me like an ibm jdk bug, that could hit other JVM languages aswell. Maybe
 IBM is interested in fixing it?
 In my case, the VM most likely has the excuse of not expecting
 classpath-jar files to be swapped out, but the JIT?
 ​

 --
 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/d/optout.