This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-04-03
Channels
- # arachne (31)
- # aws (9)
- # bangalore-clj (7)
- # beginners (46)
- # boot (18)
- # cider (21)
- # cljs-dev (8)
- # clojure (154)
- # clojure-dusseldorf (5)
- # clojure-filipino (3)
- # clojure-ireland (4)
- # clojure-italy (9)
- # clojure-russia (6)
- # clojure-spec (6)
- # clojure-uk (52)
- # clojureremote (3)
- # clojurescript (173)
- # clojurewest (14)
- # cursive (24)
- # data-science (2)
- # datomic (18)
- # defnpodcast (1)
- # devcards (1)
- # hoplon (4)
- # instaparse (29)
- # jobs (2)
- # juxt (1)
- # leiningen (3)
- # lumo (78)
- # off-topic (46)
- # om (9)
- # onyx (42)
- # pedestal (33)
- # perun (3)
- # re-frame (9)
- # reagent (6)
- # slack-help (5)
- # spacemacs (2)
- # specter (6)
- # unrepl (157)
- # untangled (99)
- # yada (32)
@dominicm I was toying a little bit yesterday with requiring asciidoctor.js
I managed to make require work just fine, but I had a problem running their “Hello, world” example
anything that messes with global scope is weird 😕
I had the same problem with google-closure-compiler-js
interestingly enough, I forget how I solved it
@jonpither btw your “add to classpath” change is out in Lumo 1.3.0
That means we don't need to copy around his scary binary and can deploy from anywhere! Yay!
yeah I released 1.3.0 this morning: https://twitter.com/anmonteiro90/status/848912365311598592
Thanks @anmonteiro
@dominicm if you watch the Lumo repo you’ll probably get emails for new releases
the downside is you’ll also get emails for every issue/comment/PR
Yeah. There is an atom feed available, but you have to type it in manually, it's not in the meta
@cfleming to manage dependencies you could use https://github.com/eginez/calvin
Mach can also suck in dependencies (shells out to boot for now) https://github.com/juxt/mach#using-clojurescript-dependencies
☝️ this is very awesome!
poor man's version of the same: https://gist.github.com/pesterhazy/bac40121b179aa461d89740b799c0555
@dominicm also thinking about adding an explicit command line option to Lumo to disable strict mode
looks like an useful enough shortcut
@anmonteiro it seems to come up a lot 🙂 For sure.
What does lumo do, differently than compiling cljs with the target of nodejs? Is the differences we see in compiled code the result of differences between bootstrapped cljs & jvm cljs?
sorry what do you mean?
the self-hosted compiler and the JVM compiler’s code emission should be the same
Oh. I was wondering what lumo did differently that adoc.js worked via node output.js
vs lumo …
@dominicm so that’s probably because of the custom startup snapshot thingy
the Lumo startup snapshots mess with the global scope
@anmonteiro What is that, & what's it's purpose? (Mostly just curious here, don't spend too much time on me)
I’m more than happy to answer
the purpose of the startup snapshots are to make Lumo’s startup time really fast
they need to be in the global scope because that’s where goog
stuff is written
@dominicm ^ they’re a V8 feature, you can read more about it here
that’s basically the secret sauce for why Lumo can boot so fast
let me know if you need me to clarify it further
I love discussing this stuff
also just submitted a Lumo talk to EuroClojure, hoping we get to chat in person in July!
@anmonteiro So, how do the snapshots conflict with other libraries (breaking their global scope?)? Must snapshots mess with global scope, or could you create a single LUMO_ONLY_PLZ
var with a map in?
so the snapshot we pass to V8 is the result of compiling CLJS
everything ends up in the global scope: goog
, cljs
, lumo
It sounds like you get excited by this like how I do with general tooling (I love discussing how nrepl does X, or why tools.namespace does Y). I look forward to seeing you in July. Lumo is big enough to get a talk, I expect!
Probably worth exploring more options wrt. startup snapshots
but that shit is crazy
It took me at least 1 week to get it working before November
and once it did I didn’t touch it anymore
also the feedback loop is really slow
Heh, that makes sense then. I know that kind of fear 😄. The closure compiler has a lot of global state, I often forget that, I'm always amazed by the ability to pull out vars from the browser.
@dominicm yeah. I vaguely recall messing with :output-wrapper true
but that didn’t work because V8 does lazy parsing of functions
which means it didn’t shave any startup time
Are you guys going to EuroClojure 😄 I will be in Europe and already planning a visit to Berlin!
I’ll go if my talk gets accepted
can’t justify the trip otherwise
it’s crazy that I lived in Germany until December 2016 and they decide to host EuroClojure in Berlin just after I move 😞
@stbgz Thanks! I’ll see how hard that would be to support. What’s its uptake like among people using Lumo/Planck?
@cfleming growing, there are still many things left to be done, but I haven’t had the time lately 😕
regarding the above I actually wanted to contribute some resolved data taken with pomegranate
or even directly with Maven, in order to validate the tool
Totally, I wonder if nobody actually tried, in the JS world, to just copy maven's behavior
the other route is to use the same tools google closure uses to crosscompile java to js
@stbgz GWT is pretty advanced, I wonder how accurate a transpilation would be