This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-25
Channels
- # beginners (152)
- # boot (4)
- # bristol-clojurians (1)
- # cider (1)
- # cljs-dev (176)
- # clojure (104)
- # clojure-china (2)
- # clojure-uk (6)
- # clojurescript (6)
- # core-async (23)
- # cursive (4)
- # datomic (3)
- # devops (1)
- # duct (32)
- # events (1)
- # fulcro (9)
- # hoplon (2)
- # jobs-discuss (9)
- # lein-figwheel (2)
- # leiningen (3)
- # off-topic (19)
- # pedestal (2)
- # portkey (14)
- # re-frame (20)
- # reagent (41)
- # rum (4)
- # shadow-cljs (26)
- # tools-deps (1)
- # unrepl (5)
By the way, lein --version
reports 2.8.1 for me. I think I updated it when I ran into a Java 9 issue
Oh, I finally get what you were saying earlier, David about the 50%. Yeah. Lots of people use stuff but never roll up their sleeves to fix it.
well, I would summarize as some people have very distorted notion of the labor distribution wrt. contribution in the Clojure ecosystem
Maya Angelou: "What you're supposed to do when you don't like a thing is change it. If you can't change it, change the way you think about it. Don't complain."
Yeah, one thing I have noticed is this notion that there is this "big" core team contributing to ClojureScript.
right we have lots of contributors - but the number of outlying tasks far exceeds what we can deal with in a timely manner
Right, the problem where you aren't sure if you broke some corner case for some wierd situation.
but the external tooling story doesn’t seem that great to me, especially critical stuff
which I is why I think folding it in, and getting people to use the standard stuff is way forward in the long run
I'm trying to think back, what was the motivation for cljs.main
. Was it always in the back of your mind? Was it clj
that finally made it make a lot of sense? Hmm.
When you ask: What's next for ClojureScript? Half a year ago you couln't have predicted cljs.main
was part of what was going to happen.
cljsbuild
etc. seemed fine - and of course they will continue to be needed useful etc.
but after spending a lot of time with these tools I think it dawned on me there was some benefit to just have ClojureScript do it out of the box
Right now, without it having been released yet, it is difficult to predict what the uptake of cljs.main
will be. Will it be a flop and forgotten? Or will it take over the ClojureScript world? Of course somewhere in between is the answer, but it is hard to predict what it will be. 🙂
One thing is crystal clear. The new user Quick Start is much cleaner, and less intimidating and cruft free now.
clj
won't be replacing lein
at work for a while, until we figure out ways to migrate our project files over
I don't know, I'm hoping some time in 2018, I can start all projects with just clj/deps.edn/cljs.main things
Piggieback was recently "given" to the Clojure-emacs org on GitHub and should receive more love. Agree with everything you say in the backlog here..it is still a heavy weight, hackinsh thing that quickly solved a tooling problem. That is why socket REPL has to happen.
Yeah that is what I hope 😄 socket repl support is already a thing in inf-clojure
and spiral
/unrepl
And actually lumo and Planck are directly supported as well thanks to their socket servers
(in inf-clojure
)
So does anyone have opinions on what method to use to switch between web connected repl clients?
The original design spec for socket repl mentions this: :repl/attach {:server server-name :client session-id} - attach to existing session and interpret vars in terms of that session
I like this, it should be always clear and visible which env you are connected to, I think. The command seems to hint at multiple servers in the same socket as well? Did you find that in a Jira?
I think in that context, :client
actually refers socket clients connected via different sockets
The situation I'm talking about is having multiple socket clients connected to a compiler env that is also connected to potentially multiple web clients
in the above example, I'd imagine server-name might be something like {:server cljs.server.node :client 3}
which would connect you to the same \out\ as some existing socket session.
So yeah, maybe one day you can just pass your cljs.server.*
namespace in and clojure.server will just pull the socket client list off of the env object
but clojure.server
could know how to go into the @envs
of every cljs.server
namespace and grab the most recent one, unless you also pass in something like :env-key [host port]
So I think the call to attach to a repl client and to attach a repl client to one of potentially multiple downstream clients, should be different. Perhaps :repl/attach
and :client/attach
, where client attaches downstream clients
The place to hook into the reader though feeds through tokens though, not lines. I guess you could go popping and pushing values but it's easier just to use one value to represent your repl change request
or you could make passing in a map optional, and if it has a particular key, it'll be read as a repl read time command
https://github.com/google/closure-compiler/issues/2846 now has a test case, hopefully this can make it into the May release
New page documenting how to contribute to Closure Compiler https://clojurescript.org/community/closure
Looks good! Here's a minor typo fix https://github.com/clojure/clojurescript-site/pull/204
Cool. Is this a release candidate? (Is it worth updating docs to point to that number?)
Yes, I think we should push everything now, and then we can do announce on the mailing list tomorrow, social etc.
I’m going to merge this stuff https://github.com/clojure/clojurescript-site/pull/173
There are a lot of compiler option PRs that may conflict that we can merge early and resolve conflicts on.
Here is the gist listing all docs https://gist.github.com/mfikes/bdbe214f03abac88ae384adb1ac26490
Ahh cool regarding the news
label. I realized after the fact that we may have been able to use a label instead of the gist above to achieve the same.
For small typos, you can just use the ability to edit directly and submit a PR. https://clojurescript.org/community/contributing_site#minor
@mfikes my edit button on github, when editing directly, is grayed out and says "you must be signed in and have push access to master branch to make changes" which is weird if it's just a PR right?
@mfikes Sorry, I was looking at the source view directly. It does let me edit from the reading view
One minor issue to resolve is that the main new article for 1.10.238 has a link to the Shared AOT Cache news article, which would come out later. One way to resolve this would be to simply eliminate the small paragraph that says "You can read more at Shared AOT Cache."
If we do that, perhaps I can add a tiny bit more to that copy, to point to the :aot-cache
compiler option or somesuch
Like a link to https://clojurescript.org/news
Here is the revised paragraph in question: https://github.com/mfikes/clojurescript-site/blob/master/content/news/2018-03-26-release.adoc#shared-aot-cache
Definitely. In hindsight, this time around instead of a "Sneak Preview" pre-release series of news posts, we are doing a post-release series. 🙂
after this release, I think we should just shoot for monthly releases a la Closure - I didn’t expect this one to take so long, almost six months?
still this is an impressive release - a huge thanks to everyone that contributed and tested

@r0man btw I think I know why noone can reproduce your problem and I didn’t really believe the bug report since the situation seemed impossible wrt. code
the build will use whatever is in resources/brepl_client.js
, we should clean that - and I think you have a bad one in there
There's still a tiny PR pending to fix a list item and add mention for the :package-json-resolution
flag: https://github.com/clojure/clojurescript/pull/71
Can do, just thought I'd reduce the hassle with a tiny improvement like that. I can get a patch ready tomorrow morning.
I have no experience with it, but there is a pull request template feature that could be abused to essentially include copy to redirect requestors to instead ensure CA signed and submit a JIRA patch. https://help.github.com/articles/creating-a-pull-request-template-for-your-repository/
I have a PR template for clojure-site
https://github.com/clojure/clojure-site/blob/master/.github/PULL_REQUEST_TEMPLATE
feel free to steal
@dnolen Thanks for taking a look at the node repl / piggieback issue. I kinda assume it was going to be something that should be changed in piggieback, though I appreciate you implementing that piggiehack. 😄 It works like a charm. Thanks, @mfikes, for testing as well. Sorry I wasn't around to test.
@john You mentioned spiral/inf-clojure; do you have experience moving from cider to one of those? Can you speak to the quality and usability of either one?
I can speak for inf-clojure
as I am the main contributor now, of course it is awesome 😄
However I am still working on cljs REPL integration. I am using lumo
with it now and it works like a charm. Of course nothing fancy, as inf-clojure
is on purpose just a thin layer on top of a normal REPL.
Spiral is more complex and it employs the unrepl protocol, with a couple of very innovative ideas. The one I like the most is that you don't have to have any of the dev dependencies on the classpath of the server: the client sends the namespaces that it would like to use.
@ghopper think this is best asked in #unrepl which spiral is an implementation of (@volrath is the author of spiral and is in there as well). I think unrepl is very well designed, curious to know how it works for you if you give it a shot.
@mkvlr Thanks, I'll go there.