Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread Navgeet Agrawal
Hi Ambrose, Agreed, using CinC to analyze would be the best way. However given the wish list [1], I do not feel its suitable for me. Btw, I meant extending Codeq's analyzer rather than rewriting jvm.tools.analyzer. [1]: http://dev.clojure.org/display/design/Compiler+in+Clojure Cheers Navgeet

Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread Ambrose Bonnaire-Sergeant
Hi Navgeet, Yes CinC is a big job. Ah, I read the proposal more closely. I think you're on the right track. You should only need one more AST node for unexpanded macros, or maybe even just extra metadata on the :invoke :op. As a quick and dirty approach I like it. Thanks, Ambrose On Wed, May

Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread Ambrose Bonnaire-Sergeant
I'm not sure how useful unexpanding analyzer will actually be useful for Codeq, especially if you want to do analysis like who calls this function from it. Forms passed to a macro aren't necessarily going to be useful as unexpanded forms. eg. a macro that rewrites (+ 1 2) to (plus 1 2) might count

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Colin Yates
So a few months after using emacs, I gotta say I love it. First I absolutely hated it with a passion, and it really highlights my (fast but) poor typing skills :). Like Clojure I guess it requires a very different mindset. My constant frustration now is deciding whether to spend the time

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Víctor M . Valenzuela
My constant frustration now is deciding whether to spend the time improving my emacs skills (at the level of mainly implementing keybindings) or improving my lein and Clojure skills. One skill can help bootstrapping the other :) clojure.core/trampoline style. Thanks for sharing your

Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread Navgeet Agrawal
If I understand correctly, a macro invocation of the form `(expand '(+ 1 2)) = (plus 1 2)` will be analyzed as invoking the macro 'expand' on the list (+ 1 2). The list is never analyzed to be a call to clojure.core/+. As far as analysis like who calls this function are concerned, I think its best

Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread Ambrose Bonnaire-Sergeant
What about calls to `let`, `defn`, `loop`, `cond` and `fn`, which are all macros? Thanks, Ambrose On Wed, May 1, 2013 at 4:34 PM, Navgeet Agrawal navgeet.agra...@gmail.comwrote: If I understand correctly, a macro invocation of the form `(expand '(+ 1 2)) = (plus 1 2)` will be analyzed as

fast numerics in Scala...

2013-05-01 Thread Jim
I enjoyed watching this so I thought I'd share... http://www.infoq.com/presentations/Scala-Spire Jim -- -- 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

Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread Navgeet Agrawal
Ah seems like I did not think that through. For macros it makes sense to do analysis on their expansions. For example, for analyzing a defn form, codeq should examine the expansion's ast. Since I wanted to build all analysis functionality as plugins, therefore source analysis plugins should have

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Ulises
The biggest 'ah - got it' for me was when I realised IDEs are great for navigating huge object models which are relatively narrow but deep (i.e. lots of nested relationships). This requires a special set of navigation skills (cntrl-click to go to declaration, autocompletion etc). Clojure

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Colin Yates
Without static typing, I guess grep is the best? On 1 May 2013 12:13, Ulises ulises.cerv...@gmail.com wrote: The biggest 'ah - got it' for me was when I realised IDEs are great for navigating huge object models which are relatively narrow but deep (i.e. lots of nested relationships). This

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Víctor M . Valenzuela
I think such a feature is available in common lisp's slime. It shouldn't be hard to implement in clojure, particularly considering how helpful namespaces are. one would miss calls through eval etc, but that happens in statically-typed langs too (think reflection). On Wed, May 1, 2013 at 1:36 PM,

Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread John D. Hume
As a user of Codeq with Navgeet's proposed additions, I would definitely want to see macro usages along with runtime var references. So you're right that you'd want the result of analyzing the subject code with all macros expanded, but it would also be valuable to see the macros that got expanded

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Ulises
Because it's part of slime is why I was wondering whether it was already there and I had just missed it. grep will do for now I suppose. On 1 May 2013 12:44, Víctor M. Valenzuela v...@vemv.net wrote: I think such a feature is available in common lisp's slime. It shouldn't be hard to implement

Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Dave Sann
I came across the following... ;; = ok; (let [v :abc] nil) ;; = ok; (let [v :abc] nil) ;; = ok; (let [v :#abc] nil) ;; = fail; (let [v :#abc] nil) $ lein repl nREPL server started on port 33719 REPL-y 0.1.10 Clojure 1.5.1 ... user= ;; = ok; user= (let [v :abc] nil) nil

Re: Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Ambrose Bonnaire-Sergeant
According to the reader page, # isn't a valid character in a symbol/keyword. http://clojure.org/reader Thanks, Ambrose On Wed, May 1, 2013 at 10:22 PM, Dave Sann daves...@gmail.com wrote: I came across the following... ;; = ok; (let [v :abc] nil) ;; = ok; (let [v :abc] nil) ;; =

Re: Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Devin Walters
I wasn't able to reproduce: nREPL server started on port 64767 REPL-y 0.1.0-beta10 Clojure 1.5.1 ... user= (let [v :#abc] #_= nil) nil user= -- '(Devin Walters) On Wednesday, May 1, 2013 at 9:22 AM, Dave Sann wrote: I came across the following... ;; = ok; (let [v :abc] nil) ;; =

Re: [GSOC 2013] Program analysis suite, based on Rich Hickey's Codeq

2013-05-01 Thread Navgeet Agrawal
That's the benefit of a custom analyzer, its possible to control the process. Its best to harvest both the expanded ast and the macro invocation ast, since both are useful. Cheers Navgeet -- Navgeet Agrawal -- -- You received this message because you are subscribed to the Google Groups

More idiomatic way to find the first non-nil function result?

2013-05-01 Thread Steven Degutis
I've found myself writing a validator function. It has a list of internal validator functions, and should return the first one that evaluates to non-nil, without evaluating the rest. Here's the code I've come up with: (defn validate-something [data-1 data-2 data-3] (some #(%)

Re: Iota, reducers, word counting

2013-05-01 Thread Catonano
Meikel, thank you for your reply 2013/4/30 Meikel Brandmeyer (kotarak) m...@kotka.de Hello, your function does not follow the contract of fold. What you provided is basically the reduce function, but it doesn't work together with fold. For fold you need to merge the different maps you

Re: More idiomatic way to find the first non-nil function result?

2013-05-01 Thread Alex Robbins
This is similar to, but not exactly the same, as some-fn. Maybe the source of that could guide you? http://clojuredocs.org/clojure_core/clojure.core/some-fn On Wed, May 1, 2013 at 11:13 AM, Steven Degutis sbdegu...@gmail.com wrote: I've found myself writing a validator function. It has a

Re: More idiomatic way to find the first non-nil function result?

2013-05-01 Thread Cedric Greevey
What about (or (validate-data-1 data-1) (validate-data-2 data-2) (validate-data-3 data-3)) ? Or (some identity (map #(%1 %2) [validate-data-1 validate-data-2 validate-data-3] [data-1 data-2 data-3])) (though that might realize elements past the first non-nil one if

Re: The order of lazy-seq

2013-05-01 Thread Stephen Compall
On Apr 30, 2013 5:32 AM, Liao Pengyu arise...@gmail.com wrote: (def fib (lazy-seq (concat [0 1] (map + fib (rest fib) (take 10 fib) ;; Bomb The expression (rest fib) forces fib, which is the lazy seq you are already trying to force when you eval (rest fib).

pmap thread oversubscription OSX

2013-05-01 Thread kuba roth
Hi there, I'm currently testing a map/pmap performance and run into weird behavior in Clojure running on a OSX (compered to Linux). Running a 'slow' (processor intensive pmap function on OSX suffers from very poor performance whereas the same function on Linux runs just fine. At the first glance

pmap oversubscription on OSX

2013-05-01 Thread kuba roth
Hi there, I'm a bit nervous, this is my first post here :) I'm currently testing a map/pmap performance and run into weird behavior in Clojure running on a OSX (compered to Linux). Running a 'slow' (processor intensive pmap function on OSX suffers from very poor performance whereas the same

Re: More idiomatic way to find the first non-nil function result?

2013-05-01 Thread Steven Degutis
Oh yeah, or! Perfect! On Wed, May 1, 2013 at 12:46 PM, Cedric Greevey cgree...@gmail.com wrote: What about (or (validate-data-1 data-1) (validate-data-2 data-2) (validate-data-3 data-3)) ? Or (some identity (map #(%1 %2) [validate-data-1 validate-data-2

[ANN] Prismatic's Plumbing/Graph 0.1.0 is released with huge performance improvements

2013-05-01 Thread Jason Wolfe
Version 0.1.0 of Prismatic's Plumbing/Graph has just been released. The biggest change is backwards-compatible performance improvements of up to 40x for eager compilation, brining Graph to within 20% or so of hand-coded performance for trivial node functions. This was work done by Leon

Re: pmap thread oversubscription OSX

2013-05-01 Thread Marshall Bockrath-Vandegrift
kuba roth kuba.r...@gmail.com writes: I've got more examples for OSX which clearly shows that as soon as the number of tasks exceeds number of cores pmap performance suffers. It seems to me like there is no blocking taking place on threads and all the tasks are started at the same time.

A JMonkeyEngine3 wrapper?

2013-05-01 Thread Alex Fowler
So, inspired by the latest talks with locals, I propose starting a collective initiative on creating a full-scale wrapper for JME3. Actually, I am starting to write my Clojure project with JME3 and I feel like in a desperate need for a clojuric wrapper. So I started implementing wrappers for

Re: pmap oversubscription on OSX

2013-05-01 Thread Cedric Greevey
Please evaluate this on the OSX box and report here what it says: (.availableProcessors (Runtime/getRuntime)) On Wed, May 1, 2013 at 1:58 PM, kuba roth kuba.r...@gmail.com wrote: Hi there, I'm a bit nervous, this is my first post here :) I'm currently testing a map/pmap performance and run

Re: pmap thread oversubscription OSX

2013-05-01 Thread Cedric Greevey
You can substitute (iterate inc 0) for (range) to get an unchunked version of (range), BTW. On Wed, May 1, 2013 at 2:56 PM, Marshall Bockrath-Vandegrift llas...@gmail.com wrote: kuba roth kuba.r...@gmail.com writes: I've got more examples for OSX which clearly shows that as soon as the

Re: A JMonkeyEngine3 wrapper?

2013-05-01 Thread Jonathan Fischer Friberg
My effort can be found here: https://github.com/odyssomay/orbit It's kind of all over the place in that I have started on a lot of things, but not really finished any parts. In any case, should be some useful stuff in there. I haven't really been active on the project lately - there's a bunch of

Re: A JMonkeyEngine3 wrapper?

2013-05-01 Thread Jonathan Fischer Friberg
Some info about the current status: * Input handling - missing joystick (not that important I guess). * Networking - completely done (might be improved, but works for most purposes). * Physics - not started. * Materials - usable, but needs work. * Geometry - same as material. * Application +

Re: A JMonkeyEngine3 wrapper?

2013-05-01 Thread Jonathan Fischer Friberg
UI example: https://github.com/odyssomay/orbit/blob/master/test/orbit/test/ui.clj#L45 Sorry for the spam. :) Jonathan On Wed, May 1, 2013 at 11:28 PM, Jonathan Fischer Friberg odysso...@gmail.com wrote: Some info about the current status: * Input handling - missing joystick (not that

Re: A JMonkeyEngine3 wrapper?

2013-05-01 Thread Alex Fowler
Oh that's interesting! Looking at your code and API, I see many nice design solutions, although the style is somewhat different from waht I do.. but me are newb.. and I now started from doing wrappers for meshes, vertex buffers, geometries and materials and stuff.. since these are the 1st

Re: A JMonkeyEngine3 wrapper?

2013-05-01 Thread James Reeves
On 1 May 2013 21:08, Alex Fowler alex.murat...@gmail.com wrote: So, inspired by the latest talks with locals, I propose starting a collective initiative on creating a full-scale wrapper for JME3. Actually, I am starting to write my Clojure project with JME3 and I feel like in a desperate

Re: pmap thread oversubscription OSX

2013-05-01 Thread kuba roth
Thanks all for advise and sorry for the double post. Will check this out tonight and get back. Cheers, kuba On Wednesday, May 1, 2013 11:09:05 AM UTC-7, kuba roth wrote: Hi there, I'm currently testing a map/pmap performance and run into weird behavior in Clojure running on a OSX

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Phil Hagelberg
Ulises writes: Because it's part of slime is why I was wondering whether it was already there and I had just missed it. IIRC the implementation in swank-clojure is basically just grep that works inside jar files; it gives you lots of false positives when functions have the same name. It

Clojure for Beginners eBook

2013-05-01 Thread Asim Jalis
I am planning to write a practical Clojure ebook for beginners, if there is an interest in this. If you want to get updates when it is finalized drop me an email. The goal will be to help people get productive in Clojure quickly, and start using it to solve real-world problems. I have taught

Re: Clojure for Beginners eBook

2013-05-01 Thread Devin Walters
Philosophy mixed with action is the ticket. Godel, Escher, Bach is what I'm talking about. I'd be happy to receive updates. Cheers, -- '(Devin Walters) On Wednesday, May 1, 2013 at 7:40 PM, Asim Jalis wrote: I am planning to write a practical Clojure ebook for beginners, if there is an

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread James Thornton
Here's a key Emacs tip that will reduce your stress and make the key combinations easier, but it may not be obvious when you're first starting out... When you're learning something new, it's easy for bad form to go unnoticed unless someone points it out -- this is true in golf, tennis, Emacs,

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Softaddicts
Being left handed, I slightly disagree about your left hand (I'm left handed most of the time :) however the stress of repetive movements is often overlooked. 15 years ago, I started to use my left hand to control the mouse. My trunk had started leaning toward the right after a few years of

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread John Gabriele
On Wednesday, May 1, 2013 9:44:11 PM UTC-4, Luc wrote: I will eventually get back to it but reading your comment made me realize that I should wait when I can find emacs support for pedals much like an organ or a piano :) They've got pedals at https://www.kinesis-ergo.com/ which I

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Softaddicts
I may try their Savant Elite product :))) Three pedals ! On Wednesday, May 1, 2013 9:44:11 PM UTC-4, Luc wrote: I will eventually get back to it but reading your comment made me realize that I should wait when I can find emacs support for pedals much like an organ or a piano :)

Re: Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Dave Sann
Hi Ambrose. You are correct - but these are used frequently in both enlive and seesaw for selector tags. which is where this occurred. On Thursday, 2 May 2013 00:27:17 UTC+10, Ambrose Bonnaire-Sergeant wrote: According to the reader page, # isn't a valid character in a symbol/keyword.

Fwd: Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Dave Sann
-- Forwarded message -- From: Colin Jones trptco...@gmail.com Date: 2 May 2013 04:35 Subject: Re: Bug in reader or repl? reading keyword :#abc To: daves...@gmail.com On Wednesday, May 1, 2013 9:22:43 AM UTC-5, Dave Sann wrote: I came across the following... ;; = ok; (let

Re: Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Dave Sann
This may be due to the version of Reply you have. See comments by Colin Jones, forwarded. On Thursday, 2 May 2013 00:28:40 UTC+10, Devin Walters (devn) wrote: I wasn't able to reproduce: nREPL server started on port 64767 REPL-y 0.1.0-beta10 Clojure 1.5.1 ... user= (let [v :#abc]

Re: Bug in reader or repl? reading keyword :#abc

2013-05-01 Thread Dave Sann
Comments from Colin Jones. This is a symptom of how REPLy handles unexpected nodes that sjacket provides (and sjacket saying that :#abc is not a keyword). REPLy started to use sjacket for parsing input forms in 0.1.0 (final; not the betas), to handle situations like reader literals and

Re: emacs - how to wean me off the family of Java IDEs

2013-05-01 Thread Devin Walters
Voicing strong disagreement with using emacs-live as a starting point. One reason: They rebind a bunch of default emacs bindings, which is just fine by me, but C-h to a newcomer is important, and IIRC they rebound it. I think Phil's emacs-starter-kit modules/packages are a better place to

Re: pmap thread oversubscription OSX

2013-05-01 Thread kuba roth
On OSX (.availableProcessors (Runtime/getRuntime)) returns 2 in my case. I've also run into the following thread: https://groups.google.com/forum/#!topic/clojure/AtA-0LKYe9A There are two other implementations of CPU bound pmap: pmapall and pmap-pool. The latter one (by j-g-faustus) actually

Re: Clojure for Beginners eBook

2013-05-01 Thread Michael Klishin
2013/5/2 Asim Jalis asimja...@gmail.com Any thoughts or feedback would be great. I just want to point out that if you want, you can reuse http://clojure-doc.org content, as the license [1] permits just about any use. Clojure books space is already pretty crowded [2] but more content for

Re: Clojure for Beginners eBook

2013-05-01 Thread kuba roth
I would also add - setting up Eclipse with counterclockwise - native java libs setup (lwjgl) for OpenGL folks. Since I don't have java background this took me a while to figure out and Lein (which is a great tool btw) doesn't provide an intuitive support for this sort of stuff