Re: [ANN] Clojure 1.10.0-RC1 (please test!)

2018-10-11 Thread Bozhidar Batsov
You might want to add to the datafy ns and function that they were
introduced in 1.10. I noticed they didn't have the :added metadata that
most Clojure core stuff has (it's very handy in IDEs/starter editors).

On Thu, 11 Oct 2018 at 18:11, Alex Miller  wrote:

> 1.10.0-RC1 is now available. You can try it with clj using:
>
>   clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version
> "1.10.0-RC1"}}}'
>
> 1.10.0-RC1 is the same code as beta2 (only change are some changelog
> fixes).
> You can read the full 1.10 changelog here:
> https://github.com/clojure/clojure/blob/master/changes.md
>
> *Note: This is a release candidate! Please try this release candidate with
> your project and provide feedback (both whether it works as expected and
> any issues).* If there are issues we will assess, otherwise we intend to
> move towards a final release of 1.10.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


RE: [ANN] Clojure 1.10.0-RC1 (please test!)

2018-10-11 Thread Sean Corfield
RC1 seems to be doing just fine in dev/test for us (83K lines of code, 
including tests). We have Beta 1 in production on one server and Alpha 8 on the 
other four servers. No problems with any of that so far. I expect to have RC1 
on all our servers next week.

And we’re happily taking advantage of ex-message now in our code 

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

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


From: clojure@googlegroups.com  on behalf of Alex 
Miller 
Sent: Thursday, October 11, 2018 8:11:45 AM
To: Clojure
Subject: [ANN] Clojure 1.10.0-RC1 (please test!)

1.10.0-RC1 is now available. You can try it with clj using:

  clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-RC1"}}}'

1.10.0-RC1 is the same code as beta2 (only change are some changelog fixes).

You can read the full 1.10 changelog here: 
https://github.com/clojure/clojure/blob/master/changes.md

Note: This is a release candidate! Please try this release candidate with your 
project and provide feedback (both whether it works as expected and any 
issues). If there are issues we will assess, otherwise we intend to move 
towards a final release of 1.10.



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

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


Re: [ANN] Clojure 1.10.0-RC1 (please test!)

2018-10-11 Thread Andy Fingerhut
I ran the latest version of Eastwood on the Clojure code itself, and didn't
find any surprising/new warnings.  There are a fair number of reflection
warnings in what I would consider non-performance-critical functions (e.g.
clojure.java.browse/open-url-in-browser, and code for handling/printing
exceptions) that are not new.  There are also what I think have always been
reflection warnings for things like aget/aset that I don't recall digging
into before -- Clojure code for that stuff hasn't changed in quite a while,
so I can't see that is anything new.

I made some preliminary updates to the Clojure cheatsheet in preparation
for the 1.10 release, and noticed that the new Var clojure.main/ex-str does
not have any :added "1.10" metadata for it, but many other Vars in
clojure.main also do not, so perhaps that is intentional.

I will try a full run of Eastwood on a set of 80+ open source projects with
Clojure 1.9.0 and 1.10.0-RC1 soon-ish, and see if anything surprising comes
out of that.  I've done it with 1.10.0-beta1 and didn't see any issues, and
don't expect any problems.

Andy


On Thu, Oct 11, 2018 at 5:22 PM Matthew Phillips  wrote:

> Hi Alex, have just finished testing on an 18 KLOC Clojure backend service
> (Java 8, Linux). Test suites and deployed service runs fine.
>
> Let me add my thanks for your hard work!
>
> Cheers,
>
> Matthew.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


Prototype code for enhanced CIDER code completion for Java methods

2018-10-11 Thread 'somewhat-functional-programmer' via Clojure
I'd like to share an idea and prototype code for better Java code completion in 
CIDER.  While my main development environment is CIDER, the small modifications 
I made to support this idea were both to cider-nrepl and compliment -- which 
are both used by other Clojure tooling besides CIDER -- so maybe this is 
immediately more widely applicable.

In an effort to make it easier on the tooling, I'm using a slightly different 
syntax for calling Java methods.  My inspiration is Kawa scheme, and the 
notation is very similar:

(String:charAt "my-string" 0) => \m
(Integer:parseInt "12") => 12
(possibly.fully.qualified.YourClassName:method this args)

For this syntax to be properly compiled of course it needs to be wrapped in a 
macro:

One form:
(jvm (String:charAt "my-string" 0))

Any number of forms:
(jvm
  (lots of code)
  (JavaClass:method ...)
  (more code)
  (AnotherJavaClass:method ...))

The jvm macro will transform any symbol it finds in the calling position of a 
list that follows the ClassName:method convention.  I was thinking maybe of 
limiting it to just a particular namespace to absolutely prevent any name 
collisions with real clojure functions, something like:

(jvm/String:charAt "my-string" 0)

This will also work with the one-off test code I'm including here for folks to 
see what they think.

I actually like the syntax (though I wish I didn't have to wrap it in a jvm 
macro -- though if this actually idea was worth fully implementing, I'd imagine 
having new let or function macros so you don't even have to sprinkle "jvm" 
macros in code much at all).

There is one additional advantages to this style of Java interop besides the 
far better code completion:
  - The jvm macro uses reflection to find the appropriate method at compile 
time, and as such, you get a compile error if the method cannot be found.
- This is a downside if you *want* reflection, but this of course doesn't 
preclude using the normal (.method obj args) notation.

You could even use this style for syntactic sugar for Java method handles:
  - Though not implemented in my toy code here, you could also pass 
String:charAt as a clojure function -- assuming there were no overloads of the 
same arity.

So, I'm hoping you will try this out.  Two things to copy/paste -- one is a 
boot command, the other is the 100-200 lines of clojure that implements a 
prototype of this.

This command pulls the necessary dependencies as well as starts up the 
rebel-readline repl (which is fantastic tool, and it also uses compliment for 
code completion):

# Run this somewhere where you can make an empty source directory,
# something fails in boot-tools-deps if you don't have one
#   (much appreciate boot-tools-deps -- as cider-nrepl really needs to
#be a git dep  for my purpose here since it's run through mranderson for 
its normal distro)
mkdir src && \
boot -d seancorfield/boot-tools-deps:0.4.6 \
 -d compliment:0.3.6 -d cider/orchard:0.3.1 \
 -d com.rpl/specter:1.1.1 -d com.taoensso/timbre:4.10.0 \
 -d com.bhauman/rebel-readline:0.1.4 \
 -d nrepl/nrepl:0.4.5 \
 deps --config-data \
 '{:deps {cider/cider-nrepl {:git/url 
"https://github.com/clojure-emacs/cider-nrepl.git; :sha 
"b2c0b920d762fdac2f8210805df2055af63f2eb1"}}}' \
 call -f rebel-readline.main/-main

Paste the following code into the repl:

(require 'cider.nrepl.middleware.info)

(ns java-interop.core
  (:require
   [taoensso.timbre :as timbre
:refer [log  trace  debug  info  warn  error  fatal  report
logf tracef debugf infof warnf errorf fatalf reportf
spy get-env]]
   [clojure.reflect :as reflect]
   [clojure.string :as s :refer [includes?]]
   [com.rpl.specter :as sp]
   [orchard.java :as java]))

(defn specific-class-member? [prefix]
  ;; NOTE: get a proper java class identifier here
  (when-let [prefix (if (symbol? prefix)
  (name prefix)
  prefix)]
(and
 (not (.startsWith prefix ":"))
 (not (includes? prefix "::"))
 (includes? prefix ":"

(def select-j-path
  (sp/recursive-path
   [] p
   (sp/cond-path
#(and (seq? %) (specific-class-member? (first %)))
[(sp/continue-then-stay sp/ALL-WITH-META p)]
map? (sp/multi-path
  [sp/MAP-KEYS p]
  [sp/MAP-VALS p])
vector? [sp/ALL-WITH-META p]
seq? [sp/ALL-WITH-META p])))

(defmacro j [[s & [obj & args]]]
  ;; FIXME: Add better error checking later
  ;; FIXME: Java fields can have the same name as a method
  (let [[clazz-str method-or-field & too-many-semis] (.split (name s) ":")
method-or-field-sym (symbol method-or-field)
clazz-sym (symbol clazz-str)]
(if-let [{:keys [flags return-type]} (first
  (filter
   #(= (:name %) method-or-field-sym)
   (:members
(reflect/reflect
  

Re: [ANN] Clojure 1.10.0-RC1 (please test!)

2018-10-11 Thread Matthew Phillips
Hi Alex, have just finished testing on an 18 KLOC Clojure backend service 
(Java 8, Linux). Test suites and deployed service runs fine.

Let me add my thanks for your hard work!

Cheers,

Matthew.

-- 
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-RC1 (please test!)

2018-10-11 Thread Daniel
Congrats!

Small suggestion.  Under dependency updates it would be helpful to see the 
previous version eg

"spec.alpha dependency to 0.2.176" -> "spec.alpha dependency from X.X.XXX 
to 0.2.176"


On Thursday, October 11, 2018 at 10:11:45 AM UTC-5, Alex Miller wrote:
>
> 1.10.0-RC1 is now available. You can try it with clj using:
>
>   clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version 
> "1.10.0-RC1"}}}'
>
> 1.10.0-RC1 is the same code as beta2 (only change are some changelog 
> fixes). 
> You can read the full 1.10 changelog here: 
> https://github.com/clojure/clojure/blob/master/changes.md
>
> *Note: This is a release candidate! Please try this release candidate with 
> your project and provide feedback (both whether it works as expected and 
> any issues).* If there are issues we will assess, otherwise we intend to 
> move towards a final release of 1.10. 
>
>
>

-- 
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-RC1 (please test!)

2018-10-11 Thread Marc O'Morain
Yeah, nice work on getting to a RC Alex 
On Thu, 11 Oct 2018 at 16:32, Alex Miller  wrote:
>
> Thanks, good to hear.
>
> On Thursday, October 11, 2018 at 10:29:22 AM UTC-5, Rick Moynihan wrote:
>>
>> Hi  Alex,
>>
>> I've tried updating 4 of our projects to 1.10.0-RC1 and running their test 
>> suites etc and have uncovered no issues so far.
>>
>> Many, many thanks to everyone for their hardwork!
>>
>> R.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

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


Re: [ANN] Clojure 1.10.0-RC1 (please test!)

2018-10-11 Thread Alex Miller
Thanks, good to hear.

On Thursday, October 11, 2018 at 10:29:22 AM UTC-5, Rick Moynihan wrote:
>
> Hi  Alex, 
>
> I've tried updating 4 of our projects to 1.10.0-RC1 and running their test 
> suites etc and have uncovered no issues so far.
>
> Many, many thanks to everyone for their hardwork!
>
> R.
>

-- 
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-RC1 (please test!)

2018-10-11 Thread Rick Moynihan
Hi  Alex,

I've tried updating 4 of our projects to 1.10.0-RC1 and running their test
suites etc and have uncovered no issues so far.

Many, many thanks to everyone for their hardwork!

R.

On Thu, 11 Oct 2018 at 16:11, Alex Miller  wrote:

> 1.10.0-RC1 is now available. You can try it with clj using:
>
>   clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version
> "1.10.0-RC1"}}}'
>
> 1.10.0-RC1 is the same code as beta2 (only change are some changelog
> fixes).
> You can read the full 1.10 changelog here:
> https://github.com/clojure/clojure/blob/master/changes.md
>
> *Note: This is a release candidate! Please try this release candidate with
> your project and provide feedback (both whether it works as expected and
> any issues).* If there are issues we will assess, otherwise we intend to
> move towards a final release of 1.10.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

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


[ANN] Clojure 1.10.0-RC1 (please test!)

2018-10-11 Thread Alex Miller
1.10.0-RC1 is now available. You can try it with clj using:

  clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-RC1"}}}'

1.10.0-RC1 is the same code as beta2 (only change are some changelog 
fixes). 
You can read the full 1.10 changelog here: 
https://github.com/clojure/clojure/blob/master/changes.md

*Note: This is a release candidate! Please try this release candidate with 
your project and provide feedback (both whether it works as expected and 
any issues).* If there are issues we will assess, otherwise we intend to 
move towards a final release of 1.10. 


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


[JOB] Senior engineer | Board Intelligence (London, UK / Remote)

2018-10-11 Thread Patrik Sundberg
Hello!

Board Intelligence (BI) is looking for talented people to join our team. We 
are searching for smart and talented senior engineers to help architect and 
build systems powering boardroom conversations at companies like Easy Jet, 
Aviva, Britting Gas, BT and Royal Mail.

Clojure is our language of choice for internal infrastructure and tooling, 
and we are progressively leveraging Clojure also for our client facing 
services. Hence we are searching for smart developers to help us continue 
down this path.

We hope that for the right person this will be a great opportunity to take 
on an important role in an interesting company, while working with Clojure 
commercially.

Ideally we would like someone that is able to spend time in our London 
offices, but for the right person exceptions could be made.

Anyone interested can get in touch with me directly at: 
patrik.sundb...@boardintelligence.com

https://www.boardintelligence.com/

WHAT WE'RE LOOKING FOR
* Someone who is smart and cares deeply about his/her craft
* Someone we can learn from
* A good communicator

ABOUT US
* BI seeks to help improve the effectiveness of boards across corporate and 
public sectors
* BI powers boardroom conversations for the likes of Easy Jet, Aviva, 
British Gas, BT and Royal Mail
* Our focus on technology for the board room grew out of our existing 
consulting business 5 years ago and is now the core of what we do
* We have grown organically to the current size of ~50 people (tech team of 
12)
* The company is owner managed and in control of its own destiny

ABOUT YOU
* You are a strong developer who delivers solid finished work
* You are aware of your own limitations and when to seek out wider 
collaboration
* You have your own strong opinions but retain an open mind
* You enjoy learning new things and picking things up quickly
* You take initiative and are comfortable working without much direction

OUR TECHNOLOGIES
* Languages: Ruby, Clojure, JavaScript, Go
* Data: Postgres, Kafka, OpenStack Swift
* Orchestration: Kubernetes + internal tooling

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