[ANN] Clojure 1.10.0-beta1

683 views
Skip to first unread message

Alex Miller

unread,
Oct 6, 2018, 12:09:25 AM10/6/18
to Clojure

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

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


1.10.0-beta1 includes the following changes since 1.10.0-alpha9:

  • Revert change for CLJ-1550 - Classes generated by deftype and defrecord don’t play nice with .getPackage
  • Revert change for CLJ-1435 - 'numerator and 'denominator fail to handle integral values (i.e. N/1)
  • Add changelog since 1.9
  • Mark prepl as alpha

Alex Miller

unread,
Oct 6, 2018, 12:21:20 AM10/6/18
to Clojure
Now is a great time to try 1.10.0-beta1 and let us know if you find any major bugs or performance issues. 

I also meant to mention that all changes in Clojure 1.10 are now collected in the changelog:


At this point, we consider 1.10 to be feature complete and only plan to address critical bug fixes so we can move expeditiously towards a final release.

Alan Thompson

unread,
Oct 6, 2018, 12:56:52 AM10/6/18
to clojure
Looks good to me, tested on both prod and open source code.
Alan

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

Sean Corfield

unread,
Oct 6, 2018, 1:16:50 AM10/6/18
to clo...@googlegroups.com

Thank you! We’re already on Alpha 8 in production, and we upgraded to Alpha 9 in dev today. We’ll get Beta 1 onto dev and into QA on Monday and I expect we’ll take it to production early next week.

 

Will there be more detail about prepl in a blog post or similar?

 

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: clo...@googlegroups.com <clo...@googlegroups.com> on behalf of Alex Miller <al...@puredanger.com>
Sent: Friday, October 5, 2018 9:21:20 PM
To: Clojure
Subject: Re: [ANN] Clojure 1.10.0-beta1
 

Mike

unread,
Oct 6, 2018, 4:53:30 AM10/6/18
to Clojure
Cool! Will there be more guides how to use tap and prepl ?
Is there any plans to release  clj for windows?

Mike.

суббота, 6 октября 2018 г., 7:56:52 UTC+3 пользователь Alan Thompson написал:

Alex Miller

unread,
Oct 6, 2018, 8:17:11 AM10/6/18
to clo...@googlegroups.com

> On Oct 6, 2018, at 3:53 AM, Mike <145...@gmail.com> wrote:
>
> Cool! Will there be more guides how to use tap and prepl ?

I’m not sure a guide is needed for tap - the functions are pretty simple? I’ll think about it.

prepl is designed for tool makers so is probably a limited audience and not really a good target for a guide. The docstrings have a lot more detail and may lead to some updated reference material.

> Is there any plans to release clj for windows?

Yes, but I can’t give you a timeframe. Significant work has been done.

Alex Miller

unread,
Oct 6, 2018, 8:19:07 AM10/6/18
to clo...@googlegroups.com
Thanks for testing!

Yehonathan Sharvit

unread,
Oct 9, 2018, 1:41:23 AM10/9/18
to Clojure
This is very appreciated that it is now easy (and not only simple :) ) to test new Clojure versions with Clojure CLI: 


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



Colin Fleming

unread,
Oct 9, 2018, 10:32:38 AM10/9/18
to clo...@googlegroups.com
I’m not sure a guide is needed for tap - the functions are pretty simple?

Personally, I understand the mechanics, but I have no idea how they're intended to be used. I'd love to see some examples of what they're designed to do.

Bozhidar Batsov

unread,
Oct 10, 2018, 9:29:08 AM10/10/18
to clo...@googlegroups.com
Same here. 

Alex Miller

unread,
Oct 10, 2018, 9:52:32 AM10/10/18
to Clojure
In a situation where you want to understand values flowing through some point in your system, you might use println or logging to understand what is flowing. 

What are the problems with println/logging?

- both: about strings, not values
- both: hard-wires the putting of the value to where the value goes (log f/ws have some flexibility there)
- logging: requires you to add logging crap to your requires and deps
- println: hard-wires where things go to a stream that's difficult to rebind in a global way

tap is a means to convey values (not strings) via a queue (see: Language of the System) where you can dynamically choose to attach and detach handler(s) to tell it to put values wherever you want (a log, a metric, println) - but those are decoupled from where you convey the values. tap> is in core so it's as easy to add to your code as println.


On Wednesday, October 10, 2018 at 8:29:08 AM UTC-5, Bozhidar Batsov wrote:
Same here. 

On Tue, 9 Oct 2018 at 17:32, Colin Fleming <colin.ma...@gmail.com> wrote:
I’m not sure a guide is needed for tap - the functions are pretty simple?

Personally, I understand the mechanics, but I have no idea how they're intended to be used. I'd love to see some examples of what they're designed to do.

On Sat, 6 Oct 2018 at 12:17, Alex Miller <al...@puredanger.com> wrote:

> On Oct 6, 2018, at 3:53 AM, Mike <145...@gmail.com> wrote:
>
> Cool! Will there be more guides how to use tap and prepl ?

I’m not sure a guide is needed for tap - the functions are pretty simple? I’ll think about it.

prepl is designed for tool makers so is probably a limited audience and not really a good target for a guide. The docstrings have a lot more detail and may lead to some updated reference material.

> Is there any plans to release  clj for windows?

Yes, but I can’t give you a timeframe. Significant work has been done.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

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+unsubscribe@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 clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

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+unsubscribe@googlegroups.com.

Josh Tilles

unread,
Oct 10, 2018, 10:23:12 AM10/10/18
to Clojure
I recently stumbled across this little example by Ghadi Shayban that helped both prepl and tap click for me:

$ clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-beta2"}}}'
Clojure 1.10.0-beta2
user=> ;; launch a nested PREPL that steals this REPL’s *in* / *out* streams
user=> (clojure.core.server/io-prepl)
:bar
{:tag :ret, :val ":bar", :ns "user", :ms 0, :form ":bar"}
(defn my-broken-function [x]
  (tap> x)
  (prn "some output")
  (tap> x)
  :bar)
{:tag :ret, :val "#'user/my-broken-function", :ns "user", :ms 223, :form "(defn my-broken-function [x]\n  (tap> x)\n  (prn \"some output\")\n  (tap> x)\n  :bar)"}

(my-broken-function 24)
{:tag :out, :val "\"some output\"\n"}
{:tag :ret, :val ":bar", :ns "user", :ms 2, :form "(my-broken-function 24)"}
{:tag :tap, :val "24"}
{:tag :tap, :val "24"}

:repl/quit
nil
user=> ^D
Reply all
Reply to author
Forward
0 new messages