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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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)
;; =
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)
;; =
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
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 #(%)
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
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
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
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).
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
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
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
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
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.
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
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
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
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
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 +
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
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
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
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
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
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
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
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,
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
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
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 :)
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.
-- 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
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]
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
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
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
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
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
52 matches
Mail list logo