Discussion:
[ANN] Clojure 1.10.0-beta8
Alex Miller
2018-11-21 15:17:26 UTC
Permalink
1.10.0-beta8 is now available.

You can try it with clj using:

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

Changes in 1.10.0-beta8:

- CLJ-2438 <https://dev.clojure.org/jira/browse/CLJ-2438> - demunge
source location in execution error messages
- CLJ-2437 <https://dev.clojure.org/jira/browse/CLJ-2437> - add
async-require and use it from requiring-resolve
- CLJ-2436 <https://dev.clojure.org/jira/browse/CLJ-2436> - fix
reflection warning in reflect.java

You can read the full 1.10 changelog here:
https://github.com/clojure/clojure/blob/master/changes.md
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Alexander Yakushev
2018-11-21 17:29:38 UTC
Permalink
Could I suggest bikeshedding on the name async-require? Before I've seen
the patch, my initial impression was that it loads namespaces
asynchronously (that is, returns control immediately and loads them in the
background). It might be somewhat confusing that a function async-require
is actually even more synchronous than the regular require :). How about synchronized-require
(it's basically word-to-word description of the function body)?

Otherwise, thanks for this one, I needed something like this plenty of
times!
Post by Alex Miller
1.10.0-beta8 is now available.
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-beta8"}}}'
- CLJ-2438 <https://dev.clojure.org/jira/browse/CLJ-2438> - demunge
source location in execution error messages
- CLJ-2437 <https://dev.clojure.org/jira/browse/CLJ-2437> - add
async-require and use it from requiring-resolve
- CLJ-2436 <https://dev.clojure.org/jira/browse/CLJ-2436> - fix
reflection warning in reflect.java
https://github.com/clojure/clojure/blob/master/changes.md
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Alex Miller
2018-11-21 17:54:28 UTC
Permalink
We’re good with the name. The docstring exists for further explanation.
Could I suggest bikeshedding on the name async-require? Before I've seen the patch, my initial impression was that it loads namespaces asynchronously (that is, returns control immediately and loads them in the background). It might be somewhat confusing that a function async-require is actually even more synchronous than the regular require :). How about synchronized-require (it's basically word-to-word description of the function body)?
Otherwise, thanks for this one, I needed something like this plenty of times!
Post by Alex Miller
1.10.0-beta8 is now available.
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-beta8"}}}'
CLJ-2438 - demunge source location in execution error messages
CLJ-2437 - add async-require and use it from requiring-resolve
CLJ-2436 - fix reflection warning in reflect.java
You can read the full 1.10 changelog here: https://github.com/clojure/clojure/blob/master/changes.md
--
You received this message because you are subscribed to the Google Groups "Clojure" group.
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 a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/2GQQpxNcDlM/unsubscribe.
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 ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Sean Corfield
2018-11-21 18:09:11 UTC
Permalink
This makes me smile
 My first reaction to the name was the same as Alexander’s and then my second reaction cut in: “No, they’ll have thought about the name and won’t entertain changes” 😊

It’s for safely doing requires in asynchronous (multi-threaded) 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: ***@googlegroups.com <***@googlegroups.com> on behalf of Alex Miller <***@puredanger.com>
Sent: Wednesday, November 21, 2018 9:54:28 AM
To: ***@googlegroups.com
Subject: Re: [ANN] Clojure 1.10.0-beta8

We’re good with the name. The docstring exists for further explanation.

On Nov 21, 2018, at 11:29 AM, Alexander Yakushev <***@bytopia.org<mailto:***@bytopia.org>> wrote:

Could I suggest bikeshedding on the name async-require? Before I've seen the patch, my initial impression was that it loads namespaces asynchronously (that is, returns control immediately and loads them in the background). It might be somewhat confusing that a function async-require is actually even more synchronous than the regular require :). How about synchronized-require (it's basically word-to-word description of the function body)?

Otherwise, thanks for this one, I needed something like this plenty of times!

On Wednesday, November 21, 2018 at 5:17:26 PM UTC+2, Alex Miller wrote:
1.10.0-beta8 is now available.

You can try it with clj using:

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

Changes in 1.10.0-beta8:

* CLJ-2438<https://dev.clojure.org/jira/browse/CLJ-2438> - demunge source location in execution error messages
* CLJ-2437<https://dev.clojure.org/jira/browse/CLJ-2437> - add async-require and use it from requiring-resolve
* CLJ-2436<https://dev.clojure.org/jira/browse/CLJ-2436> - fix reflection warning in reflect.java

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

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@googlegroups.com<mailto:***@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+***@googlegroups.com<mailto:clojure+***@googlegroups.com>
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/2GQQpxNcDlM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+***@googlegroups.com<mailto:clojure+***@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 ***@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+***@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+***@googlegroups.com<mailto:clojure+***@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 ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Chris Nuernberger
2018-11-21 18:33:52 UTC
Permalink
Agreed, specifically to avoid things like this:
https://github.com/tech-ascent/tech.compute/blob/master/src/tech/compute/cpu/tensor_math.clj#L45

Great timing and we will be looking forward to it!
Post by Sean Corfield
This makes me smile
 My first reaction to the name was the same as
Alexander’s and then my second reaction cut in: “No, they’ll have thought
about the name and won’t entertain changes” 😊
It’s for safely doing requires in asynchronous (multi-threaded) 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
------------------------------
*Sent:* Wednesday, November 21, 2018 9:54:28 AM
*Subject:* Re: [ANN] Clojure 1.10.0-beta8
We’re good with the name. The docstring exists for further explanation.
Could I suggest bikeshedding on the name async-require? Before I've seen
the patch, my initial impression was that it loads namespaces
asynchronously (that is, returns control immediately and loads them in the
background). It might be somewhat confusing that a function async-require
is actually even more synchronous than the regular require :). How about synchronized-require
(it's basically word-to-word description of the function body)?
Otherwise, thanks for this one, I needed something like this plenty of times!
Post by Alex Miller
1.10.0-beta8 is now available.
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-beta8"}}}'
- CLJ-2438 <https://dev.clojure.org/jira/browse/CLJ-2438> - demunge
source location in execution error messages
- CLJ-2437 <https://dev.clojure.org/jira/browse/CLJ-2437> - add
async-require and use it from requiring-resolve
- CLJ-2436 <https://dev.clojure.org/jira/browse/CLJ-2436> - fix
reflection warning in reflect.java
https://github.com/clojure/clojure/blob/master/changes.md
--
You received this message because you are subscribed to the Google Groups "Clojure" group.
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 a topic in the
Google Groups "Clojure" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/clojure/2GQQpxNcDlM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Clojure" group.
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
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 ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Timothy Baldridge
2018-11-21 19:25:17 UTC
Permalink
Post by Chris Nuernberger
Post by Alex Miller
We’re good with the name. The docstring exists for further explanation.
Except the code is less-readable. The name is meaningless. "async-require"
appends the adverb "async" to the verb "require", therefore making it an
asynchronous variant of require, which is exactly the opposite of what the
function actually does. So it might as well be named `foo-require`.
Actually `foo-require` is better, since I don't know what `foo` means and
I'd look up the docstring to find out. With `async-requrie` I now have more
cognitive load having to remember what Clojure's special definition of
`async` is in this context. All these crazy edge-cases in the naming of the
language really start to add up after awhile, and it takes mental space
away that I could be using to focus on the problem I'm trying to solve.

It blows my mind that the Clojure team even cares enough to say no to this,
why does it matter this much that it can't change. This conversation
reinforces the view that Clojure is close-source development. Once the
community hears about a feature, it's written in stone. Apparently all
required input has already been thought of and anything the community says
couldn't possibly matter.
Post by Chris Nuernberger
https://github.com/tech-ascent/tech.compute/blob/master/src/tech/compute/cpu/tensor_math.clj#L45
Great timing and we will be looking forward to it!
Post by Alex Miller
This makes me smile
 My first reaction to the name was the same as
Alexander’s and then my second reaction cut in: “No, they’ll have thought
about the name and won’t entertain changes” 😊
It’s for safely doing requires in asynchronous (multi-threaded) 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
------------------------------
*Sent:* Wednesday, November 21, 2018 9:54:28 AM
*Subject:* Re: [ANN] Clojure 1.10.0-beta8
We’re good with the name. The docstring exists for further explanation.
Could I suggest bikeshedding on the name async-require? Before I've seen
the patch, my initial impression was that it loads namespaces
asynchronously (that is, returns control immediately and loads them in the
background). It might be somewhat confusing that a function async-require
is actually even more synchronous than the regular require :). How about synchronized-require
(it's basically word-to-word description of the function body)?
Otherwise, thanks for this one, I needed something like this plenty of times!
Post by Alex Miller
1.10.0-beta8 is now available.
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-beta8"}}}'
- CLJ-2438 <https://dev.clojure.org/jira/browse/CLJ-2438> - demunge
source location in execution error messages
- CLJ-2437 <https://dev.clojure.org/jira/browse/CLJ-2437> - add
async-require and use it from requiring-resolve
- CLJ-2436 <https://dev.clojure.org/jira/browse/CLJ-2436> - fix
reflection warning in reflect.java
https://github.com/clojure/clojure/blob/master/changes.md
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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 a topic in the
Google Groups "Clojure" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/clojure/2GQQpxNcDlM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Andy Fingerhut
2018-11-21 19:39:52 UTC
Permalink
I suspect Alex and other folks have already done all of the bikeshedding
internally that they have the patience for, and are content with the name
and the reasons they ahve for it, and are not enthusiastic about another
round of that in a public forum.

Rich owns Clojure code legally, and I would say ethically as well (given
his time investment vs. that of others in it, and his original authorship
of most of the code, and that everyone who contributed code agreed in
advance to give him co-ownership). Project maintainers get to craft the
rules by which changes are made, for any project. Some choose to turn it
over to a committee, others do not.

Andy
Post by Alex Miller
Post by Chris Nuernberger
Post by Alex Miller
We’re good with the name. The docstring exists for further
explanation.
Except the code is less-readable. The name is meaningless. "async-require"
appends the adverb "async" to the verb "require", therefore making it an
asynchronous variant of require, which is exactly the opposite of what the
function actually does. So it might as well be named `foo-require`.
Actually `foo-require` is better, since I don't know what `foo` means and
I'd look up the docstring to find out. With `async-requrie` I now have more
cognitive load having to remember what Clojure's special definition of
`async` is in this context. All these crazy edge-cases in the naming of the
language really start to add up after awhile, and it takes mental space
away that I could be using to focus on the problem I'm trying to solve.
It blows my mind that the Clojure team even cares enough to say no to
this, why does it matter this much that it can't change. This conversation
reinforces the view that Clojure is close-source development. Once the
community hears about a feature, it's written in stone. Apparently all
required input has already been thought of and anything the community says
couldn't possibly matter.
Post by Chris Nuernberger
https://github.com/tech-ascent/tech.compute/blob/master/src/tech/compute/cpu/tensor_math.clj#L45
Great timing and we will be looking forward to it!
Post by Alex Miller
This makes me smile
 My first reaction to the name was the same as
Alexander’s and then my second reaction cut in: “No, they’ll have thought
about the name and won’t entertain changes” 😊
It’s for safely doing requires in asynchronous (multi-threaded) 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
------------------------------
*Sent:* Wednesday, November 21, 2018 9:54:28 AM
*Subject:* Re: [ANN] Clojure 1.10.0-beta8
We’re good with the name. The docstring exists for further explanation.
Could I suggest bikeshedding on the name async-require? Before I've
seen the patch, my initial impression was that it loads namespaces
asynchronously (that is, returns control immediately and loads them in the
background). It might be somewhat confusing that a function
async-require is actually even more synchronous than the regular require
:). How about synchronized-require (it's basically word-to-word
description of the function body)?
Otherwise, thanks for this one, I needed something like this plenty of times!
Post by Alex Miller
1.10.0-beta8 is now available.
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.10.0-beta8"}}}'
- CLJ-2438 <https://dev.clojure.org/jira/browse/CLJ-2438> - demunge
source location in execution error messages
- CLJ-2437 <https://dev.clojure.org/jira/browse/CLJ-2437> - add
async-require and use it from requiring-resolve
- CLJ-2436 <https://dev.clojure.org/jira/browse/CLJ-2436> - fix
reflection warning in reflect.java
https://github.com/clojure/clojure/blob/master/changes.md
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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 a topic in the
Google Groups "Clojure" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/clojure/2GQQpxNcDlM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)
--
You received this message because you are subscribed to the Google Groups "Clojure" group.
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
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 ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Timothy Baldridge
2018-11-21 19:51:47 UTC
Permalink
For sure, but some documentation of that process would be nice, otherwise
the “nah, were good” replies come off as condescending.

I’ve typed up a few other comments, and then deleted them, as they’re
getting too OT. So I’ll exit the conversation, and unsub from this mailing
list, since it’s clear outside input isn’t valued, aside from being
crowdsourced QA.
Post by Andy Fingerhut
I suspect Alex and other folks have already done all of the bikeshedding
internally that they have the patience for, and are content with the name
and the reasons they ahve for it, and are not enthusiastic about another
round of that in a public forum.
Rich owns Clojure code legally, and I would say ethically as well (given
his time investment vs. that of others in it, and his original authorship
of most of the code, and that everyone who contributed code agreed in
advance to give him co-ownership). Project maintainers get to craft the
rules by which changes are made, for any project. Some choose to turn it
over to a committee, others do not.
Andy
Post by Alex Miller
Post by Chris Nuernberger
Post by Alex Miller
We’re good with the name. The docstring exists for further
explanation.
Except the code is less-readable. The name is meaningless.
"async-require" appends the adverb "async" to the verb "require", therefore
making it an asynchronous variant of require, which is exactly the opposite
of what the function actually does. So it might as well be named
`foo-require`. Actually `foo-require` is better, since I don't know what
`foo` means and I'd look up the docstring to find out. With `async-requrie`
I now have more cognitive load having to remember what Clojure's special
definition of `async` is in this context. All these crazy edge-cases in the
naming of the language really start to add up after awhile, and it takes
mental space away that I could be using to focus on the problem I'm trying
to solve.
It blows my mind that the Clojure team even cares enough to say no to
this, why does it matter this much that it can't change. This conversation
reinforces the view that Clojure is close-source development. Once the
community hears about a feature, it's written in stone. Apparently all
required input has already been thought of and anything the community says
couldn't possibly matter.
Post by Chris Nuernberger
https://github.com/tech-ascent/tech.compute/blob/master/src/tech/compute/cpu/tensor_math.clj#L45
Great timing and we will be looking forward to it!
Post by Alex Miller
This makes me smile
 My first reaction to the name was the same as
Alexander’s and then my second reaction cut in: “No, they’ll have thought
about the name and won’t entertain changes” 😊
It’s for safely doing requires in asynchronous (multi-threaded) 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
------------------------------
*Sent:* Wednesday, November 21, 2018 9:54:28 AM
*Subject:* Re: [ANN] Clojure 1.10.0-beta8
We’re good with the name. The docstring exists for further explanation.
Could I suggest bikeshedding on the name async-require? Before I've
seen the patch, my initial impression was that it loads namespaces
asynchronously (that is, returns control immediately and loads them in the
background). It might be somewhat confusing that a function
async-require is actually even more synchronous than the regular
require :). How about synchronized-require (it's basically
word-to-word description of the function body)?
Otherwise, thanks for this one, I needed something like this plenty of times!
Post by Alex Miller
1.10.0-beta8 is now available.
clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version
"1.10.0-beta8"}}}'
- CLJ-2438 <https://dev.clojure.org/jira/browse/CLJ-2438> -
demunge source location in execution error messages
- CLJ-2437 <https://dev.clojure.org/jira/browse/CLJ-2437> - add
async-require and use it from requiring-resolve
- CLJ-2436 <https://dev.clojure.org/jira/browse/CLJ-2436> - fix
reflection warning in reflect.java
https://github.com/clojure/clojure/blob/master/changes.md
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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 a topic in the
Google Groups "Clojure" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/clojure/2GQQpxNcDlM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Clojure" group.
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
For more options, visit https://groups.google.com/d/optout.
--
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Alex Miller
2018-11-21 19:46:29 UTC
Permalink
Geez, man, relax and have a drumstick. The audience for this is, I expect, small. Over time we expect to monkey with the internals of require itself, and this will basically become deprecated, but that was too much for this point in 1.10.

Also, please note that the other two parts of this beta are based on community feedback from beta7.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Alexander Yakushev
2018-11-21 20:14:16 UTC
Permalink
Absolutely not trying to propel this discussion forward, but *ackchyually *even
with the given semantics ("async-require should be used in asynchronous
code"), the better word would be "concurrent" or "multithreaded".

But I certainly didn't intend this thread to unwind so much and take away
this much time. I'm staying with Andy on this, godspeed, we're eagerly
waiting for the 1.10 release.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Sean Corfield
2018-11-22 16:56:28 UTC
Permalink
In news that should surprise no one: our full test suite passes on Beta 8 (I meant to post that yesterday afternoon but got distracted).

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: ***@googlegroups.com <***@googlegroups.com> on behalf of Alex Miller <***@puredanger.com>
Sent: Wednesday, November 21, 2018 7:17:26 AM
To: Clojure
Subject: [ANN] Clojure 1.10.0-beta8

1.10.0-beta8 is now available.

You can try it with clj using:

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

Changes in 1.10.0-beta8:

* CLJ-2438<https://dev.clojure.org/jira/browse/CLJ-2438> - demunge source location in execution error messages
* CLJ-2437<https://dev.clojure.org/jira/browse/CLJ-2437> - add async-require and use it from requiring-resolve
* CLJ-2436<https://dev.clojure.org/jira/browse/CLJ-2436> - fix reflection warning in reflect.java

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

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to ***@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+***@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+***@googlegroups.com<mailto:clojure+***@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 ***@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+***@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+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...