Re: clojure.edn/read isn't spec compliant

2020-11-07 Thread Matching Socks
This is not either/or.  
There is room for an alternative, spec-enforcing, EDN reader.  
A drop-in replacement, as it were, for those inclined to try it.
If you want speed, you use Transit anyway, right?

P.S.  Even better if the alternative, compliant, reader were compatibly 
licensed, to replace the original in Clojure 2.

On Sunday, November 1, 2020 at 7:01:04 PM UTC-5 EuAndreh wrote:

> Andy Fingerhut  writes:
>
> > My personal guess: the authors of the EDN specification and
> > implementation are content with their level of detail, and might not be
> > interested in making them 100% equivalent in all ways. (This is only my
> > personal guess. Realize that making specifications and implementations
> > match can be an exhausting and unrewarding process.)
>
> Agree on "making the implementation match the specification" being an
> arduous task, as I am trying to do it myself in working in an edn
> implementation.
>
> However, I don't see a way around this type of job being an
> specification.
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/5ff53710-9f35-42df-a814-977ced816e67n%40googlegroups.com.


Re: Truly, we live in the garden of edn

2020-09-13 Thread Matching Socks
I can't comment on the whole crazy world of JSON, but it's a shame to think 
of all the coal-fired watts spent unnecessarily parsing UUIDs.  If all you 
need is a string, there is no dishonor in letting it be a string.
  

> I was made to wonder how the rest of the world lives!
>
> P.S. Also, never thinking about commas
>
> P.P.S. Also, sets and keywords and ints and extensibility and characters 
> and symbols and thank you very much! (:
>

P.S.,  Yes!  Yes again!!

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/76532578-f0f5-4c3c-899d-5771dbf15655o%40googlegroups.com.


Re: Rationale behind github.com/cljctools project

2020-09-13 Thread Matching Socks
I especially like the "bigger aspirations" -
https://github.com/cljctools/readme#bigger-aspirations

And your summary of relevant strengths of Clojure.
 

On Sunday, August 30, 2020 at 2:42:25 AM UTC-4, Sergei Udris wrote:
>
> Thought process behind and goals of the https://github.com/cljctools
>  project:
>
> https://github.com/cljctools/readme#rationale
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/e4eb29ef-949a-4d06-88d5-b47ba96d6faao%40googlegroups.com.


Re: Classpath bug re Clojure 1.10.1.645 when using Figwheel.Main

2020-09-13 Thread Matching Socks
Too fragile.  This reminds me of the notion of "situated programming", 
featured in the talk by Rich Hickey:  you and your programs operate in the 
middle of a bizarre and changing situation.  For Clojure, the Java 
ecosystem is part of that situation.  Even if some jars do not overlap 
today, you will be forced to take a minor update someday that introduces a 
clash.  Or perhaps (quite likely) jars do overlap today, but you will take 
a minor update someday that causes the classpath to emerge from the 
hash-map differently and your program won't work anymore.  The insight of 
the theory of "situated programs" is, not to hit a cliff when a perfectly 
legal quirk arises in the situation.

>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/4005f2c2-d95d-4612-b2e3-b223b731700eo%40googlegroups.com.


Re: DEPRECATED: Libs must be qualified, change cljfmt => cljfmt/cljfmt (~/.clojure/deps.edn)

2020-08-07 Thread Matching Socks
Rich Hickey has pushed using solid domain names before, and I'm super glad 
to see more progress on that front.  But it's unfortunate if the tools 
castigate the victim, not the perpetrator.  Wouldn't Clojars be a better 
point for enforcement?  Has the question been raised with Clojars?  

Alex's advice reminds me of a pioneering ClojureScript React-wrapping 
library whose groupId is a domain that belongs to someone else.  The funny 
thing is that this is the library's *second* squatting.  The first one 
lasted only briefly; folks pointed out the domain was already used for an 
unflattering website.  So then the maintainers picked a domain that no one 
had registered at the time.  Risky!

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/88400d9e-9c68-4098-9321-7cfb89e92be8o%40googlegroups.com.


Re: Cognitect joins Nubank!

2020-07-23 Thread Matching Socks

I think this will *compound interest* in the language!

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/c5906565-819b-4d79-8564-50d9e54e0607n%40googlegroups.com.


Re: Inadequate behavior of agent await?

2020-06-13 Thread Matching Socks
await takes many steps and is not synchronized, so it would be messy to 
guarantee how it relates to other threads.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/b7b707f3-2122-4af6-afbe-c03fbe174fbco%40googlegroups.com.


Re: [ANN] com.walmartlabs/schematic 1.3.0

2020-05-23 Thread Matching Socks
Sierra's Component README illustrates factory functions that take a 
complete static configuration at once, followed up by injections.  But, 
really, it's none of Component's concern how you work a Lifecycle thing 
into shape for Component to assoc the injections and start it.

In Schematic, sc/create-fn takes a single map as a parameter, but I didn't 
see the README stating what's in the map.  It seems to me that Schematic 
would be free to include all static configuration (i.e., everything except 
other Lifecycle things), or to provide an empty map and assoc the static 
elements piecemeal along with other Lifecycle things, or anything in 
between.

The question came to mind because I sometimes wonder where it was intended 
that Components validate their configuration.  Of course, it hinges on how 
the wiring-up is done.  If you code it yourself, you can use the factory 
function (and refrain from assoc), so the factory function can check 
parameters, which is nice because the resulting Exception does not tie up 
your Emacs with 100 gigabytes of Component fallout.  On the other hand, if 
you must code for the general case, you validate stuff only in the start 
method.

What do you recommend?

>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/9522140a-a329-41b8-92ed-5a1eececc6c3%40googlegroups.com.


Re: [ANN] Clojureranker 1.0 for Solr

2020-04-11 Thread Matching Socks


Something is odd about the href of that link, but the Github page 
https://github.com/pegesund/clojureranker describes a wondrous 
disruption-for-the-better - using the Clojure REPL inside a running Solr so 
"There is no long restart, packing cycles" (except "when you require new 
packages in the project file" of course).


-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/6e470428-d2b1-4ed9-837f-9309bc661664%40googlegroups.com.


Re: Conceptual difference between map and class

2020-03-31 Thread Matching Socks
Witty and instructive:
http://wiki.c2.com/?ClosuresAndObjectsAreEquivalent

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/37035a1d-0237-47ad-a2f0-16b56bcb58ab%40googlegroups.com.


Re: WebApp authentication and authorization - up-to-date information?

2020-03-22 Thread Matching Socks
Dmitri Sotnikov's book "Web development with Clojure" includes an example.

Do not be put out by books or primers dated a few years back.  HTTP, 
Servlets, and Clojure have been quite stable.  Likewise the basic facts of 
authentication and authorization, right?  




On Saturday, March 21, 2020 at 3:29:04 PM UTC-4, Bost wrote:
>
> I have difficulties finding up-to-date information, tutorials, articles, 
> blog posts etc. concerning WebApp authentication and authorization.
>
> The most "recent" useful articles I found are from 2015 and 2014:
> https://rundis.github.io/blog/2015/buddy_auth_part2.html
> https://blog.knoldus.com/google-sign-in-using-clojure/
>
> Uhm, my google-fu is getting weak... can anyone help please? Thanks
>
> Bost
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/8d0f2e61-b063-4a4b-b12b-ced7849ce847%40googlegroups.com.


Re: Clojure 1.10 "Illegal Reflective Access Operation"

2020-03-22 Thread Matching Socks
Alan, consider JSoup too, if you can... Enlive offers both options, and, if 
memory serves, JSoup seemed the more capable with HTML5.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/1aef3dba-54e7-4509-adfc-f67686af6915%40googlegroups.com.


Re: How to include ClojureScript into HTML page?

2020-03-22 Thread Matching Socks
Feel free to post this kind of question to https://ask.clojure.org/, where 
things are better organized.

At the risk of not answering your specific question, I'd suggest you put 
aside "Web development with Clojure" for matters of ClojureScript.  (And 
regard with suspicion any template system that obscures "script" 
elements!)  Hop over to either the Quick Start at clojurescript.org, or the 
getting-started guide for Figwheel or Shadow-cljs on their respective 
websites, since those are highly expeditious tools for a rip-snorting 
ClojureScript workflow.  The clojurescript.org guide is minimalist, which 
helps you distinguish "ClojureScript" from "the tool", but you will 
eventually wind up using either Figwheel or Shadow-cljs in any event.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/e98c164c-856d-4256-ad6c-a20dc262fa2f%40googlegroups.com.


Re: Help test the new Clojars server

2020-03-16 Thread Matching Socks
I can tell by the beet-colored theme that beta.clojars.org is a wholesome 
replica.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/32920d7b-df16-471c-99b7-ba179122e678%40googlegroups.com.


Re: A controversial call to bump libraries from 0.x to 1.0

2020-03-14 Thread Matching Socks
(A constructive note) The core.async official API docs are still labeled 
"core.async 0.7.560-SNAPSHOT (in development)".

I followed the link from https://github.com/clojure/core.async .

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/f54c13b1-7332-4ab3-a2bd-d0b6992b96fa%40googlegroups.com.


Re: Emacs-cider

2020-03-13 Thread Matching Socks
How cider-nrepl gets loaded, all depends. The manual has something to say 
about it, at https://docs.cider.mx/cider/basics/up_and_running.html

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/e7696f83-f6d8-43b7-8993-1466e8d87eb4%40googlegroups.com.


A controversial call to bump libraries from 0.x to 1.0

2020-02-18 Thread Matching Socks
Dear August Forum:  Today I noticed a new post on "Inside Clojure" 
https://insideclojure.org/2020/02/18/lib-version/ , which says, after some 
thoughtful justification, "we have lots of libraries in the Clojure 
ecosystem that have been around for many years, are widely used, have 
stable APIs, and yet are 0.x version. It’s silly for that to be (falsely) 
indicating to people not to use them, so I have asked Clojure contrib 
library owners to more actively bump up their library versions."

A 0.x version number is a badge of honor; earned, not bestown.  It is one 
of the things that makes Clojure stand out.  Let's not throw it away.

If 0.x's -- at org.clojure and beyond -- renumbered themselves as 1.x's, it 
would set off years of annoying aftershocks as a massive dependency-update 
churn rippled far and wide.

And still, people who don't like quiet would complain, "Clojure is fine, 
but most of the libraries never got past 1.0."  You can't outrun that mob.  
Stand firm.  If complaints about stasis are going to happen, better they 
happened to 0.x than 1.x.  You can at least defend 0.x on principle.

In short, I hope maintainers will defer the 0.x to 1.x transition until 
they must commit a breaking or major change.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/53c37f03-d28a-45e3-9903-d30d0c6b163a%40googlegroups.com.


Stack Overflow developer survey

2020-02-05 Thread Matching Socks
Today, I noticed an invitation to complete the Stack Overflow developer 
survey.

(Clojure was not on the menu.)

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/f46ba1b5-72db-4a72-be41-6f0d83cd7839%40googlegroups.com.


Re: Enlive: select a comment, drop all subsequent nodes?

2019-12-15 Thread Matching Socks
Indeed "lefts" or "rights" will be the key.  A transformation is just a 
function (open up enlive's html.clj to see how it works), so you can 
sanity-check yourself by providing a "transformation" that prints out the 
matched nodes.  Feel free to regard Enlive's own transformations as mere 
samples.  You could match some node (the comment's parent) and replace its 
contents with 2 divs, one selecting content-before the marker comment and 
the other the content-after.
>
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/9da515ab-d685-4dbb-91cd-ffdfc29ee23b%40googlegroups.com.


Re: Why is `(get-in m ks)` not implemented as `(get-in m ks nil)`?

2019-12-12 Thread Matching Socks
By the way, the ClojureScript version of get-in's 3-arity avoids allocating 
a sentinel. Instead, it uses a predefined sentinel:

(def ^:private lookup-sentinel (js-obj))

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/d14421e7-b1e7-479f-879f-05a6860e0f7a%40googlegroups.com.


Calva, generative testing, and a good day at the keyboard

2019-11-04 Thread Matching Socks
This is just a short, happy dispatch from the provinces.  

Spurred by tweets from Stuart Halloway, I tried out "test.check", by following 
the helpful Guide on clojure.org.!

To leave no stone unturned, and avoid tainting my test.check results with 
Emacs, I also took the opportunity to test-drive VS Code (in Ubuntu) and the 
Calva plugin!

It's great stuff, all of it!  The "Orchard" that Batsov cultivated really 
shines in Calva.  Especially the whatchamacallits that suggest completions.  I 
am super delighted not to trip over them in Emacs, but in Calva I might not 
look for how to turn them off.  Well done.

Calva also features a workmanlike Paredit!  I had been apprehensive about 
checking into a sanitarium after using two different Paredit implementations, 
but now that I have tried it, it's not so bad!

And, propellers to Clojurists Together, which noticed the merits and has helped 
countless folks support some of this work from the sidelines!

Looking forward to more of the same, and better and better,





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


Re: Can't use my macro in fuction definition

2019-10-19 Thread Matching Socks
Macros manipulate program symbols.  Macros fill the role that is filled by 
Perl scripts in the Java world, when they pre-process stuff (a database 
schema, or a gui model, for example) into actual Java code before you 
compile it.  If a task could not be solved by pre-processing the source 
code before the program starts to run, then it is not a task for a macro.  

On the bright side, using Java reflection is less tedious in Clojure than 
it is in Java.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/2c56ec62-9908-40b8-aacc-aecaf157049c%40googlegroups.com.


Re: Can't use my macro in fuction definition

2019-10-19 Thread Matching Socks
The macro is a code generator, with which the compiler computes the actual 
definition of the "test" function.  What's there is x, and the macro does 
not like x.  The REPL definition of JLabel worked because JLabel was the 
literal argument.  See https://clojure.org/reference/macros, which is 
subtle about this point, or the excellent book "Mastering Clojure Macros". 

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/e415eeb6-6cd8-462b-94cb-17ed5a8ddb23%40googlegroups.com.


Re: Code style: how do you order map keys?

2019-09-20 Thread Matching Socks
Clarity is important.  Considering the conundrum of sorting namespace 
aliases, vs using the fully-qualified name as the implicit sort key despite 
the apparent alias; and the burden of shuffling everything after a 
refactoring; any sorted order will sooner or later be "broken", so you 
might as well aim for clarity from the start.  If other participants 
resist, you can proceed in two stages.  First, rename all variables using a 
section of Unicode where nobody knows the collation sequence.  

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/efae8723-7ece-44be-8258-37aecbb121d3%40googlegroups.com.


Re: gen-class/AOT considered harmful (in libraries)???

2019-08-31 Thread Matching Socks

On Saturday, August 31, 2019 at 5:39:18 AM UTC-4, Didier wrote:
>
> with only the -xyx fns in it. And have those instantly delegate to a call 
> to another namespace.
>

The gen-class :impl-ns option is useful here.  It achieves the delegation 
without spreading AOT to the implementing namespace.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/c5da2374-ff83-4378-be6a-45f4354674f1%40googlegroups.com.


Re: Strange behavior with clojure.java.io/copy

2019-08-31 Thread Matching Socks
A bit awkward to clutter a standard library with too much speculative 
forgiveness of other software's potential failure to follow a spec.  Where 
would it end?

Anyway, the best improvement here would help with all InputStream 
consumers, not just io/copy.  

If you suffer from a faulty InputStream that returns zero when it simply 
does not feel like blocking, couldn't you either fix it or wrap it in a 
"TolerateZeroBytesReadByRetryingInputStream" that blocks until it gets 
something other than zero?

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/84da2491-2a3c-4b0c-9406-49f63ed6caf4%40googlegroups.com.


Re: gen-class/AOT considered harmful (in libraries)???

2019-08-22 Thread Matching Socks
You are considering gen-class as an alternative to writing the 
service-provider class in Java and using only methods in Clojure's public 
Java API to connect it with an implementation-in-Clojure?

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/0660b640-cf91-429b-9a40-1695e7955aef%40googlegroups.com.


Re: [ANN] defexception 0.1.0: a library for dynamically defining exception types in Clojure

2019-08-22 Thread Matching Socks

Swell!  This looks like a super duper cure for a perennial speed bump.  And 
impressive that you took it all the way back to Clojure 1.4!  

By the way, is clojure.asm considered internal?  

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/ff064ee7-7f65-4dbe-af7e-c9e68b1dea35%40googlegroups.com.


Re: Clojurists Together wants to fund you to work on your open source Clojure project

2019-08-10 Thread Matching Socks
I am glad Clojurists Together has materialized community support for Calva 
(VSCode) - from two angles at once - top-down to Calva and bottom-up via 
CIDER, which shares its orchard of features.  Nonetheless, the Calva quest 
is quixotic.  The supposedly customizable Integrated Development 
Environment, time and again, has proved a difficult nut to crack.  Maybe 
Together we can do 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/9b2f7de5-9624-441a-8293-3ac933dedbc1%40googlegroups.com.


PSA: A slight tweak to "concat"

2019-07-06 Thread Matching Socks
There's activity on a ticket in Jira to fix a quirk of "concat" that dates 
back to a commit by chouser in 2009!  

It's subtle because the title of CLJ-2523 
 is "lazy-cat can cause 
StackOverflowError with more than 2 arguments", which describes a symptom 
observed downstream.  The ticket's patch fixes concat.

Looking forward to Clojure 11!

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/b1a64295-c81b-4bc4-97ae-bc00ee357273%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: core.async: Unbound channels

2019-07-06 Thread Matching Socks
"Effective" is in the eye of the beholder.  The 1024 limit helps surface 
bugs wherein more than a thousand threads are blocked for lack of a certain 
channel's buffer space.  But the 1024 limit does not pertain if 1 thread 
would like to do thousands of puts for which there is no buffer space.  In 
the latter case, that thread is in a loop that does 1 put at a time, and 
therefore only 1 put, at any given moment, counts against the 1024 limit.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/844b72c4-71a3-43a9-b3bc-41c56922f3b2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] Cognitect Labs' aws-api 0.8.335

2019-07-06 Thread Matching Socks
David, what's wrong with clojure.xml that pushed cognitect-labs/aws-api to 
try another library, and is there a Jira issue for 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/6454c5a5-2a5e-45e8-ae44-8c14d585bd42%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: core.async: Unbound channels

2019-07-04 Thread Matching Socks
Ernesto, you may be interested in the informative response to this 
enhancement request, https://clojure.atlassian.net/browse/ASYNC-23, 
"Support channel buffers of unlimited size".  Anyway, if you do not want to 
think very hard about buffer size, you can specify a size of 1.  It does 
not limit the number of items the producer may put on the channel, but it 
affects how soon (and how often) the producer's puts must wait for a 
consumer.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/f79addd3-794d-4a6a-ba45-550a2b75e389%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Java Interop on steroids?

2019-06-22 Thread Matching Socks
By "generic type information", you mean the X in List ?


On Friday, June 21, 2019 at 12:03:46 AM UTC-4, atdixon wrote:
>
> However -- there are many popular Java frameworks that love to reflect on 
> their annotations and their generic type signatures.
>
> To name a heavyweight: Spring. But also, of late: big data frameworks, 
> many written in Java, love reflecting on generic type signatures. My org is 
> looking at Beam and Flink, for example.
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/8fd67aff-8229-4588-9b2b-c07df8f5f055%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Calling Java from Clojure

2019-06-21 Thread Matching Socks
Instead of deleting class files from a jar, you can use the :impl-ns option 
on gen-class to stop transitive AOT.  (gen-class makes a class file, but 
AOT does not reach the impl-ns.)  I don't remember seeing this in the 
manual, but I don't know why else impl-ns would exist...

On Friday, June 21, 2019 at 12:13:41 AM UTC-4, Didier wrote:
>
> Option #1 and #3 are very much the same, just that Option #3 creates a 
> Java layer on top, instead of having everything coupled to the Clojure Java 
> APIs directly.
>
> When you go with Option #2, you do not have to AOT everything, but AOT is 
> transitive. So as you AOT the gen class, all code it requires and all code 
> they in turn require will also be AOT. You can post-process the AOT when 
> jaring, and only include the gen-class .class files in the Jar and not the 
> dependencies, but that's more work.
>

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


Re: Calling Java from Clojure

2019-06-20 Thread Matching Socks
Depends on what you seek an example of.  The cfj interop example provides 
1-line Clojure implementations of the features the Java program consumes, 
and 1 line is plenty to demonstrate the interop.  On the other hand, those 
1-liners are not an example of significant work you'd much rather do in 
Clojure than Java.  But such examples are legion.  Dump Github upside down 
and you would flood a city with code you would rather have written in 
Clojure.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/fa3b1c70-320d-4ee9-a33e-ca9e3de41fe3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Clojure JIRA migration

2019-05-18 Thread Matching Socks

>
> ... a new path for language users to file tickets without needing an 
> account We are also looking at a new process to obtain a contributor 
> account and gain access to the system for commenting or other work. Stay 
> tuned for more on that.
>

Issue comments are the best help I can offer (as a seasoned language user 
but a non-signatory to the contributor agreement), so I hope "contributor 
account" is a term used loosely!  

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/f58726cb-4b60-4bef-b9b4-af996bf91c77%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Compiler error message misses the target

2019-05-08 Thread Matching Socks
Was that letter d the only error in the file, as it turned out?

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


Re: clojure.data.csv/write-csv isn't thread safe (should it be?)

2019-05-03 Thread Matching Socks
You give credit where none is due!  The awe is genuine.  Using higher-order 
functions to avoid writing a loop is old hat.  But you went further, and 
ran *100 threads* without writing a loop.  I was so amazed and impressed 
that an integer overflowed in my brain stem and vectored me off toward 
Huffman-encoding docstrings.  

-- 
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: clojure.data.csv/write-csv isn't thread safe (should it be?)

2019-05-02 Thread Matching Socks
Wow, that user.clj is impressive.  This is a top-notch application of 
clojure core async!  Nonetheless, if one is going to the trouble of making 
100 threads, it would be clearer and farther-sighted (and not much more 
work) to toss the results into a channel that a single thread drained into 
an output file.  In that sense, a "fix" of the csv writer would not even be 
in our best interest.  Moreover, isn't the default expectation that 
multi-threaded side effects will inevitably produce a mud puddle?  If "this 
is not thread-safe, of course" were added to one side-effecting function's 
docstring, would the interests of fairness demand such a flag on many more 
functions?!  Since most Clojure programs are not AOT-compiled, the extra 
bloat of docstrings would make program startup take longer.  The delay 
could be mitigated somewhat by Huffman-encoding the docstrings.

-- 
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: The magic of Lisps

2019-04-30 Thread Matching Socks
We owe much of Clojure's utility and innovation to a *community* of macro 
writers.  core.match, core.logic, clojure.test, Tellman's Manifold...  You 
are in deep trouble if you "brute-force" your way around what Manifold 
does, by melding the complexity into your application space.  And those 
libraries are not the work of the language's custodian.  They would not 
exist without macros.

Fundamentally, a macro is a code generator.  Contrast macros not just with 
"brute force", but also with the code generators everybody uses with Java:  
@annotation processors, IDE plugins, Perl scripts...  Significant 
complexity arises from these coping mechanisms.  Macros are simpler.

But I would agree that you are not missing much if you happily use Clojure 
without writing your own macros.  Using-more-macros is not a worthy goal.  
Right-tool-for-the-job is a much better goal.

-- 
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] Crux—open source database alpha launch

2019-04-22 Thread Matching Socks
Where do folks discuss Crux?

-- 
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: Add support for seq on Java streams?

2019-04-13 Thread Matching Socks
Another Java innovation (from back in Java 6) that could benefit from 
interop support is varargs.  The Java compiler automatically passes 
arguments with an array, but the Clojure compiler does not.  That's CLJ-440.

But I do not find a Jira ticket (https://dev.clojure.org/jira/) related to 
seq and Stream.

-- 
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: regex in edn?

2019-03-29 Thread Matching Socks
How would you resolve the problem "Rich Hickey" mentioned on the page you 
linked?  "The lack of portability for regexes"...  True, *some* regex 
patterns mean the same thing in the JVM and JS, but in general a regex 
pattern is not a portable value; it may mean something different to each 
regex library.  Worse (or better), suppose you wrote a Java regex into the 
EDN file, and tried to read the EDN in JS, and the regex constructor threw 
an exception?

A slightly more esoteric issue might also arise.  
https://github.com/edn-format/edn says, 

"edn is a system for the conveyance of values. ... there are no reference 
> types, nor should a consumer have an expectation that two equivalent 
> elements in some body of edn will yield distinct object identities when 
> read Thus the resulting values should be considered immutable, and a 
> reader implementation should yield values that ensure this, to the extent 
> possible."  
>

But JS' RegExp is highly mutable, as it blends the features of Java's 
Pattern and Matcher.

In the end, you might as well convey regex patterns as strings in EDN and 
confront the portability question in whatever way suits your purposes.  If 
regexes were added to EDN, either they would not be real platform regexes, 
or it would not really be EDN anymore!

-- 
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: Missing fns: rotate & rotate-while

2019-03-23 Thread Matching Socks
Could it finish off the result in some way other than flatten?  flatten 
would go too far if the input data were a collection of collections.  

Indeed, I would support adding (some form of) rotate to the standard 
library *on the condition that flatten be removed.*  rotate is an 
amusement, but flatten is unexploded ordnance.

-- 
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: No matching field found: length for class byte array

2019-03-18 Thread Matching Socks
That suggestion of a more humane and helpful error message (", use alength 
function for array length") is Jira ticket 1448 
.

Back in 2014, it got closed as "declined".  But that was before the recent 
growth of interest in usable error messages.  The proposed mitigation looks 
like it would hit the nail on the head.  Its only apparent run-time cost 
would be on the error path.  One nit: this patch may be step down a 
slippery slope leading to a more helpful message concerning yet another 
fake field, Class.class.  (Are there any more?)

Seems like a clear-cut, useful case to me.  Alex, could issue 1448 be 
reopened?

-- 
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: Developing Closure in 2019 on Windows 10 or using Windows - WSL/Linux.

2019-03-16 Thread Matching Socks
By the way -- To be sure it's working, I like to do stuff like this.  You 
can really have heaps of fun using Java interop for side effects:

user> (import 'javax.swing.JOptionPane)

user> (JOptionPane/showMessageDialog nil "42 pounds of edible fungus" 
"Shopping Cart" JOptionPane/QUESTION_MESSAGE)



-- 
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: Developing Closure in 2019 on Windows 10 or using Windows - WSL/Linux.

2019-03-16 Thread Matching Socks
Overall, WSL might not help much here.  Last I heard, WSL did not include 
an X Window server to accommodate any GUI.  Therefore, I suppose Intellij 
IDEA would be most useful as a native Windows app.  In addition, Java and 
Leiningen work natively in Windows.  I am glad you got Leiningen in gear, 
that's definitely the way to go.

-- 
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: Closure lang for newbies in 2019

2019-03-09 Thread Matching Socks
Clojure is pretty simple.  It works well.  And nothing in it has ever been 
deprecated.  In short, do not worry about finding a very new resource.  
What kind of project would you like to start out with?

-- 
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] re-graph 0.1.8 - the GraphQL client for Clojurescript

2019-03-05 Thread Matching Socks
It dresses up HTTP failures in the GraphQL error structure so the user has 
to cope with only one failure channel.  Is that what everyone does?  
Anyway, I did not see that spelled out in the Readme.  It looks like a 
useful feature!

By the way, I see it uses cljs-http, which in turn uses clj->js and 
js->clj.  I vaguely remember that those functions can be unreliable (or 
unpredictable) under advanced compilation.  CLJS-2062 
(https://dev.clojure.org/jira/browse/CLJS-2062) has a comprehensive 
explanation in a comment from "Thomas Heller", and also a workaround.  But 
re-graph, by indirectly using js->clj, may be at risk.

-- 
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: Clojure 1.10 "Illegal Reflective Access Operation"

2019-03-02 Thread Matching Socks
Does this need adjusting in clojure.xml too?  The code looks pretty similar:

(defn startparse-sax [s ch]
  (.. SAXParserFactory (newInstance) (newSAXParser) (parse s ch)))

The reflection on "parse" is convenient. There are multiple SaxParser.parse 
methods with unique capabilities. The String method allows you not to know 
how the data is encoded.  To open an InputStream, you have to know the 
encoding.  It's pretty hard to open an XML instance correctly!  And the 
InputSource method allows you to parse from a Reader, e.g., a StringReader.

-- 
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: Disable swagger.ui in production

2019-02-20 Thread Matching Socks
Would it be fair to paraphrase the question as, how to pass a different 
data structure to compojure's api function depending on whether the program 
is running in the development environment or "in production"?  One very 
general technique is to wield the classpath to advantage.  Suppose for 
example that your program's main (i.e., entrypoint) function is in the 
org.draintheaquifer.asbestos namespace.  Instead of putting it under src 
with most of your program, you may put one version in 
dev/org/draintheaquifer/asbestos.clj and another version in 
ops/org/draintheaquifer/asbestos.clj.  Then configure Leiningen, or 
whatever, to include dev and src on the classpath for development (actually 
this may be its default setting) and ops and src in the uberjar.  An easier 
but more lopsided way to achieve a similar effect is to avoid calling your 
uberjar's aot-compiled main-class namespace from development, or in other 
words, let src/org/draintheaquifers/asbestos.clj configure the app for 
production, and instead of asbestos.clj use dev/user.clj to do the 
analogous thing in development.

-- 
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: Silly ns question

2019-02-16 Thread Matching Socks
Haha!  (Can .shared.connection-test be require'd by another ns?)

-- 
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: State of Clojure 2019 Survey!

2019-01-30 Thread Matching Socks
Clojure is to be commended for keeping the survey short. StackOverflow's 
(which is still open) is longer.  

-- 
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: Noob question on the --> macro implementation

2019-01-27 Thread Matching Socks
Gary might be on to something. The immediate context is

(if (seq? form)
  (with-meta `(~(first form) ~@(next form)  ~x) (meta form))
  (list form x))]


where seq?, as distinct from seq, does not check whether there is anything 
in the sequence.

-- 
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 should I debug a poorly performing small web app, using Jetty?

2019-01-20 Thread Matching Socks
(Takes me back to the heyday of SQL, when one thread would start a long 
transaction, which the db would establish as a full-table lock, and nothing 
else could get done until the transaction committed.)

Another thing you could do is decouple the periodic bulk procedure from the 
web app and run them in separate OS processes.  You could more easily turn 
off the bulk procedure, change the way it is triggered, move it to another 
computer so the website could run on a Raspberry Pi, load-balance the 
website among 99 servers, or reimplement the bulk procedure a different way 
and choose between them.

-- 
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: Issue when moving to Clojure 1.10

2019-01-15 Thread Matching Socks
This might have nothing to do with it, but, doesn't :import use parens?

-- 
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 does Executors/newScheduledThreadPool know how or where to parallelize work?

2019-01-02 Thread Matching Socks
You are right, this is not a Clojure question. I suppose your scheduled 
task could put a bunch of tasks on a queue and a thread-pool executor could 
work the queue in multiple threads.

-- 
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: clj deps.edn :git overture rejected by ssh server, citing dss

2018-12-31 Thread Matching Socks
Wow, that is a super write-up on SSH and clj!  

I would contribute 2 tiny tips:

git and jsch were reading ~/.ssh/config and coming to different conclusions 
about the HostKeyAlgorithms.  The HostKeyAlgorithms statement said, 
"HostKeyAlgorithms +...".  In effect, jsch may have ignored the "+", which 
would be a defect, but achieving the correct effect would require jsch to 
know OpenSSH's defaults, which may be out of the question.  In a word, 
using "+" is asking for trouble.  Of course, once "+" is there, you would 
not even consider changing it, lest other things break.  So...

ssh reached the git server OK.  Evidently, ssh was satisfied with 
known_hosts.  In the relevant known_hosts entry, I spotted the name of the 
algorithm ssh used.  I copied that algorithm name onto the 
"HostKeyAlgorithms +..." declaration (it hadn't been there).

Then clj reached the git server.

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


clj deps.edn :git overture rejected by ssh server, citing dss

2018-12-30 Thread Matching Socks
The git command can clone, push, pull, etc.; so I think that the git url 
and the key pair are OK.  

But clj throws an exception when using that git url:

...
Caused by: com.jcraft.jsch.JSchException: Algorithm negotiation fail
at com.jcraft.jsch.Session.receive_kexinit(Session.java:590)


The git server administrator checked the logs and found this clue:

Unable to negotiate with xx.xxx.xx.xxx port 34746: no matching host key 
type found. Their offer: +ssh-dss [preauth]

The server administrator is disinclined to override the supposedly secure 
defaults and enable dss.  To work around this problem, can clj use rsa 
instead of dss?

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

2018-12-07 Thread Matching Socks
Making serialized-require private (but not useless!) is a quiet triumph of 
Clojure's thoughtful perspective on private symbols.

(Another, less enlightened, opinion is on Stack Overflow: 
https://stackoverflow.com/questions/37471253/how-can-i-write-unit-tests-for-private-clojure-functions
 
)

-- 
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: Confusing Regex Behavior

2018-12-04 Thread Matching Socks
See also Java's regex "Comparison to Perl 5" at 
https://docs.oracle.com/javase/9/docs/api/java/util/regex/Pattern.html.  

However, you are in for a treat!  Perl is insanely great.  Clojure is 
simply great.

-- 
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 use defrecord getBasis to look up record instance field values

2018-12-03 Thread Matching Socks
To be clear: In the example, p1 is not an instance of Person. p1 is just a 
map. An actual record has (at least) all of the basis fields. 

user> (map->Person {:name "foo"})
#user.Person{:name "foo", :age nil, :company nil}

user> (dissoc *1 :age)
{:name "foo", :company nil}  ;; not a record anymore!

user> (assoc *2 :igloo 42)
#user.Person{:name "foo", :age nil, :company nil, :igloo 42}

As a rule of thumb, in Clojure one does not rush to records. If maps are 
good enough, one uses maps.

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

2018-11-20 Thread Matching Socks
For those keeping score at home, the CLJ-2436 patch says, 

 (defn- typeref->class
-  [typeref classloader]
+  ^Class [typeref classloader]
   (if (class? typeref)
 typeref
-   (clojure.lang.RT/classForName (typename typeref) false classloader)))
+(clojure.lang.RT/classForName (typename typeref) false classloader)))


I was wondering why the compiler required the type hint.  It reminded me of 
something I had seen in the news recently, regarding ClojureScript.  The 
ClojureScript changes.md lists "CLJS-1997: Outward function type hint 
propagation".  That issue, in turn, has an informative comment (Thanks, 
Mike Fikes!) about *Clojure*:

Bronsa helpfully pointed out in Slack that outward type hint propagation is 
avoided in Clojure because it breaks things like:

(defn foo [] 1)
(defn bar [] (String/valueOf (foo)))
(defn foo [] "foo")
(bar)


-- 
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: [Question] How to properly start up refs in web applications?

2018-11-18 Thread Matching Socks
The ref is a good step, but it seems that accessing it via a global 
variable causes a problem.  

So don't use a global variable.  Pass everything into the Ring handlers via 
the formal parameters.  Compojure-style Ring handlers have only one formal 
parameter, the request map, but you can put anything into it.  In short, 
someone needs to poke the ref into the request map.  In the Ring world, 
functions named "wrap-..." often figure in the creation of the main handler 
precisely to do this sort of thing.  Usually, they put something (like the 
ref) in closure with an anonymous Ring handler that copies it into the 
request map and delegates to downstream handlers. 

By the way, if there is only one value to coordinate (e.g., in a typical 
case, one big map of all knowledge), using a ref is "the hard way" and an 
atom is simpler to deal with.  Same concept, less red tape.  And there can 
usually be just one value to coordinate!  A typical program does not use 
three databases, so why should it need three refs? 

-- 
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] Lancaster 0.6.0 - Avro Schema Creation / Serialization / Deserialization

2018-11-18 Thread Matching Socks
"Faster than JSON" sounds reasonable -- in the JVM -- inasmuch as Avro uses 
a binary data format.  But what about in Javascript?  I ask because the 
motivation for Transit-JSON was an observation that the Javascript 
interpreters' built-in JSON parsers made binary formats uncompetitive.  Has 
the playing field been re-leveled in the 4 years or so since Transit was 
conceived?

-- 
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: What's the end goal for tools.deps?

2018-11-04 Thread Matching Socks
The premise that "Any serious work will need a build tool of some sort" is 
being challenged.

You will check your clj files into Git somewhere and tell people to run 
your program with "clj...".

If you must build something, such as a web-archive for Servlets, then you 
will stick with tools that do that.

Reading between the lines, I see a sidelining of AOT compilation.  

-- 
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: Prototype code for enhanced CIDER code completion for Java methods

2018-10-19 Thread Matching Socks
The cost/benefit is hard to work out.  Look ahead 7 years - we would have 
the ceremonial (jvm... (MyType:baz...)) in some places and the good old 
elegant (.baz ...) in others, and the tooling will work just as well with 
it.  On the other hand, if you routinely do tons of interop with a wide 
variety of classes whose method names are subtly distinct and mostly 40 
letters or more, then (jvm...) will seem like genius!  Nonetheless, I hope 
your work will inspire code completers to go the extra mile, once and for 
all.  In the meantime, you could wrap that dreadful interop with a library 
whose method names are shorter.

-- 
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] com.walmartlabs/cond-let 1.0.0

2018-10-03 Thread Matching Socks
Is this a refinement of Mark Engelberg's "better-cond", or an alternative 
approach?  

I have not used better-cond myself, but it starts here:  
https://dev.clojure.org/jira/browse/CLJ-200. 

-- 
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: Clojure(Script) web apps in 2018

2018-09-20 Thread Matching Socks
Most of the choices are, or can be, wrappers around at least one 
battle-tested server - Jetty, Netty, Tomcat, etc.  If you care, then decide 
that first.  If you don't care, then how about Jetty.  Next: if Jetty, then 
you will wind up in Pedestal sooner or later, so why not start there.  
Pedestal is batteries-included and it has a pretty good tutorial series.

-- 
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] org.clojure/tools.cli 0.4.0

2018-09-13 Thread Matching Socks
Wow, I had not even noticed the cljs half of tools-cli!  Is it useful with 
Node?

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

2018-09-06 Thread Matching Socks
A linter is a good place for a warning that = is used with one apparent 
argument.  Eastwood to the rescue!

src/easter/core.clj:6:3: suspicious-expression: = called with 1 args.  (= x) 
always returns true.  Perhaps there are misplaced parentheses?

Since = (and also < and > ) are handy in conjunction with *apply* to 
compute the consistency of a whole list of things, it's nice that they 
tolerate getting 1 argument.  I suppose that is their degenerate case.

-- 
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-frame - on-click handler doesn't work, and I can't understand why not

2018-08-28 Thread Matching Socks
Did you intend to pass a function-that-returns-a-function instead of just a 
function as the handler? Also, it is a bit odd (maybe it has to do with context 
you have not shown) to use the big-link component function with () as opposed 
to square brackets. 

-- 
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: Calling proxy without reflection

2018-08-02 Thread Matching Socks
And there's less!  It's not necessary to issue the first (defn... or 
(get-test... 
(I tried in Clojure 1.8 only)

-- 
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: OK idea to replace conj and cons with "prepend" and "append" macros that have consistent behavior and return same types as args?

2018-07-20 Thread Matching Socks
To return to OP's question -- 

  Good idea?

Answer:  At first, I saw the standard library as a mud puddle, an inkblot 
with just chaos, no airplane or number 42 in it.  Then I got this book:  
Clojure Programming - Practical Lisp for the Java World - by Chas Emerick, 
Brian Carper, Christophe Grand.  They did a very good job of exposing the 
thematic currents.  Once you see the patterns, it's more fun.  Must read. 

-- 
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: Some Seesaw Questions

2018-07-14 Thread Matching Socks
You might get a more accurate or precise answer from the seesaw-clj group.  
In indirect & partial answer to one-third of your questions:  As I recall, 
in Swing, just about every bit of intense or blocking work (even reading 
files) belongs on a background thread.  You can make and manage the 
background thread or threads in any way you like.  There is a SwingWorker, 
but you're not limited to it.  The key thing is that the background threads 
should not touch Swing, except via SwingUtilities.invokeLater.  As for the 
foreground, Swing won't know which parts to disable, so there is no 
shortcut for that.  Another option is to put up a modal progress dialog, as 
long as people can Cancel it (which, in Java, might be unable to kill the 
background thread, but could at least cut it loose) in case the fuse blows 
and the lights go out right after they press your XSLT button and they do 
not want to spend battery power 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
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: defrecord can't impl some interface methods

2018-07-06 Thread Matching Socks

Wow, that Jira item got mired in a muddle of Various Alternatives!  It 
discusses (1) error messages, (2) documentation, and (3) covariant 
returns!  Jira can be a slow place to resolve a muddle.

By the way:  I suppose each compiler (clj, cljs, ...) is sensitive to a 
distinct set of implicitly-reserved method names?

What should the documentation explain about portability?  Should the list 
of implicitly-reserved method names be documented?

In any case, unless the OP of ticket 1791 cares to reclassify it as a 
documentation enhancement, someone will need to start a new ticket.  Also, 
if someone has a sturdy theory about better error messages, punch in a 
second new ticket.  The two tickets can be complementary, and proceed at 
their own pace.

-- 
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: Topological sort

2018-06-15 Thread Matching Socks

user> (topological-sort {0 [1] 1 [2 3] 2 [3] 3 []})
(3 2 0 1)

!

-- 
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: Validate XSD 1.1

2018-05-30 Thread Matching Socks
(A fun and enlightening discussion is here: 
https://issues.apache.org/jira/browse/XERCESJ-1454 --- about whether to 
post Xerces on Maven Central.)

-- 
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: Clojure on Azul Zing JVM

2018-05-21 Thread Matching Socks
IBM Java likewise has not excited very much conversation here.  Perhaps 
because Java is "write once, run anywhere"!  The various implementations of 
Java have their strong and weak points, but they will run Clojure in any 
case.

-- 
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] packthread 0.1.10

2018-04-04 Thread Matching Socks
Those are also good occasions for the standard-library *as->*

user> (-> 4
  (as-> x (let [n 2]
(+ x n))) 
  inc)
7

-- 
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: Calling functions from within maps

2018-03-20 Thread Matching Socks
Why not provide a short, self-contained example that demonstrates the 
problem?  

And, by the way, are you using paredit or park fee?

-- 
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] clj-memory meter – measure the memory used by arbitrary objects

2018-03-06 Thread Matching Socks


Unrealized lazy sequence...

user=> (def mm (filter even? (range 10)))
#'user/mm
user=> (mm/measure mm)
"160 B"


Realized...

user=> (count mm)
5
user=> (mm/measure mm)
"1.8 MB"


Structural sharing?

user=> (def nn (drop 25000 mm))
#'user/nn
user=> (mm/measure nn)
"1.8 MB"
user=> (mm/measure [mm nn])
"1.8 MB"


Can we free some of that memory?

user=> (def mm nil)
#'user/mm
user=> (mm/measure nn)
"1.8 MB"
user=> (System/gc)
nil
user=> (mm/measure nn)
"1.8 MB"


-- 
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: Why does the `def-` not exist?

2018-03-03 Thread Matching Socks
^:private is the stale and sleazy co-conspirator of another blunt 
instrument, the whole-ns :use.

Besides relegating inner-workings to a separate ns:  You can gracefully 
omit a function from auto-generated docs by putting its description in a 
comment instead of a docstring.  It would, likewise, be within the powers 
of auto-completing editors to disfavor undocumented symbols in other ns.  

-- 
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: `lein run` VS `lein uberjar` behaviour

2018-02-18 Thread Matching Socks
With the luxury of commenting on complex software sight-unseen... best of 
all, JavaFX... and you mention an uberjar, which grants opportunity to vent 
baseless suspicions about class-loading and compilation differences... 
could it be that the MediaPlayer is being instantiated *twice* in the 
uberjar version of the program?  The first instance of the MediaPlayer 
lasts only a few milliseconds (during which it starts playing), then it is 
supplanted by the second instance, whereupon instance No.1 becomes eligible 
for garbage collection.  When someone presses 'M' it's the second 
MediaPlayer that plays.  

-- 
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: macroexpand in uberjar

2018-02-15 Thread Matching Socks
Does the "uberjar" contain .class files for your "m" namespace?

-- 
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: create vector from other vector and indices

2018-02-13 Thread Matching Socks
user> (def v [:a :b :c :d])
#'user/v
user> (mapv v [3 1 2 0])
[:d :b :c :a]



-- 
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] com.walmartlabs/lacinia 0.24.0, com.walmartlabs/lacinia-pedestal 0.6.0

2018-01-30 Thread Matching Socks
Lacinia is well done, and, in combination with Clojure, a terrific 
labor-saving device.  

In fact, Lacinia is so well-conceived that it makes GraphQL itself glow 
with labor-saving virtue.  

GraphQL is anyway splendidly low-impact for in-the-browser clients.  In 
return, the burdens of GraphQL are borne by the server.  Lacinia bears 
them.  The chores left to your Clojure data service are considerably less 
onerous than GraphQL.

Meanwhile, Lacinia seems to have no overbearing opinions.  For example, you 
may analyze the whole breadth and depth of a Lacinia-parsed GraphQL query 
and optimize retrieval from some back-end database.  But you need not.  And 
Lacinia won't even notice the difference.

Lowering the barrier to providing GraphQL services, Lacinia promotes an 
open and interoperable internet.

Five gold stars.  

>

-- 
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: Officially support Vert.x

2018-01-10 Thread Matching Socks
How do the aims of this undertaking compare with Pedestal?

http://pedestal.io/ says, "Pedestal supports Tomcat, Jetty, Immutant (with 
Undertow), Vert.x, ..."


-- 
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: Clojure for beginners

2017-12-06 Thread Matching Socks
Meat and potatoes?  

-- 
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] Dynadoc, dynamic docs for Clojure(Script)

2017-11-28 Thread Matching Socks
Hey, gang!  There is something important here.  Gold!, amidst the nuts and 
bolts.  A humdinger of first-rate philosophical insight is tucked, 
inconspicuously, way toward the end of the linked demo video.  In a word, 
it is a bat-it-out-of-the-park answer to the docstring-improvement 
chatter.  Tastes great *and *less filling!

So, endure the demo.  The deadpan showmanship does not disappoint.  
Materially, there is fun stuff to think about, springing from the first 
four-fifths of the video.  Imagine what clojure.org could do along these 
lines, or what clojuredocs might do.  But don't get sidetracked before you 
reach the big idea.  The fifth fifth.

-- 
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: Unexpected behaviour of transient map

2017-11-25 Thread Matching Socks
A docstring need not be a rope ladder that leads to all truth.  (That would 
be a project for the IDE documentation access improvement brigade.)  But 
the docstring of "assoc!" feints in a direction that makes this a 
frequently-asked question.

-- 
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: Unexpected behaviour of transient map

2017-11-24 Thread Matching Socks
I would go so far as to (light-heartedly) call the "assoc!" docstring 
booby-trapped.

There is an open issue in Jira for it.  Go vote:  
https://dev.clojure.org/jira/browse/CLJ-1385

-- 
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: Any data about just how much loc Clojure shaves off java?

2017-11-20 Thread Matching Socks
To Alex's list -- you may add the contorted use of XSLT for lack of 
data-structure transformation functions!  And all the messing around making 
"safe copies"!  And "thread-safe" wrappers!  And factory-factory 
factories!  And code written just to print out the contents of POJOs!  And 
duplication owing to the inefficiency of factoring out tiny-tiny 
functions!  

-- 
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: calling a clojure function within a quote/(')

2017-11-17 Thread Matching Socks
In the docs: "syntax quote" on https://clojure.org/reference/reader

-- 
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: Doc strings for complex cases?

2017-11-09 Thread Matching Socks
You can also put a docstring in a ns form to give context.

I don't think you need anything done to Clojure itself.  Or more 
specifically, you need not be limited by whatever Clojure has done with 
docstrings.  Nor will you need to modify defn.  You can attach any metadata 
you like, to the vars in your program.  Then your documentation report 
generator can use the metadata you attached.  (You wouldn't generate 
documentation directly from the source code text, of course.)  Since 
metadata is data structures, not just strings, the sky is the limit. 

By the way, there has also been discussion of best or expected use of the 
:arglists metadata.  Sometimes the arities you want to express in 
documentation differ from actual implementation, such as [& xs].  So 
probably you will not want a very rigid correspondence between your 
per-arity docstrings and the arities the compiler is aware of.

-- 
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: Grateful Appreciation

2017-11-01 Thread Matching Socks
Simplicity is a rare pleasure, and so too is a standard library diverging 
only immaterially from the ideal of 1 data structure and 100 functions.  In 
Clojure, it saves a lot of time that would otherwise be spent asking 
questions on Stack Overflow.  Or rather, it frees up a lot of time for 
asking about weirdnesses in Java and Javascript that are crimping one's 
side-effects. 

-- 
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: Got NullpointerException when using loop/recur/let together

2017-10-25 Thread Matching Socks
Also, have another look at 
'(ret (- time-now start-time))

It will yield a list containing the symbol 'ret and a nested list 
containing the symbol '- etc etc etc. 

I think what you expected was a vector of two numbers.

-- 
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 add a java servlet into a clojure ring project

2017-10-11 Thread Matching Socks
war files are zip files, so you can unzip the war and see what's wrong with 
it.  If necessary, build the combined war file another way.  You might be 
able to do that by producing a war file with your web app only (which you 
know works) and then taking it apart with unzip, incorporating the other 
webapp according to its instructions, and zipping it back up again 
(including the MANIFEST stuff as the very first entries).

-- 
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: Is the Learning Guide in Order?

2017-10-11 Thread Matching Socks
There are some books that give a cohesive and well-ordered introduction. 
 If you can still find a copy of "Clojure Programming", by Emerick, Carper, 
and Grand, that's the one that I found most thoroughly helpful with the 
standard library.  Also, it has a pretty good index and I made frequent 
reference back to it for a while.  After "a while", of course, you get the 
picture and fling all books aside (until the next one comes out).  

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


  1   2   3   >