Re: [ANN] thi,ng/geom 0.0.856 (new dataviz module)
this is quickly becoming my clojurescript goto viz api. keep up the great work! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[ANN] Dominator 0.3.0
Any performance comparisons to refrain reagent? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] Clojure 1.7.0-RC1 now available
Removing Java 6 would affect clojure for android projects wouldn't it? On Wednesday, June 3, 2015 at 9:34:07 AM UTC-4, Mike Rodriguez wrote: Sorry for the delay in getting back with a response to this. I think it is fairly clear in the Clojure Compiler that there is an exception that will wrap errors that occur during macroexpansion now. Around here https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java#L6627-L6649, the Compiler.macroexpand1() now has a try-catch for Throwable around the evaluation of the macro invocation. This was not the case in Clojure version 1.6. See around https://github.com/clojure/clojure/blob/clojure-1.6.0/src/jvm/clojure/lang/Compiler.java#L6548-L6560 for a reference point. I'm fairly sure that is what has caused this change in behavior that broke our expectations that the exception types our code through during macroexpansion would propagate all the way back to the caller. Again, I think this was a bad expectation to have, but it is a little tricky. It is a little trickier for us to have any strong assertions on the type of exception that may come from a macro now. Compiler$CompilerException seems too dependent on the implementation. So we've opted to just assert there would be a is-thrown? RuntimeException in these sorts of tests. If we want to test something like an ExceptionInfo's data map, we now just have to write a helper to walk the stack trace until we find it - which would likely be a single step up the trace. A simple reproducing case: *clojure-version* ;= {:major 1, :minor 7, :incremental 0, :qualifier RC1} (defmacro demo [] (throw (ex-info fail {}))) (demo) ;= CompilerException clojure.lang.ExceptionInfo: fail {}, compiling:(form-init4053282905768384039.clj:1:1) vs. *clojure-version* ;= {:major 1, :minor 6, :incremental 0, :qualifier nil} (demo) ;= ExceptionInfo fail clojure.core/ex-info (core.clj:4403) On Saturday, May 23, 2015 at 8:52:47 AM UTC-5, Alex Miller wrote: I'm not aware of any wholesale changes with respect to compiler exceptions. Can you give an example? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Opinion on core.async vs callbacks in abstract APIs?
Is there a detail of core.async that is needed in a third party usage? If not, you should't have to require core.async. Be liberal in what you accept and conservative in what you produce - Art of Unix Programming paraprhased. On Monday, June 1, 2015 at 3:18:19 PM UTC-4, Christopher Small wrote: Greetings I imagine most of us here would rather use core.async channels over callbacks in their application code, particularly with more complicated applications. But is it okay/preferable for Clojure libraries to force their users to use core.async channels as part of an API (an event channel, for example)? As much as I love core.async, I can't help but wonder whether sticking with callbacks for an API isn't a simpler/better design strategy. It's easy enough to drop messages on a channel in a callback, and this let's users opt-in. But if one expects core.async channels are what most would prefer anyway, is it okay to foist them upon everyone? As a follow up, does your opinion on the matter change if implementations of an API become simpler using core.async channels? Looking forward to your thoughts :-) Chris Small PS I'm asking because I'm working on a physical computing API ( https://github.com/clj-bots/pin-ctrl) and debating between using channels vs callbacks for the edge detection functionality (if you're not familiar, edge detection let's you asynchronously handle changes in pin state, such as button pushes). If you're interested in this question as it applies specifically to this application, feel free to join the discussion on our gitter channel: https://gitter.im/clj-bots/chat -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] thi.ng additions/updates
this project is so cool. I've been playing around with noise and svg thanks to it. Thanks Karsten! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Any chance of a module system being added to the language?
Osgi brings in so many other things to worry about. Imo not a route to consider. The main issue is every jar you use would have to have an osgi friendly implementation. For this reason a lot of libs are duplicated after source alteration into a new repo. Great for tightly controlled embedded systems not so great for just grabbing random lob X off of maven. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Project fails to compile on different machines
seems like a clear classnotfound error to me. make sure both environments are building from a clean state (no build caches) and that your classes are being prred correctly. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Diagnosing a figwheel error
Sounds like you are fighting with project.clj. You'd be better off going with a template like chestnut as a learning tool. On Saturday, March 7, 2015 at 5:47:19 PM UTC-5, Jonathon McKitrick wrote: I decided to ditch piggieback/weasel and try figwheel, and though it starts without errors, I get 'Page not found' when visiting localhost:3449. What's the best way to track down the cause? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] Dunaj project, an alternative core API for Clojure
Just a quick glance at the example project shows integrated type definitions. I'm curious for sure. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: partition-when
I went though almost the exact same exercise and my code is almost identical to yours. I called it partition-every and I use it a lot. A more determined individual might submit this for inclusion into core! On Tuesday, March 3, 2015 at 2:46:29 PM UTC-5, Frank wrote: Hi all, for some tests I need a function which starts a new partition each time a predicate returns true, for instance: (partition-when (fn [s] (.startsWith s )) [ 1 2 3 4 5 6]) := [[ 1 2 3] [ 4 5 6]] Since I haven't found a built-in function, I copied, pasted, and modified the core function partition-by: (defn partition-when [f coll] (lazy-seq (when-let [s (seq coll)] (let [fst (first s) run (cons fst (take-while #(not (f %)) (next s)))] (cons run (partition-when f (seq (drop (count run) s Is there a better (more idiomatic) way to achieve the same result? Thank you in advance. Frank -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
XPATH/XSLT like access to Clojure data structures?
instar and balagan are two libs that are in this space. ive been looking for something like youre describing as well - i think something like xslt would be wondrous. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Performant flattening of nested data structures
i wasn't able to squeeze that much more out of it, informally maybe around 10% as it gets larger. (defn- flx ([obj] (flx obj [$] {})) ([obj curr res] (cond (map? obj) (reduce #(flx (%2 obj) (conj curr (str . (name %2))) %1) res (keys obj)) (sequential? obj) (reduce #(flx (second %2) (conj curr (str [ (first %2) ])) %1) res (map #(identity (list %1 %2)) (range (count obj)) obj)) :else (assoc res (apply str curr) obj On Tuesday, February 17, 2015 at 11:18:58 AM UTC-5, Mark Watson wrote: A slightly cleaner version: (defn- flatten-keys* [a ks m] (cond ;; Is a map? (map? m) (reduce into (map (fn [[k v]] (flatten-keys* a (str ks . (name k)) v)) (seq m))) ;; Is an arr/vec/seq? (and (sequential? m) (not (instance? clojure.lang.MapEntry m))) (reduce into (map-indexed (fn [idx itm] (flatten-keys* a (str ks [ idx ]) itm)) (seq m))) ;; Is not a collection :else (assoc a ks m))) (defn flatten-keys [m] (flatten-keys* {} $ m)) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Removing the 5th, 10th, 15th ... element of a list
this works = (filter #(not= (mod % 5) 0) (range 22)) (1 2 3 4 6 7 8 9 11 12 13 14 16 17 18 19 21) On Tuesday, February 17, 2015 at 2:21:20 PM UTC-5, Cecil Westerhof wrote: What is the best way to remove all elements which position (counting from 1) is a multiply of five out of a list? So the list: (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21) becomes: (1 2 3 4 6 7 8 9 11 12 13 14 16 17 18 19 21) -- Cecil Westerhof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Performant string concatenation (of many, large strings)
What is the best way to profile Clojure? I tried a reduce doto thing but it was way slowe than apply str. would love to know why. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ANN: ClojureScript 0.0-2814, Nashorn REPL, async testing, and much more
Congratulations David and CLJS team, you guys are on fire lately. On Monday, February 9, 2015 at 7:47:41 PM UTC-5, David Nolen wrote: ClojureScript, the Clojure compiler that emits JavaScript source code. README and source code: https://github.com/clojure/clojurescript New release version: 0.0-2814 Leiningen dependency information: [org.clojure/clojurescript 0.0-2814] There are numerous enhancements in this release including: a Nashorn REPL, Node.js 0.12 support, cljs.test async testing support, `cljs.closure/watch`, extra JSDoc annotation support, unified source mapping on client/server (thus REPLs!), and many small fixes. I'm particularly excited about unified source mapping as this means we get a much better debugging experience on newer targets (for us) like iOS, see https://github.com/omcljs/ambly ## 0.0-2814 ### Enhancements * add simple source directory `cljs.closure/watch` watcher using java.nio * CLJS-1022: Concatenate foreign dependencies safely * CLJS-988: Support async testing in cljs.test * CLJS-1018: Add support for cljs.core/*e Modify the JavaScript that is sent for evaluation to wrap in a try and then catch any exception thrown, assign it to *e, and then rethrow. * CLJS-1012: Correct behavior when *print-length* is set to 0 * Added new :closure-extra-annotations compiler option allowing to define extra JSDoc annotation used by closure libraries. * Mirrored source map support APIs on server/client * Unified source mapping support in REPLs * Nashorn REPL (thanks Pieter van Prooijen) ### Fixes * CLJS-1023: regression, macro-autoload-ns? and ns-dependents need to throw on cyclic dependencies * fix require with browser REPL, set base path to goog/ * CLJS-1020: off by one error in REPL source map support * Node.js 0.12 support * browser REPL needs to respect :output-dir * CLJS-1006: Implicit dependency of clojure.browser.repl on cljs.repl * CLJS-1005: Browser REPL creates 'out' directory no matter what * CLJS-1003: fix cljs.test run-tests do-report :summary issues * CLJS-1003: Cannot pass custom env to run-tests * Windows Node.js REPL issues -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ANN: ClojureScript 0.0-2740, Windows
Thanks David, the Windows love is much much appreciated. On Wednesday, January 28, 2015 at 8:54:42 AM UTC-5, David Nolen wrote: ClojureScript, the Clojure compiler that emits JavaScript source code. README and source code: https://github.com/clojure/clojurescript New release version: 0.0-2740 Leiningen dependency information: [org.clojure/clojurescript 0.0-2740] The primary reason for this release is to bring all the benefits of 0.0-2727 to Windows users. ### Changes * local :foreign-libs can precisely override upstream :foreign-libs * :foreign-libs :file-min is only used under :advanced optimizations * file generated by supplying :main now idempotent * more informative error if :main incorrectly supplied ### Fixes * many fixes around file/resource handling for Windows users -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ANN: ClojureScript 0.0-2719, JavaScript Dependencies
To this end I would hope everyone takes a look at using webjars.org as their source for frontend libraries. imo, it's a way forward to dep mgmt outside of bower/npm/node etc. On Sunday, January 25, 2015 at 2:42:54 PM UTC-5, David Nolen wrote: I strongly recommend the Clojure(Script) community join forces when packaging libraries to avoid duplicated effort and dependency conflicts. CLJSJS seems like a good initiative to me along these lines: http://cljsjs.github.io David On Sun, Jan 25, 2015 at 1:49 PM, Vladimir Bokov bokov...@gmail.com javascript: wrote: Thanks David! I also already packaged https://github.com/razum2um/jquery-cljs using your react repo as example суббота, 24 января 2015 г., 21:10:29 UTC+6 пользователь David Nolen написал: ClojureScript, the Clojure compiler that emits JavaScript source code. README and source code: https://github.com/clojure/clojurescript New release version: 0.0-2719 Leiningen dependency information: [org.clojure/clojurescript 0.0-2719] ClojureScript is not an island, like Clojure on the JVM, ClojureScript embraces the many benefits provided by the host. However this goal has been hampered by another goal - the compilation stragey. Google Closure Compiler offers superior optimization and minification for ClojureScript while simultaneously making it considerably more difficult to integrate non-Closure compatible libraries. Using popular libraries like jQuery, React or D3 is an error prone process: which extern did I forget?, which script tag did I miss for development?, are these script tags in dependency order?. No more. 0.0-2719 delivers full support for non-Closure compatible libraries through some less known features that have been lurking around for almost three years - `deps.cljs` and the :foreign-libs compiler option. `deps.cljs` is a simple EDN file provided at the root of a JAR that describes additional build information for the ClojureScript compiler. For example here is the `deps.cljs` for the React JAR I maintain: { :foreign-libs [{:file react/react.js :file-min react/react.min.js :provides [com.facebook.React]} {:file react/react_with_addons.js :file-min react/react_with_addons.min.js :provides [com.facebook.ReactWithAddons]}] :externs [react/externs/react.js] } This file provides all the information ClojureScript needs to correctly manage the foreign dependency for you under all compilation modes and REPLs. In a REPL: cljs.user (require 'com.facebook.React) cljs.user (. js/React (renderToString (. js/React (DOM.div nil Hello! In your project: (ns foo.bar (:require com.facebook.React)) (enable-console-print!) (println (. js/React (renderToString (. js/React (DOM.div nil Hello!) The above works under all compilation modes. There is no need to include React as a script tag under development, there is no need to put script tags in dependency order, there is no need to add React to :preamble under :advanced, and there is no need to explicitly provide :externs. All that is required is that JavaScript libraries be packaged in JARs with a `deps.cljs`. Some of you might reasonably ask why not a tool like Bower for this instead? Bower requires an additional dependency on Node.js. While ClojureScript embraces Node.js as a useful target it is not a requirement to be productive. Bower manages dependencies, but in the Clojure world we have already embraced Maven for this task and have done the same for ClojureScript. Finally Bower does not address the problem of loading libraries at runtime. This is challenging to do - some JavaScript libraries adopt CommonJS, some AMD, and the most popular ones make no assumptions at all allowing users to simply use script tags as they have done for nearly two decades. The above solution addresses the issue for all ClojureScript users by eliminating paralysis of choice. Finally none of the above precludes Bower usage in any way whatsoever. This new feature addresses a long outstanding pain point with ClojureScript development. All that is required is that we take the time to properly package up the most popular JavaScript libraries that fill gaps not currently served by exising ClojureScript and Google Closure Library functionality. Please kick the tires and feedback is most welcome. This feature touched many bits of code so there are likely to be wrinkles and we want to get these ironed out as quickly as possible. ## 0.0-2719 ### Changes * Full support for foreign dependencies * CLJS-985: make ex-info not lose stack information * CLJS-984: Update Node.js REPL support to use public API * CLJS-963: do not bother computing goog/dep.js under :none ### Fixes * CLJS-982: Var derefing should respect Clojure semantics * CLJS-980:
maya - A DSL for math and numerical stuff
Lovely. It also seems like a stones throw away to a succint let macro. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Simplifying JS dependencies in ClojureScript
Sounds like this would work great for the majority where the lib is only js, but what about edge cases where a lib depends on a relative pathed resource like an image or css file? Bootstrap comes to mind. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ClojureScript] Browserless ClojureScript
Great job! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] Boot 2.0.0-rc1 released
cljx support turns my head. I took like a week off and on to read up on all the cljx/cljs/lein documentation and to create the cljx-start template. When I was working on it, I kept asking myself, why is all this stuff necessary. That which is generated by a computer should not have to be. Boot looks a lot simpler by comparison which I'm drawn to. Will be following more closely, nice work. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: {ANN} defun: A beautiful macro to define clojure functions with pattern match.
Is this clojurescript ready? This looks amazing, I would also love to have it in core. On Sunday, September 14, 2014 2:47:28 AM UTC-4, dennis wrote: Hi , i am pleased to introduce defun https://github.com/killme2008/defun: a beautiful macro to define clojure functions with pattern match. Some examples: (defun say-hi ([:dennis] Hi,good morning, dennis.) ([:catty] Hi, catty, what time is it?) ([:green] Hi,green, what a good day!) ([other] (str Say hi to other))) (say-hi :dennis) ;; Hi,good morning, dennis. (say-hi :catty) ;; Hi, catty, what time is it? (say-hi :green) ;; Hi,green, what a good day! (say-hi someone) ;; Say hi to someone Recursive function? It's all right: (defun count-down ([0] (println Reach zero!)) ([n] (println n) (recur (dec n (defun fib ([0] 0) ([1] 1) ([n] (+ (fib (- n 1)) (fib (- n 2) Guard functions? it's all right: (defun valid-geopoint? ([(_ :guard #(and ( % -180) ( % 180))) (_ :guard #(and ( % -90) ( % 90)))] true) ([_ _] false)) (valid-geopoint? 30 30) ;; true (valid-geopoint? -181 30) ;; false It's really cool,all the magic are from core.match, much more details please see https://github.com/killme2008/defun -- 庄晓丹 Email:killm...@gmail.com javascript: xzh...@avos.com javascript: Site: http://fnil.net Twitter: @killme2008 -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Interop nightmare
For an enterprising clojure hacker, this is a good opportunity to write Clojure for non-Java Hackers and put it up on Pragprog. On Sunday, September 7, 2014 10:50:31 PM UTC-4, Sam Raker wrote: I'm trying to use the Stanford Parser from Clojure, but I don't know hardly any Java, and this is my first time working with the interop stuff. All I want to do is play around with the class in the REPL. I added `[edu.stanford.nlp/stanford-parser 3.4.1]` to my Lein `project.clj`, and the download seemed to go fine. The documentation is http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/parser/lexparser/LexicalizedParser.html for those of you playing at home. Basically, my efforts have been a total failure. I can `(import edu.stanford.nlp.parser.lexparser.LexicalizedParser)`, but after that, it's just a nightmare of `no matching ctor`, `no matching field`, `NoSuchFieldException` and `expected static field` errors. I can't even initialize anything -- `(def parser (new LexicalizedParser))` gives me the aforementioned `no matching ctor` error. Like I said before, this is entirely my fault: I don't know Java, I don't know interop, and I Google has failed me. So I turn to you, beloved Clojure community, to correct my ignorance. I'm sure it's not hard, I'm just missing something. Thanks, -sam -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ANN: Reagent 0.4.0
Dan apparently is really strapped on time. If you check out the issues list you'll see a few of us are using a fork from github/@whoops while he's out and whoops has updated to the latest react. On Friday, August 29, 2014 7:21:46 AM UTC-4, Cesare wrote: Hi Dan, I'm playing with Reagent and I find it very simple and promising. Thanks for it! Anyway, the last update was 5 months ago (react 0.10.0): is the project still alive and well? Thanks in advance! Il giorno sabato 22 febbraio 2014 09:11:42 UTC+1, Dan Holmsand ha scritto: Reagent is now at 0.4.1, with support for ClojureScript 0.0-2173. Reagent's atom now implements the necessary IAtom, ISwap and IReset protocols. Reagent should still be compatible with older ClojureScript versions, but you will get a lot of compilation warnings. /dan On 21 feb 2014, at 16:57, Dan Holmsand holm...@gmail.com wrote: Reagent, a minimalistic interface between React.js and ClojureScript, is now at 0.4.0. The new release has a breaking change: Reagent now lets you call component functions exactly like ordinary functions (albeit with square brackets). This is obviously a breaking change, but behaviour is unchanged if you passed a map as the only argument (as in all the examples in the old documentation). Also: React is updated to 0.9.0, a great new example showing svg use in Reagent, by Jonas Enlund, general performance improvement, etc. Read more here: http://holmsand.github.io/reagent/news/any-arguments.html The project page is here: https://github.com/holmsand/reagent Cheers, /dan -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] New release 0.27.1 of Counterclockwise
Thanks Laurent and team! On Thursday, August 28, 2014 5:49:32 PM UTC-4, Laurent PETIT wrote: Counterclockwise the Eclipse Clojure development tool. Counterclockwise 0.27.1 has just been released. Contains 2 important bug fixes. All users are expectec to update from 0.27.0 ASAP Please see the Changelog for detailed explanations: Release Note === http://doc.ccw-ide.org/ChangeLog.html#_changes_between_counterclockwise_0_27_0_and_0_27_1 Install === Installation instructions: http://doc.ccw-ide.org/documentation.html#_install_counterclockwise Cheers, -- Laurent Petit -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] lein-plz 0.1.1 - Add dependencies quickly
This doesn't overwrite the current project.clj correct? It just generates text for a new file? On Saturday, August 16, 2014 8:19:42 PM UTC-4, john walker wrote: Hello everyone. This is a lein plugin that helps you add dependencies to projects pretty quickly. The git repo is here: https://github.com/johnwalker/lein-plz Basically, you write something like this: lein new foo cd foo lein plz add cljs async match jdbc and get this: (defproject foo 0.1.0-SNAPSHOT :description FIXME: write description :url http://example.com/FIXME; :license {:name Eclipse Public License :url http://www.eclipse.org/legal/epl-v10.html} :dependencies [[org.clojure/clojure 1.6.0] [org.clojure/clojurescript 0.0-2311] [org.clojure/core.async 0.1.319.0-6b1aca-alpha] [org.clojure/core.match 0.2.2] [org.clojure/java.jdbc 0.3.5]]) I hope it's useful. -- John -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] lein-plz 0.1.1 - Add dependencies quickly
I ran it on windows 7 via lein 2.4.3 and it just prints out a new project.clj. It didn't alter the project.clj for me. I ran: lein plz add match On Monday, August 18, 2014 12:24:00 PM UTC-4, Dylan Butman wrote: It looks like it walks the file and injects new lines. Are you planning on adding a remove task? Also, it'd be great if you define groups of dependencies by giving multiple dependencies the same key. For example, I want something like { om#{om frontend} prismatic/om-tools#{om-tools frontend} sablono#{sablono frontend} } where lein plz add frontend would add all three deps. Also, it seems like the task takes quite a while, and there's no debug output to indicate why, is this because you're fetching a lot of things behind the scenes? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: tools.analyzer[.js/.jvm], tools.emitter.jvm, status report
Keep up the great work Nicola. On Wednesday, August 13, 2014 12:54:54 PM UTC-4, Nicola Mometto wrote: As some of you might know, I've been working contiuously on my various tools.* contrib libraries for the past months and I've recently added tools.analyzer.js to the list of contrib libraries I maintain. Since I don't blog/tweet much about those libraries, I thought I'd write a report to let the community aware of the status of those libraries. ## tools.analyzer https://github.com/clojure/tools.analyzer tools.analyzer is a host-agnostic pluggable analyzer and collection of passes producing an AST in clojure data structures for clojure and other languages in the clojure language family, like clojurescript. The current release is 0.5.1, here's a list of notable changes that have made in in the last few months: * The analyzer now uses different environments for lexical state (like the locals map) and for global state (like namespaces mappings); the former is just a regular map passed to an analyze call, the latter is a dynamic var holding an atom and lives in the tools.analyzer.env namespace along with functions to setup/manipulate it. * The metadata elision mechanism has been vastly improved, allowing to specify different keys to elide based on the node :op, aswell as based on a predicate rather than simple key matching. * The env context now partecipates in a keyword hierarchy, the default contexts are :ctx/statement, :ctx/return and :ctx/expr and other contexts can be derived from those, as an example tools.analyzer utilizes :ctx.invoke/target and :ctx.invoke/params for nodes in invoke position. * Dispatch on clojure expressions types has been opened with the -analyze-form multimethod, allowing to provide custom evaluation strategies for custom types (this was needed for tools.analyzer.js because of clojurescript's #js syntax) * Documentation has been vastly improved with docstrings for every public function and pass, and the addition of an official AST quickref http://clojure.github.io/tools.analyzer/spec/quickref.html For a complete list of changes, refer to the CHANGELOG: https://github.com/clojure/tools.analyzer/blob/master/CHANGELOG.md For more informations and examples, refer to the README: https://github.com/clojure/tools.analyzer/blob/master/README.md ## tools.analyzer.jvm https://github.com/clojure/tools.analyzer.jvm tools.analyzer.jvm is a jvm-specific tools.analyzer extension, collection of passes and useful functions to deal with analysis of clojure on the JVM code. The current release is 0.5.2, here's a list of notable changes that have made in the last few months: * Added an analyze-ns function that returns a vector of AST nodes for every top-level form in that namespace; evaluates each form. * Added a configurable handler for wrong tags: while Clojure is permissive of type hints that don't resolve to a Class which it simply ignores in most cases, tools.analyzer.jvm's default behaviour has always been to throw an exception in those cases. This has been a longstanding issue for tools like eastwood that want to simply emit a warning on those cases rather than stopping analysis and error out. With the addition of this handlers, users can now control what happens when t.a.jvm hits a tag that can't be resolved to a Class. * Added optional Var-level tag inference * Improved analyze+eval to attach the result of the evaluation of the node to the AST, wrapping potential exceptions at evaluation time in an ExceptionThrown record. * Documentation has been vastly improved with docstrings for every public function and pass, and the addition of an official AST quickref http://clojure.github.io/tools.analyzer.jvm/spec/quickref.html For a complete list of changes, refer to the CHANGELOG: https://github.com/clojure/tools.analyzer.jvm/blob/master/CHANGELOG.md For more informations and examples, refer to the README: https://github.com/clojure/tools.analyzer.jvm/blob/master/README.md ## tools.analyzer.js https://github.com/clojure/tools.analyzer.js tools.analyzer.js is a js-specific tools.analyzer extension, collection of passes and useful functions to deal with analysis of clojurescript code. The current release is 0.1.0-beta4. The produced AST is not compatible with the one produced by cljs.analyzer even though they are similar as the cljs analyzer heavily influenced the AST format of tools.analyzer. tools.analyzer.js has several advantages over cljs.analyzer: * Heavily modular implementation, thanks to the :children-walking based multi-pass design. * Unified AST format and analyzer interface between clj and cljs code analyzers, this will allow library authors to write passes that can be shared between different analyzers and write code that will work for both clj and
Re: ANN: ClojureScript 0.0-2280
As always, thanks for your hard work. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [ANN] om-start lein template for nrepl compliant editors/IDEs
Thanks mimmo! Looking forward to trying this out. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: eclipse REPL problem (no prompt)
I recommend the counter clockwise users group at: https://groups.google.com/forum/#!forum/clojuredev-users On Monday, April 28, 2014 1:18:23 PM UTC-4, Roelof Wobben wrote: Hello, I try now the eclipse with CounterClockwise plugin. It looks to work fine except one thing. When I open a repl I do not see a sort of prompt. Does anyone know how to solve this ? Roelof -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [Kind of off-topic] Enlightenment
When I was writing a simple lib to work against stock prices and somewhere between a few hofs and a macro or two I ended up accidently with a small dsl for stock prices. I then remembered reading lisp is the language you write the language to solve the problem in and it just instantly range true like a huge gong. Definitely a Keanu Reeves whoa moment. On Sunday, February 9, 2014 10:15:14 AM UTC-5, Plinio Balduino wrote: Hi there I would like to know about your experiences of enlightenment, a-ha! ou now everything makes sense when you finally understood how LISP works and what's so hot about that language/family of languages. As LISP I mean any Lisp dialect, blessed or not by the good old lispers. I would to like to talk about it here, but I'm not sure if it's usual or if it's a kind of 'urban legend' of software developers. Thank you Plínio -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Recommendations for parsing/validating a JSON structure
Schema is really awesome. Very easy to use and even though the validation messages are a little cryptic, I think they'll work for libraries. My only irk with it so far is that it appears to modify the function prototype. (extend-protocol Schema js/Function ... Not sure why they need to extend it directly, but its modifying a core object prototype is considered a big no-no (just look at the backlash to prototype.js). Other than that though, been loving it. On Monday, January 27, 2014 7:43:52 AM UTC-5, Korny wrote: Parsing is easy - use either https://github.com/clojure/data.json or https://github.com/dakrone/cheshire (Cheshire used to have some advantages over data.json but I have the impression data.json has caught up). For validation I've used Prismatic Schema - https://github.com/prismatic/schema - it's good for structural validation, correct data types, valid keys etc. If you want user-friendly validation failures for individual fields you might want to use something more user-focused - there are quite a few validation libraries at http://www.clojure-toolbox.com/ you could try. - Korny On 27 Jan 2014 12:17, David Simmons shortl...@gmail.com javascript: wrote: Hi Folks. I'm writing a web app which receives a JSON structure. I'd like to validate that the structure is correct i.e. mandatory fields are present, and then convert into the relevant Clojure data structure. As a bonus if a particular field in the JSON structure is incorrect I'd like to be able to define the error message generated (in a similar way I can do for noir.validation). Does anyone have any recommended libraries or the best way to approach this issue - I'm sure I'm not the first with this requirement. cheers Dave -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@googlegroups.comjavascript: Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+u...@googlegroups.com javascript: 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+u...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Should predicates always have one argument?
I typically wrap stuff with (partial) for easier reading. In your example you might use something like following. (defn are-valid [maps validator] (let [valid? (partial validator)] (map valid? maps))) On Friday, January 31, 2014 11:44:38 AM UTC-5, Ryan wrote: Hello, I am wondering if all my predicates should be one argument functions because I run into a couple of cases where I needed more than one. For example, I have a function called valid-params? which takes two parameters; the validator to use and a maps parameter. Is this approach wrong/not the clojure way? What are my alternatives? Should I just use a different function name which does not have a question mark at the end that implies that is a predicate? Cheers, Ryan -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.