Re: [ANN] mod-lang-clojure for Vert.x 0.2.0 released
Does this have the ring adapter bundled in ? Thanks On Wed, Sep 18, 2013 at 5:16 AM, Toby Crawley t...@tcrawley.org wrote: mod-lang-clojure[0] 0.2.0 was released earlier today, and is now available in Maven Central. The biggest change in 0.2.0 is the addition of a ClojureScript wrapper around the client-side vertxbus.js.[1] For a full list of changes, see the ChangeLog[2]. # What is mod-lang-clojure? mod-lang-clojure is a fledging Clojure language module for Vert.x[3]. Vert.x is an asynchronous polyglot application platform based on Netty. [0]: https://github.com/vert-x/mod-lang-clojure/ [1]: https://github.com/vert-x/mod-lang-clojure/blob/0.2.0/api/src/main/clojure/vertx/client/eventbus.cljs [2]: https://github.com/vert-x/mod-lang-clojure/blob/master/ChangeLog.md [3]: http://vertx.io/ -- Toby Crawley http://immutant.org | http://torquebox.org -- -- 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. -- -- 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: Hotspot predictability
I was worrying about https://github.com/hugoduncan/criterium/issues/19 but actually these tests are not nearly fast enough to cause problems. I reran the last benchmark without dotimes and the results look pretty much the same - https://gist.github.com/jamii/6607031 I'm still a little worried about adding more frames onto the stack but it only really matters inside mutually-recursive parsers and I suspect I'm going to have to trampoline those anyway. On 18 September 2013 06:23, Jason Wolfe ja...@w01fe.com wrote: I've found similar things with compiling schema validators. Be careful with doseq benchmarks like this though, if you aren't careful hotspot can completely eliminate parts of the computation as dead code if it can infer the results aren't used. Criterion has a neat trick for making sure this can't happen, IIRC. On Tuesday, September 17, 2013 10:00:46 AM UTC-7, Jamie Brandon wrote: For larger patterns, the staged version is actually significantly faster: https://gist.github.com/jamii/6597235 On 17 September 2013 16:29, Jamie Brandon ja...@scattered-thoughts.net wrote: I ran a little benchmark comparing different implementations of a toy pattern matching protocol: https://gist.github.com/jamii/6595850 I'm surprised to find that the staged version is not significantly slower than the compiled version. Now I'm wondering whether this is feasible on a larger scale. Can I always rely on those fns being inlined? Is there some magic threshold on closure nesting where suddenly there will be inlining and I will blow up my stack? More generally, how can I find out this sort of thing? There seems to be very little hard information on what optimisations hotspot will reliably perform. This looks like it could be useful - http://mechanical-sympathy.blogspot.co.uk/2013/06/printing-generated-assembly-code-from.html - but I'm not sure how I would make that work with clojures class name mangling for closures. -- -- 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: [ANN] mod-lang-clojure for Vert.x 0.2.0 released
Josh Kamau writes: Does this have the ring adapter bundled in ? No, the ring adapter is a separate project (https://github.com/stream1984/ring-vertx-adapter), and will likely remain so. -- Toby Crawley http://immutant.org | http://torquebox.org -- -- 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: another game of exploding heap, via clojure.string/split
I've used YourKit extensively for profiling and analysis and would highly recommend it . Rob. On 17 Sep 2013, at 08:56, Andy Fingerhut andy.finger...@gmail.com wrote: Some of the hits point at commercial tools, which you didn't mention. I've heard positive comments about YourKit in the past. It is commercial, but it looks pretty easy to get a 15-day evaluation license. I haven't used it, but it claims to have some features to aid in detecting and analyzing memory leaks: http://www.yourkit.com/docs/80/help/memory_leaks.jsp I also saw hits for a tool called plumbr. I have no information about it, good or bad. Andy On Tue, Sep 17, 2013 at 8:45 AM, Brian Craft craft.br...@gmail.com wrote: I did, of course, spend a lot of time with google before posting. All of the hits point to jconsole, jmap, and visualvm. None of these tools work reliably. They hang, they crash, they spit up errors, they generate useless results. You'll note in another thread this morning another developer having jmap and visualvm barf on them. It's not an isolated incident. On Tuesday, September 17, 2013 8:21:14 AM UTC-7, Andy Fingerhut wrote: Another possibility: The people who know aren't reading this thread. I'd tell you if I knew, but I haven't needed to track down a problem like this for several years, and forgotten whatever tool I used at the time (it was probably jmap). Suggestion: Google search java memory leak and see what tools and techniques people suggest in articles they write on the topic. Andy On Tue, Sep 17, 2013 at 8:07 AM, Brian Craft craft...@gmail.com wrote: On Thursday, September 12, 2013 7:47:02 PM UTC-7, Cedric Greevey wrote: On Thu, Sep 12, 2013 at 3:33 PM, Andy Fingerhut andy.fi...@gmail.com wrote: I have just added some discussion of this on ClojureDocs.org for the function clojure.core/subs, and references to that discussion for several other Clojure functions that I am pretty sure are affected, e.g. re-find, re-seq, re-matches, clojure.string/split, replace, replace-first We know with certainty that clojure.string/split is affected. Also, the OP's question about how to use tooling to track down similar leaks in the future does not appear to have been satisfactorily answered as of yet. cricket, cricket, cricket... ;) Is there really no working tooling for the jvm? The string thing bothers me less than the problem of seq heads. It is ridiculously easy to create a memory leak with a seq, and desperately hard to track one down. I would be surprised if most clojure apps were not leaking memory somewhere, in places that go unnoticed until a sufficiently large input fills the heap. I wonder if a static analysis approach could identify code that appears to retain a seq head to no effect. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com. 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. -- -- 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: [ANN] clojure-sql 0.1.0: relational algebra in clojure
Sounds good! I've been having a go with it today in a data-migration thing and I like it. It feels very like clojureql but as you said, it fails earlier with ambiguous queries, which definitely makes debugging easier. One other difference I did notice with clojureql is that in clojureql the database/connection is part of the query definition `(table db :users)`, where as in clojure-sql the database/connection is a separate thing. This seemed more orthogonal to me, but in practice I found it a bit tricky when working with multiple databases as I kept having to change global state - is there a better way of handling multiple databases using clojure-sql (perhaps I need to write my own query executor...?) A couple more questions (if that's ok) - 1. Are there any known issues/not-implemented-yet bits I might run into when using clojure-sql? 2. What plans do you have for the library going forward? Anyway, many thanks for your work again, and I do hope clojure-sql finds its niche amongst the other clojure sql libraries. I think the relational algebra approach has a lot going for it. 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/groups/opt_out.
possible bug in 1.51?
;; run the following code that creates namespace blech where (ns ...) includes metadata ;; both cases compile without error ;; case 1: when metadata entry :type test is included (the-ns 'blech) works ;; case 2: when metadata entry :type :test is included (the-ns 'blech) triggers the exception: ;;ClassCastException clojure.lang.Namespace cannot be cast to clojure.lang.IObj ;;clojure.core/with-meta (core.clj:214) ;; note: cases were run with freshly restarted repl ;; test code --- (ns blech{:xtype:test ;; no error ;:type test ;; case 1 - (the-ns 'blech) works :type:test ;; case 2 - (the-ns 'blech) triggers exception }) (in-ns 'user) (the-ns 'blech) -- -- 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.
LispCabinet
Hello, I am trying to get into EMACS and LispCabinet seems like a good to try. From the shell I am able to see that the JAVA_HOME is set to a folder internal to LispCabinet JAVA_HOME=c:/LispCabinet/cabinet/bin/jdk Could I just copy my java.exe to that locations and I would not need any other files? Should I use the link for Java SE in here? http://www.oracle.com/technetwork/java/javase/archive-139210.html -- -- 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: LispCabinet
I actually did the portable install, is it possible to do a portable install of java. Or do I need to install and then copy files? Sorry I am posting java questions here but I'm not sure where else to ask/look. On Wednesday, September 18, 2013 2:41:09 PM UTC-5, ArturoH wrote: Hello, I am trying to get into EMACS and LispCabinet seems like a good to try. From the shell I am able to see that the JAVA_HOME is set to a folder internal to LispCabinet JAVA_HOME=c:/LispCabinet/cabinet/bin/jdk Could I just copy my java.exe to that locations and I would not need any other files? Should I use the link for Java SE in here? http://www.oracle.com/technetwork/java/javase/archive-139210.html -- -- 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.
[ANN] Sleight: whole program transformations
This is a lein plugin which hijacks the Clojure reader and allows all forms to be transformed before they're passed to the compiler. Usage and potential applications are described in the readme: https://github.com/ztellman/sleight I wrote the original version of this a year ago, but due to the lack of good code walking facilities it was more a sketch than anything else. Luckily, with the recent release of Riddley [1], this is newly useful. I'm looking forward to seeing what people use it for. Zach [1] https://github.com/ztellman/riddley -- -- 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.
XML namespace parsing - any movement?
So, the background - there is a page about fuller xml support at http://dev.clojure.org/display/DXML/Fuller+XML+support - Currently none of the xml parsing options support this - the best I've found is https://github.com/grammati/eksemel but it hasn't been touched in 2 years, and the last commit mentioned embarrassingly slow :) There *is* a patch to data.xml created by Carlo Sciolla - in March 2012: http://dev.clojure.org/jira/browse/DXML-4 - however Carlo hadn't signed a CA, and there hasn't been any action on that patch (except for requests for a CA!) since. So, my questions: - Is there any progress on this elsewhere? Anyone else dealing with the wonderful world of namespaces? - Anyone give me insights into using Carlo's patch - can we make our own data.xml clone internally using this patch? Or does the lack of a CA mean this is in license limbo? (also, of course, there's some fear that the patch is too old to be reasonably useful) Thanks for any assistance. - Korny -- Kornelis Sietsma korny at my surname dot com http://korny.info .fnord { display: none !important; } -- -- 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: [ANN] clojure-sql 0.1.0: relational algebra in clojure
On Wed, Sep 18, 2013 at 09:27:22AM -0700, Daniel Neal wrote: One other difference I did notice with clojureql is that in clojureql the database/connection is part of the query definition `(table db :users)`, where as in clojure-sql the database/connection is a separate thing. This seemed more orthogonal to me, but in practice I found it a bit tricky when working with multiple databases as I kept having to change global state - is there a better way of handling multiple databases using clojure-sql (perhaps I need to write my own query executor...?) Yeah, writing your own executor is a good option. Personally I would write one which returns a function of the database, like this: (set-query-executor! (fn [type query] (fn [db] (jdbc/with-connection db (case type :select (jdbc/with-query-results results query (dotted-to-nested-maps results)) :insert (jdbc/do-prepared-return-keys (first query) (next query)) :update (jdbc/do-prepared-return-keys (first query) (next query)) :delete (first (jdbc/do-prepared (first query) (next query))) (assert false (str Unknown query type: type))) Then you can use (@query db) to run queries, and the slightly-clunkier ((insert! query record ...) db) to modify the database. (I haven't tried running this code, so it may require some modification to actually work.) In my use case I am always working with a single database, so I thought this approach would be a bit overkill as the default. 1. Are there any known issues/not-implemented-yet bits I might run into when using clojure-sql? Almost certainly, but I don't know all of the issues. So far it's been working for what I've needed it for (which is a fairly small subset of SQL, admittedly). I'm not happy with the way the grouping stuff works at the moment, but at the moment I've not really had much time to fix it. It should work, but you lose the ability to freely compose things once you do a group (because a select being applied later can change the group result). 2. What plans do you have for the library going forward? A few things, when I get a chance, mostly to do with generalising the relational algebra approach beyond just SQL. I'd like to make it so queries can be executed against other possible data stores (eg. an in-memory structure, files on disk) efficiently. As part of this would also be re-thinking how queries are executed. Obviously, as you've seen above, the executor stuff isn't quite as nice as it could be. I don't like having the global state stuff, but I wanted executing queries to be both easy and configurable. I'd also like to start generating SQL for other databases. I've been putting this off because I don't really have any need for it at the moment and it's a fair bit of work to do properly. Carlo -- -- 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.