This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
@grounded_sage: you can try the git version 0.8 , for me on linus its much faster then eclipse or idea
@grounded_sage: If you know vim pretty well, you might do Cursive + IdeaVIM. I use that for my day to day, and I like it a lot.
https://s-media-cache-ak0.pinimg.com/originals/d1/f5/9d/d1f59d3a8ba0e695fd32841fd667a40a.gif
I'm not invested in anything. I started learning programming about 8 months ago. Studying design so has been a part time thing. Started with JS but upon hearing the news on wasm decided it's time to do Clojure all the way. I do like the idea of my tools and environment being all in Clojure or ClojureScript so will probably bounce between the two.
If you use vim don't forget to checkout fireplace
anyone used cytoscape in cljs? I am trying to use it (via js interop) but I am probably doing something stupid wrong
I'm experimenting some troubles using the new `{:module-type :commonjs} option, anyone have used it?
hey folks -- I've been looking at Planck (https://github.com/mfikes/planck) which made me a tiny bit jealous I'm not using OS X is anyone aware of any attempts at trying to do something similar, but with Qt? i.e. wrapping the compiler in a Qt webview? since Qt uses JSC, it seems like it should be doable.
simply to wrap the entire thing in a UI of sorts and to make it easy to distribute as a stand-alone REPL (a la Planck)... I've wondered specifically about Qt as it's omnipresent among platforms, has a JSC-powered webview, and I've briefly worked with it before
@nikolap: I understood Planck to be a console program that doesn't use a webview but somehow talks to JSC directly
@martinklepsch: indeed, after a bit of further careful exploration, I've come to the same conclusion thanks for the heads up!
it is possible to compile jscore for linux
Maybe, for windows as well
we could combine these two files https://github.com/swannodette/cljs-bootstrap/blob/master/src/node/cljs_bootstrap/core.cljs https://github.com/swannodette/cljs-bootstrap/blob/master/script/repl.clj
Is it currently possible to create custom @define’s from Clojurescript as described here: https://developers.google.com/closure/compiler/docs/js-for-compiler#tag-define ?
I tried with the following but when I try to override it by passing it in :closure-defines
it’s still the original value
(js*
"/** @define {boolean} */
el.app.APP_DEBUG = true;")
@pri is doing some interesting repl stuff here: https://github.com/priyatam/replify
@pri: Can you explain a bit about where replify fits in the landscape of repls compared to Planck and so forth?
👍 Would also be curious if it could be a replacement for weasel
@meow: One way to characterize Replify is that it is a set of facilities built on top of the shipping REPLs. (Take a peek at the source; you’ll see the kinds of stuff it offers.)
Just got my bootstrapped Quil editor to work! 😄 http://jellea.github.io/QuilFiddle/ Try adding (q/fill 0)
to draw
function and press cmd+enter
! Live coding in the browser!
@dnolen: just a quick question, I’m trying to compile clojurescript to target web workers, it looks that I need https://code.google.com/p/closure-library/source/browse/closure/goog/bootstrap/webworkers.js any prior work in this field?
it looks like in ideal case I would just specify :target webworkers, like I do with nodejs
@martinklepsch: you want ^{:jsdoc [“@define”]}
meta
@niwinz: I would not try to use the new modules stuff unless you’re experimenting, it requires a custom build of Closure until they cut a new release
@martinklepsch: do this:
(def "@define {boolean}" SOMETHING true)
or is it (def SOMETHING "@define {boolean}" true)
I can never remember (update: the 2nd one is right)
But have a read through here: https://groups.google.com/d/msg/clojurescript/7wAO_GzsITM/JicBuCjiqPAJ
In particular .... notice that you CAN'T change that default value (`true` above) unless you are doing :optimizations
:simple
or :advanced
. When :none
it doesn't matter how you try to redefine that constant, it aint going to work.
@mikethompson: what you just wrote isn’t a valid way to do that
yeah, see the link. It explains it fully, I hope. There were some hard-won lessons.
making defines work under :none
wouldn’t be a particularly challenging task, another good way to get the hands dirty with the compiler for the first time.
@dnolen: In that thread @mikethompson linked you said: "It works for ClojureScript originated Closure Defines, not Google Closure originated ones.” — Does that mean I should be able to override things I defined like (def ^{:jsdoc ["@define {boolean}”]} APP_DEBUG false)
with :optimizations :none
?
landed a bunch of optimizations yesterday for people building self-hosted ClojureScript stuff on the web, now documented https://github.com/clojure/clojurescript/wiki/Optional-Self-hosting
by following these instructions you can get your project down to ~450K gzipped, http://swannodette.github.io/2015/07/29/clojurescript-17/ updated
@dnolen: is there a JIRA ticket already?
@martinklepsch: not sure you should check
@dnolen: can’t find any but my JIRA-fu might be insufficient 😛
@martinklepsch: I would just search for “closure define"
then there is none — just to make sure I understood correctly: "It works for ClojureScript originated Closure Defines, not Google Closure originated ones.” — is this mixed up? i.e. it works for closure originated ones but not cljs ones?
is it possible to specify in deps.cljs that a :foreign-lib depends on the :foreign-lib of another dependency? e.g. should the following deps.cljs work? (I’m trying to load a :foreign-lib that depends on cljsjs.codemirror
; in this example, overlay
is loading before cljsjs.codemirror
& therefore fails) http://i.imgur.com/kjo4niw.png /cc @martinklepsch
@mhuebert: that should work
@martinklepsch: ok, I’ll keep debugging then
@martinklepsch: thanks
@mhuebert: I assume you have cljsjs/codemirror on your classpath yes?
@martinklepsch: ie. in :dependencies in project.clj? yes
@mhuebert: might be good to check if just doing (:require cljsjs.codemirror)
works fine
I can see both the CodeMirror JS & the overlay js in the compiled js file, but in the wrong order
@martinklepsch: this just an enhancement over Google Closure
Does anyone know why was it necessary to change aget
to goog.object.get
in this example:
https://github.com/clojure/clojurescript/wiki/Dependencies/_compare/c32169a660232144bbe5d9e3fa24046580a83dee%5E...c32169a660232144bbe5d9e3fa24046580a83dee ?
@martinklepsch: I got it to work by changing the name of my provides to something other than “cells.*” but I can’t reproduce the issue in a clean repo.
@mhuebert: ehm what? 😄
that sounds funky
@martinklepsch: yep. I would do more testing in my repo if every cycle didn’t take 120+ seconds.
mhuebert: why does it take so long?
@martinklepsch: i should correct. only 40 seconds w/ no optimizations
@martinklepsch: last one was 132 with optimizations: simple. perhaps from using cljs.js - it builds a 10mb file
@martinklepsch: dependencies are CodeMirror, rewrite-cljs, reagent, and core.async
@martinklepsch: do you know if :foreign-libs can/does use min
versions of js files with :optimizations :simple?
@dnolen thanks for the self-hosting advice page. would loading the analysis cache for other dependencies (e.g. cljs/core/async.cljs.cache.edn) be a reasonable way to bring that into the compiler state to use?
Is there anything I can read to better understand the interplay between cljs compiler & macros?
@martinklepsch: the only thing I know about is this: http://blog.fikesfarm.com/posts/2015-06-19-portable-macro-musing.html
so I’m trying to use core.async in cljs.js, in an app that already uses core.async. My *load-fn*
successfully fetches the source & runs it, but on the second file, cljs/core/async/impl/protocols.cljs
, I get the error Namespace "cljs.core.async.impl.protocols" already declared.
It seems the compiler knows enough about its environment not to create a conflicting namespace, but not enough to require
the existing namespace instead of trying to compile from source. Any pointers about what to try or read would be most welcome! *working on an example*
an attempt to create a namespace & require core.async: https://github.com/mhuebert/require-async-in-cljs-bootstrap/blob/master/src/foo/core.cljs