[ANN] tools.deps.alpha

2017-07-25 Thread Alex Miller
tools.deps.alpha is a new contrib library API for transitive dependency 
graph expansion and the creation of classpaths.

For more information, I would invite you to check out:

* the README 
 from 
tools.deps.alpha
* the slides 
 from my 
EuroClojure talk (video coming in the next week or two)

There are some additional pieces still to come that will provide installers 
for various systems as well. This is still a work in progress but is 
targeted for completion along with Clojure 1.9.


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


Leiningen template for pure Clojure/ClojureScript project ?

2017-07-25 Thread Khalid Jebbari
Hello, does anyone know a Leiningen template that scaffolds the minimum 
required to play with the CLJ(S) compiler, without any Leiningen/Boot stuff 
?

-- 
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] core.match 0.3.0-alpha5

2017-07-25 Thread Alex Miller
An optimized pattern matching library for Clojure.

Dependency:  [org.clojure/core.match "0.3.0-alpha5"]

Changes since 0.3.0-alpha4:
* Removed unused dependency on tools.analyzer.jvm (reduces load time)

More info: https://github.com/clojure/core.match/blob/master/README.md

-- 
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: Leiningen template for pure Clojure/ClojureScript project ?

2017-07-25 Thread Kevin Baldor
I haven't used Clojurescript, so I can't address that part of your
question. For the Clojure part, you can execute the contents of a file with

java -cp clojure.jar clojure.main file.clj


On Tue, Jul 25, 2017 at 9:09 AM, Khalid Jebbari 
wrote:

> Hello, does anyone know a Leiningen template that scaffolds the minimum
> required to play with the CLJ(S) compiler, without any Leiningen/Boot stuff
> ?
>
> --
> 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: Leiningen template for pure Clojure/ClojureScript project ?

2017-07-25 Thread Ikuru Kanuma
Hi Khalid, I really find the mies template good for minimal cljs setup.

https://github.com/swannodette/mies

Main feature is that builds can be done from shell scripts that in turn 
point to .clj files that directly use the ClojureScript build API without 
any Leiningen/Boot stuff.
I highly recommend it.

Regards,

Ikuru

-- 
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] inspectable 0.1.0 Improve your repl experience when usingclojure.spec

2017-07-25 Thread Sean Corfield
This looks very cool! A response to Stu’s recent talk about REPL-Driven 
Development and pluggable inspectors etc?

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

From: Juan Monetta
Sent: Monday, July 24, 2017 8:41 AM
To: Clojure
Subject: [ANN] inspectable 0.1.0 Improve your repl experience when 
usingclojure.spec

What?

A couple of tools for Clojure to help you work with clojure.spec in the repl 
with the spirit of improving error
messages.

Where?

[inspectable "0.1.0"]
https://github.com/jpmonettas/inspectable

Summary?

Inspectable 0.1.0 contains two tools

- borwse-spec : A GUI spec registry browser.
- why : A GUI that explains spec fails in a bunch of different situations.

-- 
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] inspectable 0.1.0 Improve your repl experience when usingclojure.spec

2017-07-25 Thread Juan Monetta
Hi Sean, great you like it!

Yeah, was inspired exactly by that talk!

Will keep experimenting with ideas around that.

Appreciate any suggestions, ideas, whatever.

On Tue, Jul 25, 2017 at 5:22 PM, Sean Corfield  wrote:

> This looks very cool! A response to Stu’s recent talk about REPL-Driven
> Development and pluggable inspectors etc?
>
>
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>
>
> *From: *Juan Monetta 
> *Sent: *Monday, July 24, 2017 8:41 AM
> *To: *Clojure 
> *Subject: *[ANN] inspectable 0.1.0 Improve your repl experience when
> usingclojure.spec
>
>
>
> What?
>
>
>
> A couple of tools for Clojure to help you work with clojure.spec in the
> repl with the spirit of improving error
>
> messages.
>
>
>
> Where?
>
>
>
> [inspectable "0.1.0"]
>
> https://github.com/jpmonettas/inspectable
>
>
>
> Summary?
>
>
>
> Inspectable 0.1.0 contains two tools
>
>
>
> - borwse-spec : A GUI spec registry browser.
>
> - why : A GUI that explains spec fails in a bunch of different situations.
>
>
>
> --
> 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 a topic in the
> Google Groups "Clojure" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/clojure/BJvHz1XRHMU/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: [ANN] tools.deps.alpha

2017-07-25 Thread Sean Corfield
Looks very interesting. The manual install works – looking forward to platform 
installers!

There are some formatting glitches in the README with nested lists.

Also, this line:

Invoke: clj -Porg.clojure=/Users/me/code/clojure/target/classes

Looks like it should be:

Invoke: clj -Porg.clojure/clojure=/Users/me/code/clojure/target/classes

Based on the previous example’s :dev classpath-overrides?

Question: is the thinking that tools like Boot and Leiningen could (should?) 
switch over to using this, instead of their own, home-grown Aether-based stack?

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

From: Alex Miller
Sent: Tuesday, July 25, 2017 7:19 AM
To: Clojure
Subject: [ANN] tools.deps.alpha

tools.deps.alpha is a new contrib library API for transitive dependency graph 
expansion and the creation of classpaths.

For more information, I would invite you to check out:

* the README from tools.deps.alpha
* the slides from my EuroClojure talk (video coming in the next week or two)

There are some additional pieces still to come that will provide installers for 
various systems as well. This is still a work in progress but is targeted for 
completion along with Clojure 1.9.


-- 
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] tools.deps.alpha

2017-07-25 Thread Alex Miller
On Tue, Jul 25, 2017 at 3:47 PM, Sean Corfield  wrote:

> Looks very interesting. The manual install works – looking forward to
> platform installers!
>
>
>
> There are some formatting glitches in the README with nested lists.
>

Don't see it, let me know and I'll fix.


>
>
> Also, this line:
>
>
>
> Invoke: clj -Porg.clojure=/Users/me/code/
> clojure/target/classes
>
>
>
> Looks like it should be:
>
>
>
> Invoke: clj -Porg.clojure/clojure=/Users/
> me/code/clojure/target/classes
>
>
>
> Based on the previous example’s :dev classpath-overrides?
>

Yep, fixed.


>
>
> Question: is the thinking that tools like Boot and Leiningen could
> (should?) switch over to using this, instead of their own, home-grown
> Aether-based stack?
>

Not necessarily. tools.deps.alpha and the clj script are intended to
traverse dependencies and build classpaths. The clj script does not compile
code, build artifacts, deploy artifacts, and do many of the other things
that build tools like Leiningen or Boot do and clj is not intended to be a
replacement for any of those things.

The primary use case for clj initially will be new users or existing users
that want to build a repl-focused project without any real intent to deploy
artifacts (for example, someone using a repl to munge data or do other
exploratory work, rather than build libs or applications). Over time we
have ideas about other things we can build out from this core - I hinted at
some in my EuroClojure talk.

It will likely also be useful to build bridges for boot or lein to use a
deps.edn (possibly in either direction), but I am not confident enough yet
in how this will evolve to predict exactly how that will look. I suspect
it's a small job to make boot leverage a deps.edn file now as a source of
dependencies and probably a bit larger for Leiningen to do so if desired.
But I haven't looked at either yet. Would be happy to discuss more.

Note that tools.deps.alpha is still built on (mostly) the same stack as
Pomegranate/lein/boot with the difference that Aether is no longer an
Eclipse project and has been rebranded into the Apache Maven project as
Maven Resolver. tools.deps.alpha uses the latest Maven Resolver api
directly. Pomegranate is using an older (but quite similar) version of
Aether. I did look at using Pomegranate, but Pom used extra deps for the
dynamic classpath and was doing quite a bit more than I needed (and using
older APIs), so in the end I decided to just reimplement exactly what I
needed.

-- 
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] tools.deps.alpha

2017-07-25 Thread Alex Miller
On Tue, Jul 25, 2017 at 4:28 PM, Alex Miller  wrote:

>
> On Tue, Jul 25, 2017 at 3:47 PM, Sean Corfield  wrote:
>
>> Looks very interesting. The manual install works – looking forward to
>> platform installers!
>>
>>
>>
>> There are some formatting glitches in the README with nested lists.
>>
>
> Don't see it, let me know and I'll fix.
>

I see it now and have fixed it!

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] tools.deps.alpha

2017-07-25 Thread Mark Derricutt
On 26 Jul 2017, at 2:19, Alex Miller wrote:

> There are some additional pieces still to come that will provide installers 
> for various systems as well. This is still a work in progress but is targeted 
> for completion along with Clojure 1.9.

Looks good - however with the release of Java 9 soon, has there been any 
consideration to supporting the module path at all? To me, regardless of 
peoples thoughts on jigsaw, releasing a new JVM dependency management tool now, 
and not supporting it seems wrong.

Mark

---
"The ease with which a change can be implemented has no relevance at all to 
whether it is the right change for the (Java) Platform for all time." — 
Mark Reinhold.

Mark Derricutt
http://www.theoryinpractice.net
http://www.chaliceofblood.net
http://plus.google.com/+MarkDerricutt
http://twitter.com/talios
http://facebook.com/mderricutt

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


signature.asc
Description: OpenPGP digital signature


Re: [ANN] tools.deps.alpha

2017-07-25 Thread Gregg Reynolds
On Tue, Jul 25, 2017 at 9:19 AM, Alex Miller  wrote:

> tools.deps.alpha is a new contrib library API for transitive dependency
> graph expansion and the creation of classpaths.
>
> For more information, I would invite you to check out:
>
> * the README
>  from
> tools.deps.alpha
> * the slides
>  from
> my EuroClojure talk (video coming in the next week or two)
>
> There are some additional pieces still to come that will provide
> installers for various systems as well. This is still a work in progress
> but is targeted for completion along with Clojure 1.9.
>
>
Dumb question of the day: given that Clojurescript evidently (as I
understand) will soon work seamlessly with npm, can (chunks of) this be
extended to cljs?  E.g. (s/def ::providers (s/keys :opt-un [::npm])) or
some such.  Note that I ask without understanding. ;)


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


[ANN] expound 0.1.2

2017-07-25 Thread Ben Brinckerhoff
Expound formats clojure.spec errors in a way that is optimized for humans 
to read. Expound works in Clojure and Clojurescript.

This release provides human-optimized error messages when using a number of 
spec features, including instrumentation and `assert`.

More information is available in the README 
.

-- 
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] tools.deps.alpha

2017-07-25 Thread Sean Corfield
Looks much better, thank you!

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

From: Alex Miller
Sent: Tuesday, July 25, 2017 2:32 PM
To: clojure@googlegroups.com
Subject: Re: [ANN] tools.deps.alpha


On Tue, Jul 25, 2017 at 4:28 PM, Alex Miller  wrote:

On Tue, Jul 25, 2017 at 3:47 PM, Sean Corfield  wrote:
Looks very interesting. The manual install works – looking forward to platform 
installers!
 
There are some formatting glitches in the README with nested lists.

Don't see it, let me know and I'll fix.

I see it now and have fixed it!

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
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] tools.deps.alpha

2017-07-25 Thread Sean Corfield
The primary use case for clj initially will be new users or existing users that 
want to build a repl-focused project without any real intent to deploy artifacts

Fair enough. Not convinced clj is very beginner-friendly (compared to Boot – 
it’s certainly more friendly than Leiningen) but I suspect when there are 
installers available – and documentation out there is updated to reflect that – 
it’ll seem easier.

FWIW, Boot allows you to play with arbitrary libraries in the REPL like this:

boot -d group/artifact repl

No project needed, no build.boot etc, just a REPL with the specified libraries 
available, wherever you are.

Over time we have ideas about other things we can build out from this core - I 
hinted at some in my EuroClojure talk. 

Looking forward to this appearing on ClojureTV! Heard interesting things about 
it from attendees!

I suspect it's a small job to make boot leverage a deps.edn file now as a 
source of dependencies

Yeah, that’s how we handle all our dependencies at World Singles – and it sure 
is easy with Boot: (merge-env! :dependencies (edn/read-string (slurp 
“deps.edn”))) – although, of course, the deps.edn file we use is just a vector 
of vectors, like the regular :dependencies key in Boot/Leiningen.

tools.deps.alpha uses the latest Maven Resolver api directly.

Good to know, thanks.

Sean


-- 
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] expound 0.1.2

2017-07-25 Thread Andy Fingerhut
inspectable was recently announced in this group as well.  Do you know what
the similarities and differences are between these projects?

Andy

On Tue, Jul 25, 2017 at 4:16 PM, Ben Brinckerhoff 
wrote:

> Expound formats clojure.spec errors in a way that is optimized for humans
> to read. Expound works in Clojure and Clojurescript.
>
> This release provides human-optimized error messages when using a number
> of spec features, including instrumentation and `assert`.
>
> More information is available in the README
> .
>
> --
> 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] tools.deps.alpha

2017-07-25 Thread Alex Miller
On Tue, Jul 25, 2017 at 5:07 PM, Mark Derricutt  wrote:

> Looks good - however with the release of Java 9 soon, has there been any
> consideration to supporting the module path at all? To me, regardless of
> peoples thoughts on jigsaw, releasing a new JVM dependency management tool
> now, and not supporting it seems wrong.
>
> No, there has been no consideration thus far about modulepath. Our goal
here is to create classpaths for Clojure apps. I think we have a long while
if ever before using modulepaths with Clojure is common. Modules seem
fairly useless to me from a Clojure perspective (perhaps even actively
harmful) - everything about them is about making things less dynamic and
more closed.

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


Unnamed Types - What Am I Doing Wrong?

2017-07-25 Thread Kevin Kleinfelter
I ran into the 'refactoring an unnamed type' problem.  I'd like to know how 
experienced Clojurists avoid it.

I've got an account record/structure.  It has things like an account name, 
account number, etc.  I started off storing it in a vector, because it had 
just two elements.  Account name was (first v).  Account number was (second 
v).  And that worked up to a point.  Over time, it has acquired enough 
pieces and rules that I really need to change its implementation.  I need 
to refactor it.

When it was only a few hundred lines long, in a couple of files, I could 
examine each line.  Now that it's a dozen files and several thousand lines, 
I just don't have the attention span.

In a language with named types, I could search for AccountRecord.  I could 
thoroughly find all the places I used it and refactor it.  Or I could 
change the name of the type to tAccountRecord, and the compiler would 
identify all the places where I used it (with error messages).

In an OO language, I'd be accessing all of its pieces via getters and 
setters, and I wouldn't have to find all of the places where I used it, 
because the implementation would be a black box.

But in a language with unnamed types, it's just a vector and I've just got 
first and second and nth to search for.  That's going to find lots of 
irrelevant stuff.  It's enough to make me pine for Java and a refactoring 
IDE.  =:-o

So how do developers who work with un-typed (or un-named type) languages 
avoid this sort of problem?  Or, failing to avoid it, how do they clean up 
afterward?
tnx

-- 
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] tools.deps.alpha

2017-07-25 Thread Alex Miller
>
> Dumb question of the day: given that Clojurescript evidently (as I
>> understand) will soon work seamlessly with npm, can (chunks of) this be
>> extended to cljs?  E.g. (s/def ::providers (s/keys :opt-un [::npm])) or
>> some such.  Note that I ask without understanding. ;)
>>
>
This effort is really about working on the problem of creating JVM
classpaths and was not really intended to extend to cljs. Perhaps it could
be (but I'm not sure where or why that would be useful).

-- 
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] expound 0.1.2

2017-07-25 Thread Ben Brinckerhoff
Please keep in mind that I have not yet used Inspectable, but my impression 
from reading the README is they both help developers understand 
spec-related failures.

Inspectable does this by providing rich, interactive UI that allows 
developers to explore the specifics of a spec failure at the REPL. This UI 
can be brought up at the REPL manually or you can set up a `caught` 
function to automatically open this UI upon instrumentation or macroexpand 
failures. 

Furthermore, Inspectable lets you explore specs interactively via 
`browse-spec`.

On the other hand, Expound is a drop-in alternative for the string returned 
by by Spec in the case of failures. You can use this output wherever a 
human might read about a spec failure: in the REPL, in unit tests, in the 
browser console, in an error message for a REST API, and more. Since it is 
just static text, you can't interactively explore the failure or browse 
specs.

Personally, I expect I'll use Inspectable during REPL-driven-development, 
but use Expound in my unit tests or when validating data that I consume 
from a 3rd party API.

I hope that Juan Monetta (the author of Inspectable) will correct me if 
I've gotten anything wrong and add his perspective. Juan?

Ben

On Tuesday, July 25, 2017 at 6:12:21 PM UTC-6, Andy Fingerhut wrote:
>
> inspectable was recently announced in this group as well.  Do you know 
> what the similarities and differences are between these projects?
>
> Andy
>
> On Tue, Jul 25, 2017 at 4:16 PM, Ben Brinckerhoff  > wrote:
>
>> Expound formats clojure.spec errors in a way that is optimized for humans 
>> to read. Expound works in Clojure and Clojurescript.
>>
>> This release provides human-optimized error messages when using a number 
>> of spec features, including instrumentation and `assert`.
>>
>> More information is available in the README 
>> .
>>
>> -- 
>> 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.


Re: Unnamed Types - What Am I Doing Wrong?

2017-07-25 Thread Gary Trakhman
Maps with named keys work much better than vectors/lists for heterogenuous
data.  I've recently taken up OCaml as a very well-typed language, and it's
basically analogous to records vs tuples tradeoffs there.

Clojure.spec can help at a larger scale.

You can do the same encapsulation as Java by writing accessors in a
namespace, it sounds to me like you didn't abstract it out early enough.

On Jul 25, 2017 9:52 PM, "Kevin Kleinfelter" 
wrote:

I ran into the 'refactoring an unnamed type' problem.  I'd like to know how
experienced Clojurists avoid it.

I've got an account record/structure.  It has things like an account name,
account number, etc.  I started off storing it in a vector, because it had
just two elements.  Account name was (first v).  Account number was (second
v).  And that worked up to a point.  Over time, it has acquired enough
pieces and rules that I really need to change its implementation.  I need
to refactor it.

When it was only a few hundred lines long, in a couple of files, I could
examine each line.  Now that it's a dozen files and several thousand lines,
I just don't have the attention span.

In a language with named types, I could search for AccountRecord.  I could
thoroughly find all the places I used it and refactor it.  Or I could
change the name of the type to tAccountRecord, and the compiler would
identify all the places where I used it (with error messages).

In an OO language, I'd be accessing all of its pieces via getters and
setters, and I wouldn't have to find all of the places where I used it,
because the implementation would be a black box.

But in a language with unnamed types, it's just a vector and I've just got
first and second and nth to search for.  That's going to find lots of
irrelevant stuff.  It's enough to make me pine for Java and a refactoring
IDE.  =:-o

So how do developers who work with un-typed (or un-named type) languages
avoid this sort of problem?  Or, failing to avoid it, how do they clean up
afterward?
tnx

-- 
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] tools.deps.alpha

2017-07-25 Thread Alex Miller
On Tue, Jul 25, 2017 at 6:57 PM, Sean Corfield  wrote:

> The primary use case for clj initially will be new users or existing users
> that want to build a repl-focused project without any real intent to deploy
> artifacts
>
>
>
> Fair enough. Not convinced clj is very beginner-friendly (compared to Boot
> – it’s certainly more friendly than Leiningen) but I suspect when there are
> installers available – and documentation out there is updated to reflect
> that – it’ll seem easier.
>

Yeah, with the installers, the manual steps will just be replaced with
"brew install clojure". I actually have that working, but I have to finish
some of the build scripting stuff before I can release it.


> FWIW, Boot allows you to play with arbitrary libraries in the REPL like
> this:
>
>
>
> boot -d group/artifact repl
>
>
>
> No project needed, no build.boot etc, just a REPL with the specified
> libraries available, wherever you are.
>

Yeah, boot really starts from dynamic and that drives some of the choices.
We decided to start with static and build toward dynamic classpaths.
Honestly, I rarely need or want a dynamic classpath and it requires a lot
of extra machinery. Typically I think most people add deps to a project
comparatively rarely and the cost of a restart is not a big deal.


> Over time we have ideas about other things we can build out from this core
> - I hinted at some in my EuroClojure talk.
>
>
>
> Looking forward to this appearing on ClojureTV! Heard interesting things
> about it from attendees!
>
>
>
> I suspect it's a small job to make boot leverage a deps.edn file now as a
> source of dependencies
>
>
>
> Yeah, that’s how we handle all our dependencies at World Singles – and it
> sure is easy with Boot: (merge-env! :dependencies (edn/read-string (slurp
> “deps.edn”))) – although, of course, the deps.edn file we use is just a
> vector of vectors, like the regular :dependencies key in Boot/Leiningen.
>

Yeah, a lot of people do stuff like this. Good opportunity for some glue
code.


>
>
> tools.deps.alpha uses the latest Maven Resolver api directly.
>
>
>
> Good to know, thanks.
>
>
>
> Sean
>
>
>
>
>

-- 
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: Unnamed Types - What Am I Doing Wrong?

2017-07-25 Thread Daniel Compton
Hi Kevin

For something like an account, a more idiomatic way to model this in
Clojure might be with maps:

{:account-name "John Smith"
 :account-number "125-1290"}

or

{:account/name "John Smith"
 :account/number "125-1290"}

If you then want to refactor your usage/naming of map keys then you can
search for usages of the keyword (Cursive has this built-in, I'm not sure
about other editors).

Clojure also has records  which
you can use to model your system. They are similar to maps, but have some
extra features. Alex Miller has a good explanation

about
the tradeoffs between records and maps, and there's more discussion here
, and here

.

On Wed, Jul 26, 2017 at 1:52 PM Kevin Kleinfelter <
kleinfelter.gro...@gmail.com> wrote:

> I ran into the 'refactoring an unnamed type' problem.  I'd like to know
> how experienced Clojurists avoid it.
>
> I've got an account record/structure.  It has things like an account name,
> account number, etc.  I started off storing it in a vector, because it had
> just two elements.  Account name was (first v).  Account number was (second
> v).  And that worked up to a point.  Over time, it has acquired enough
> pieces and rules that I really need to change its implementation.  I need
> to refactor it.
>
> When it was only a few hundred lines long, in a couple of files, I could
> examine each line.  Now that it's a dozen files and several thousand lines,
> I just don't have the attention span.
>
> In a language with named types, I could search for AccountRecord.  I
> could thoroughly find all the places I used it and refactor it.  Or I could
> change the name of the type to tAccountRecord, and the compiler would
> identify all the places where I used it (with error messages).
>
> In an OO language, I'd be accessing all of its pieces via getters and
> setters, and I wouldn't have to find all of the places where I used it,
> because the implementation would be a black box.
>
> But in a language with unnamed types, it's just a vector and I've just got
> first and second and nth to search for.  That's going to find lots of
> irrelevant stuff.  It's enough to make me pine for Java and a refactoring
> IDE.  =:-o
>
> So how do developers who work with un-typed (or un-named type) languages
> avoid this sort of problem?  Or, failing to avoid it, how do they clean up
> afterward?
> tnx
>
> --
> 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] tools.deps.alpha

2017-07-25 Thread Mark Derricutt
On 26 Jul 2017, at 13:53, Alex Miller wrote:

> This effort is really about working on the problem of creating JVM classpaths 
> and was not really intended to extend to cljs. Perhaps it could be (but I'm 
> not sure where or why that would be useful).

If node modules were declared with a type of `:npm` that could lead to a 
nightmare of having mixed dependency type which wouldn't really make sense.

If it was an archive/dependency of purely `*.cljc` files that could work as 
their platform independent, but arbitrary node packages would seem to the path 
of trouble.

Mark

---
"The ease with which a change can be implemented has no relevance at all to 
whether it is the right change for the (Java) Platform for all time." — 
Mark Reinhold.

Mark Derricutt
http://www.theoryinpractice.net
http://www.chaliceofblood.net
http://plus.google.com/+MarkDerricutt
http://twitter.com/talios
http://facebook.com/mderricutt

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


signature.asc
Description: OpenPGP digital signature


Re: [ANN] tools.deps.alpha

2017-07-25 Thread Alex Miller


On Tuesday, July 25, 2017 at 9:46:55 PM UTC-5, Gregg Reynolds wrote:
>
>
> BTW, minor doc error I think:
>
> resolve-deps
>
> Usage: (resolve-args deps-map resolve-args)
> Should that be (resolve-deps ...)? 
>

Yes, fixed. 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] tools.deps.alpha

2017-07-25 Thread Gregg Reynolds
On Tue, Jul 25, 2017 at 8:53 PM, Alex Miller  wrote:

> Dumb question of the day: given that Clojurescript evidently (as I
>>> understand) will soon work seamlessly with npm, can (chunks of) this be
>>> extended to cljs?  E.g. (s/def ::providers (s/keys :opt-un [::npm])) or
>>> some such.  Note that I ask without understanding. ;)
>>>
>>
> This effort is really about working on the problem of creating JVM
> classpaths and was not really intended to extend to cljs. Perhaps it could
> be (but I'm not sure where or why that would be useful).
>

Just wondering (in near-total ignorance) about clj/cljs parallels, e.g.
maybe resolve-deps for npm would be useful in cljs.

BTW, minor doc error I think:

resolve-deps

Usage: (resolve-args deps-map resolve-args)
Should that be (resolve-deps ...)?

thanks,

gregg

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