This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # admin-announcements (3)
- # beginners (284)
- # boot (179)
- # cider (15)
- # cljs-dev (6)
- # cljsrn (95)
- # clojure (105)
- # clojure-austria (4)
- # clojure-berlin (9)
- # clojure-germany (4)
- # clojure-japan (3)
- # clojure-russia (65)
- # clojurebridge (1)
- # clojurescript (109)
- # code-reviews (16)
- # cursive (27)
- # datavis (19)
- # datomic (68)
- # devcards (7)
- # funcool (31)
- # jobs (1)
- # ldnclj (2)
- # lein-figwheel (3)
- # leiningen (4)
- # off-topic (419)
- # om (255)
- # parinfer (39)
- # portland-or (2)
- # re-frame (28)
- # reagent (14)
- # slack-help (12)
- # spacemacs (1)
@micha: this what might happen if u forget to pay your internet bill in hong kong:
[email protected] ~/g/b/boot> make install (cd boot/base && mvn -q install) [ERROR] COMPILATION ERROR : [ERROR] error reading /Users/onetom/.m2/repository/org/projectodd/shimdandy/shimdandy-api/1.2.0/shimdandy-api-1.2.0.jar; error in opening zip file [ERROR] error reading /Users/onetom/.m2/repository/org/projectodd/shimdandy/shimdandy-api/1.2.0/shimdandy-api-1.2.0.jar; error in opening zip file [ERROR] /Users/onetom/github.com/boot-clj/boot/boot/base/src/main/java/boot/App.java:[24,32] package org.projectodd.shimdandy does not exist [ERROR] /Users/onetom/github.com/boot-clj/boot/boot/base/src/main/java/boot/App.java:[40,20] cannot find symbol
micha: quick question, why am i getting
Unable to resolve symbol: regular-sync in this context when i run
(deftask itc-regular-sync  (with-pre-wrap fileset (require '[itunes-connect.regular-sync :refer [regular-sync]]) (print (resolve (regular-sync))) fileset))
@onetom: resolve takes a symbol, you probably want sth like
martinklepsch: ah, sorry. i was just trying resolve because i was getting that error message i showed. that's the real problem. but checking now what happens otherwise
(require 'itunes-connect.regular-sync) (let [regular-sync (resolve 'itunes-connect.regular-sync/regular-sync)] (regular-sync ...) ...
which succeeds because when it goes to compile the call to
bar the call to
require has already been evaluated
Hi. I have file like this http://dpaste.com/314RJ06 and what I want to do is "development in loop". Each time I save file (somewhere on the project) I want
(main) fn to be executed. What I got now (with line 29 both commented out and not) so that it executes
main and "speaks" two times each time I save the file. What am I doing wrong?
@juhoteperi: This is brilliant: https://gist.github.com/Deraen/eb3f650c472fb1abe970#file-edn-cljx
The performance difference between EDN and Transit is so huge for browser env that Transit is usually better choice
The EDN version should probably use the same read and write functions as Transit version
there is a
toIsoString thing in btw: http://google.github.io/closure-library/api/class_goog_date_DateTime.html#toIsoString
@juhoteperi I hear you, but I'm working with a 100% Clojure system where all data flows as edn. Using transit just for performance reasons doesn't seem compelling to me in this scenario.
Speaking about dates, what do people think about implementing a date handling library completely on Clojure? It would remove the differences between JVM and Browser envs
@danielsz: In browser EDN reader is implemented in Cljs/JS but JSON reader is implemented in C or such by the browser so reading JSON is much much faster than reading EDN. And transit is built on top of JSON so it's faster than reading EDN in browser.
@juhoteperi I know it's faster, but what are we talking about? Milliseconds. Not something I can notice (or the user).
@danielsz: Will be noticeable if the documents start getting larger, maybe tens of milliseconds for something like 200KB document.
@juhoteperi I don't think it's the size of the document that is the determining factor, it is the number of date instances in EDN that you read and write.
@martinklepsch: That's what I fear but currently handling dates is quite hard in shared domain logic code
@juhoteperi: maybe it's easier/more efficient to just wrap jodatime/goog.date in uniform way?
If you only have a couple of such EDN instances, I think it's perfectly acceptable. Not an optimization priority.
@martinklepsch: Yes, that's what I'm doing currently. Probably I just should finalize and make a library out of this to see how well it really works.
@martinklepsch: that's what's this gist does. It turns joda dates into edn entities that are read and written in an uniform way via the clj-time and cljs-time libraries (that offer the same API)
Unrelated idea: I'm thinking of making a lambda fn that takes a git repo as argument and returns documentation info (like cljs-info or codox but as edn/transit). From that it would be quite easy to make an app that can provide api docs for any git hosted clojure codebase — thoughts?
@danielsz: Yeah well usually it's not a problem but try rendering a table with 2000 dates and it is noticeable.
@juhoteperi: @danielsz the gist only handles serialization ...I understood @juhoteperi as if he wants a thing that also provides uniform APIs to modify/compare/etc dates
Yeah, if/when I will implemented something proper I'll do benchmarks but currently if have just seen that in certain cases if will be a problem.
@martinklepsch: The beauty of this solution is that you don't need anything. The API is provided by clj-time/cljs-time.
That lib would also provide namespaces for EDN and Transit readers and writers one could use in a project without copying the code
@juhoteperi: Sure. That would be convenient. What I appreciate in this solution is the generality. Once you understand how to leverage EDN in your application code, you can apply that for any non-native type/object. joda time is just one particular case.
@juhoteperi: @martinklepsch All this reader tags and edn affair in Clojure is in essence a streamlined and somewhat constrained version of Lisp's reader macros.
@martinklepsch: BTW, I like the idea you mentioned about the lambda fn generating docs from a git repo.
@danielsz: unfortunately there are plenty of html documentation generators but none of them has a simple api for getting this information as data 😕
unless the exclusions are needed, like if aether is not choosing the transitive dependencies you want (i.e. you want to resolve the conflict differently)
it's important to be able to see the conflicting versions, because sometimes you need to tell it to resolve them differently
like if you add dependencies and all of a sudden everything is broken with weird exceptions coming from code you've never heard of
Ah @flyboarder actually I'm talking about modules in the compiler sense, not the Closure library modules
I have an app at work that needs to be divided and I'd like to explore creating several JS artifacts with app-specific and shared code, rather than do two whole separate builds
I took at brief look at building boot with boot but it's a bit beyond me, I'd really like to get it working on clr
the .cljs.edn convention is what will make it possible to do automatically in the future
given a set of .cljs.edn files, the compiler has enough information to automatically partition your namespaces into modules in an optimal way
because the .cljs.edn files contain all the information about which namespaces are needed in which compiled js file
so what would the API look like in boot-cljs? an additional parameter of some sort...
yeah you could also use the
--target option to point the different boot instances at different target directories
I'm gonna try that, though I wonder if the instances we're using to build will have the requisite memory