Re: evaluating compiled clojurescript functions at the REPL

2013-10-13 Thread Dave Della Costa
Link?

(2013/10/13 14:14), Benjamin Vulpes wrote:
 Hey all!
 
 I've written a S.O. question about Emacs/ClojureScript REPL integration.
 My basic question is:
 
 how ams call compiled functions and execute in browser context?
 
 I love working with Emacs and I also love all of the work that everyone
 has put into building a robust Emacs/CLJ* toolchain, and really look
 forward to any tips anyone has to share on getting all of the nrepl.el
 functionality in a browser-executing cljs repl.
 
 Thanks!
 --vulpes
 
 -- 
 -- 
 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: [ClojureScript] Re: evaluating compiled clojurescript functions at the REPL

2013-10-13 Thread Benjamin Vulpes
That would be useful data, eh?

http://stackoverflow.com/questions/19342066/evaluating-compiled-clojurescript-functions-at-the-repl


On Sat, Oct 12, 2013 at 11:36 PM, Dave Della Costa ddellaco...@gmail.comwrote:

 Link?

 (2013/10/13 14:14), Benjamin Vulpes wrote:
  Hey all!
 
  I've written a S.O. question about Emacs/ClojureScript REPL integration.
  My basic question is:
 
  how ams call compiled functions and execute in browser context?
 
  I love working with Emacs and I also love all of the work that everyone
  has put into building a robust Emacs/CLJ* toolchain, and really look
  forward to any tips anyone has to share on getting all of the nrepl.el
  functionality in a browser-executing cljs repl.
 
  Thanks!
  --vulpes
 
  --
  --
  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.

 --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google Groups
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.


-- 
-- 
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.


Clojure vs OSGi once again...

2013-10-13 Thread Mark Derricutt
Hey all,

Once again I'm lending my hand at trying to get some clojure code working under 
OSGi, and once again hitting issues with the good ole class loader. I have a 
simple OSGi bundle project which embeds clojure.jar, and contains a single 
source file:

(ns com.theoryinpractise.activator.osgi.components
(:import (org.osgi.framework BundleActivator)))

(deftype MyActivator []
  BundleActivator
  (start [this context]
(println Hello from service))
  (stop [this context]
  (println stopping)))

In my OSGi metadata I have 
`com.theoryinpractise.activator.osgi.components.MyActivator` listed as the 
`Bundle-Activator` for the bundle, and when I load it I get the following 
exception:

Caused by: java.lang.ExceptionInInitializerError
at 
com.theoryinpractise.activator.osgi.components.MyActivator.clinit(components.clj:4)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at 
org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4336)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2141)
... 32 more
Caused by: java.io.FileNotFoundException: Could not locate 
clojure/core__init.class or clojure/core.clj on classpath:
at clojure.lang.RT.load(RT.java:443)
at clojure.lang.RT.load(RT.java:411)
at clojure.lang.RT.doInit(RT.java:447)
at clojure.lang.RT.clinit(RT.java:329)
... 40 more
java.lang.ExceptionInInitializerError

When I look at the decompiled class ( using JD-GUI ) I see there's a static 
initialiser pulling in the `println` function:

public final class MyActivator implements BundleActivator, IType {
  public static final Var const__0 = (Var)RT.var(clojure.core, println);
  …

Tracing this down into `RT.baseLoader()`:

static public ClassLoader baseLoader(){
if(Compiler.LOADER.isBound())
return (ClassLoader) Compiler.LOADER.deref();
else if(booleanCast(USE_CONTEXT_CLASSLOADER.deref()))
return Thread.currentThread().getContextClassLoader();
return Compiler.class.getClassLoader();
}

I find that `Compiler.LOADER.isBound()` is false, and 
`booleanCast(USE_CONTEXT_CLASSLOADER.deref())` is true, which leads to using 
the class loader for the OSGi runtime and *not* the class loader that happens 
to actually know anything about Clojure, which would be the OSGi Bundle 
classloader for my package.

Does anyone know of a way around this? Or will I need to give up on trying to 
use pure-clojure here and use Java for my activator, and call 
`Compiler.LOADER.set(myclassloader)` and then do some `RT.*` love?

Cheers,
Mark
 


signature.asc
Description: OpenPGP digital signature


Re: ANN: lein-midje-doc 0.0.9 released

2013-10-13 Thread zcaudate
Hi Tim.

That is a strange message. I am using conch to shell out to pygments which does 
the syntax highlighting. I'm not sure why that library is not compiling. What 
operating system are you using?

-- 
-- 
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: lein-midje-doc 0.0.9 released

2013-10-13 Thread zcaudate
Also.. What version of clojure are you using? I'll try with that and see if I 
can reproduce the error.

-- 
-- 
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: Clojure vs OSGi once again...

2013-10-13 Thread Laurent PETIT
Hi Marc,

The clojure.osgi library aims at easing the pain in this area (
https://github.com/aav/clojure.osgi ).

But to be honest I don't really know it's current status.

For Counterclockwise, I've taken inspiration from clojure.osgi and
integrated the core concepts into a few classes.
In a nutshell, every entry point to the clojure world (especially for
loading namespaces -potentially lazily thanks to eclipse lazy plugins
infrastructure-) is wrapped in a call that ensures that as much dynamic
bindings as possible are established, as well as the context class loader
set.

You can see all this by looking at the activator for counterclockwise.

HTH,

Laurent

Le dimanche 13 octobre 2013, Mark Derricutt a écrit :

 Hey all,

 Once again I'm lending my hand at trying to get some clojure code working
 under OSGi, and once again hitting issues with the good ole class loader. I
 have a simple OSGi bundle project which embeds clojure.jar, and contains a
 single source file:

 (ns com.theoryinpractise.activator.osgi.components
 (:import (org.osgi.framework BundleActivator)))

 (deftype MyActivator []
   BundleActivator
   (start [this context]
 (println Hello from service))
   (stop [this context]
   (println stopping)))

 In my OSGi metadata I have
 com.theoryinpractise.activator.osgi.components.MyActivator listed as the
 Bundle-Activator for the bundle, and when I load it I get the following
 exception:

 Caused by: java.lang.ExceptionInInitializerError
 at 
 com.theoryinpractise.activator.osgi.components.MyActivator.clinit(components.clj:4)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at 
 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at java.lang.Class.newInstance(Class.java:374)
 at org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4336)
 at org.apache.felix.framework.Felix.activateBundle(Felix.java:2141)
 ... 32 more
 Caused by: java.io.FileNotFoundException: Could not locate 
 clojure/core__init.class or clojure/core.clj on classpath:
 at clojure.lang.RT.load(RT.java:443)
 at clojure.lang.RT.load(RT.java:411)
 at clojure.lang.RT.doInit(RT.java:447)
 at clojure.lang.RT.clinit(RT.java:329)
 ... 40 more
 java.lang.ExceptionInInitializerError

 When I look at the decompiled class ( using JD-GUI ) I see there's a
 static initialiser pulling in the println function:

 public final class MyActivator implements BundleActivator, IType {
   public static final Var const__0 = (Var)RT.var(clojure.core, println);
   …

 Tracing this down into RT.baseLoader():

 static public ClassLoader baseLoader(){
 if(Compiler.LOADER.isBound())
 return (ClassLoader) Compiler.LOADER.deref();
 else if(booleanCast(USE_CONTEXT_CLASSLOADER.deref()))
 return Thread.currentThread().getContextClassLoader();
 return Compiler.class.getClassLoader();
 }

 I find that Compiler.LOADER.isBound() is false, and
 booleanCast(USE_CONTEXT_CLASSLOADER.deref()) is true, which leads to
 using the class loader for the OSGi runtime and *not* the class loader
 that happens to actually know anything about Clojure, which would be the
 OSGi Bundle classloader for my package.

 Does anyone know of a way around this? Or will I need to give up on trying
 to use pure-clojure here and use Java for my activator, and call
 Compiler.LOADER.set(myclassloader) and then do some RT.* love?

 Cheers,
 Mark


-- 
-- 
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: lein-midje-doc 0.0.9 released

2013-10-13 Thread Timothy Washington
Hi Chris,


*A)* My dev environment is in a VMWare guest Ubuntu Linux Server 12.04.3
(on an OSX Host). *B)* My project's clojure version is 1.5.1. And *C)*, I
have the latest version of pygments installed via apt-get. But I don't
think those are the causes.

That top-level error with the *seq/map-nth* function is in the
*usefulhttps://clojars.org/useful
* lib, used by *conch https://clojars.org/me.raynes/conch*, used by *
lein-mdije-doc https://clojars.org/lein-midje-doc*. I presume that the
version of useful doesn't have that particular function. Now, when using
the lein-midje-doc plugin, the versions of *useful* that get pulled down,
are *0.8.3-alpha8* and *0.8.5-alpha2*. However, the latest version on
Clojars is *0.8.8*. Maybe using the latest version of *conch* will help.
Your tool seems to use *0.5.0*. But the latest version is *0.5.2*.


Tim Washington
Interruptsoftware.ca / Bkeeping.com


On Sun, Oct 13, 2013 at 6:01 AM, zcaudate z...@caudate.me wrote:

 Also.. What version of clojure are you using? I'll try with that and see
 if I can reproduce the error.

 --
 --


-- 
-- 
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] scopes: a little library for resource scopes

2013-10-13 Thread Paul Stadig
No, I just implemented a simple intuitive scope, which looks like it is
about the same as the basic idea there. There are some interesting
ideas/questions about how scopes work across threads and how consumers can
pass the buck for resource clean up to an enclosing scope (like exception
handling).

In my case I explicitly don't handle extending scopes to child threads (for
now). If the bindings convey to a child thread and you try to add an object
to the current scope, then you'll get an exception for trying to set! a
conveyed binding.

I'm not sure about the idea for passing resource clean up to an enclosing
scope. I'd have to consider the problem and potential solutions before I
could form an opinion.

That's not to say that these things are bad ideas or that some version of
them won't end up in the library. I just wanted a minimal implementation of
a scoping concept. It can evolve from there.


Paul


On Sat, Oct 12, 2013 at 10:11 AM, Jozef Wagner jozef.wag...@gmail.comwrote:

 Is it based on http://dev.clojure.org/display/design/Resource+Scopes ?

 On Friday, October 11, 2013 3:54:59 PM UTC+2, Paul Stadig wrote:

 It separates the resource management from the creation and lexical
 binding of resources. You can create a scope high up in the call stack, and
 within the dynamic extent of that scope you can create resources, return
 them from functions and freely use them; when the scope eventually exits,
 then the resources will be cleaned up.

 This library does also generalize a bit to allow you to register an
 object and a clean up function, or even just a thunk to get called when the
 scope exits.

 On Friday, October 11, 2013 7:56:52 AM UTC-4, Cedric Greevey wrote:

 What does this do that (with-open ...) doesn't do? Generalize to other
 cleanup methods than (.close x)?


 On Fri, Oct 11, 2013 at 6:36 AM, Paul Stadig pa...@stadig.name wrote:

 I have released version 0.1.0 of scopes, a little library for resource
 scopes. It can be used to establish a resource scope with the
 with-resource-scope macro. Within the dynamic extent of that macro one can
 register a resource with the scoped! function so that when the macrco block
 goes out of scope .close is called on the registered resource.

 An object and function can also be registered with (scoped! x (fn [x]
 ...)) so that when the macro block goes out of scope the function will be
 called and given x as an argument.

 There is also a shorthand function called scoped-thunk! that will
 register a thunk (a function taking no arguments) to be called when the
 macro block goes out of scope.

 The scopes library also defines a function named closeable? that will
 return true if its argument implements java.lang.AutoCloseable.

 Because scopes uses the java.lang.AutoCloseable interface and the
 exception supression mechanism, it is only compatible with Java 7.

 Finally, there is also a scopes-magic artifact, and when it is on the
 classpath it will automatically pull in the scopes library and add
 with-resource-scope, scoped!, scoped-thunk!, and closeable? to clojure.core
 so that they are automatically available everywhere with out having to be
 imported. I'm not saying that this is necessarily a good idea, but there it
 is. :)

 https://clojars.org/pjstadig/**scopeshttps://clojars.org/pjstadig/scopes
 https://clojars.org/pjstadig/**scopes-magichttps://clojars.org/pjstadig/scopes-magic


 Paul

  --
 --
 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=enhttp://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_outhttps://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 a topic in the
 Google Groups Clojure group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/clojure/qPUd3AEVxT8/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 clojure+unsubscr...@googlegroups.com.
 For more options, visit 

Re: [ANN] scopes: a little library for resource scopes

2013-10-13 Thread Jozef Wagner
In JVM, we can assume (or should implement it in a way) that objects
representing resource release the resource upon object's finalize method.
If you push resource into the scope, it is not GCed until the scope ends.
How about pushing to scope weak refs to resources instead?

JW


On Sun, Oct 13, 2013 at 1:34 PM, Paul Stadig p...@stadig.name wrote:

 No, I just implemented a simple intuitive scope, which looks like it is
 about the same as the basic idea there. There are some interesting
 ideas/questions about how scopes work across threads and how consumers can
 pass the buck for resource clean up to an enclosing scope (like exception
 handling).

 In my case I explicitly don't handle extending scopes to child threads
 (for now). If the bindings convey to a child thread and you try to add an
 object to the current scope, then you'll get an exception for trying to
 set! a conveyed binding.

 I'm not sure about the idea for passing resource clean up to an enclosing
 scope. I'd have to consider the problem and potential solutions before I
 could form an opinion.

 That's not to say that these things are bad ideas or that some version of
 them won't end up in the library. I just wanted a minimal implementation of
 a scoping concept. It can evolve from there.


 Paul


 On Sat, Oct 12, 2013 at 10:11 AM, Jozef Wagner jozef.wag...@gmail.comwrote:

 Is it based on http://dev.clojure.org/display/design/Resource+Scopes ?

 On Friday, October 11, 2013 3:54:59 PM UTC+2, Paul Stadig wrote:

 It separates the resource management from the creation and lexical
 binding of resources. You can create a scope high up in the call stack, and
 within the dynamic extent of that scope you can create resources, return
 them from functions and freely use them; when the scope eventually exits,
 then the resources will be cleaned up.

 This library does also generalize a bit to allow you to register an
 object and a clean up function, or even just a thunk to get called when the
 scope exits.

 On Friday, October 11, 2013 7:56:52 AM UTC-4, Cedric Greevey wrote:

 What does this do that (with-open ...) doesn't do? Generalize to other
 cleanup methods than (.close x)?


 On Fri, Oct 11, 2013 at 6:36 AM, Paul Stadig pa...@stadig.name wrote:

 I have released version 0.1.0 of scopes, a little library for resource
 scopes. It can be used to establish a resource scope with the
 with-resource-scope macro. Within the dynamic extent of that macro one can
 register a resource with the scoped! function so that when the macrco 
 block
 goes out of scope .close is called on the registered resource.

 An object and function can also be registered with (scoped! x (fn [x]
 ...)) so that when the macro block goes out of scope the function will be
 called and given x as an argument.

 There is also a shorthand function called scoped-thunk! that will
 register a thunk (a function taking no arguments) to be called when the
 macro block goes out of scope.

 The scopes library also defines a function named closeable? that will
 return true if its argument implements java.lang.AutoCloseable.

 Because scopes uses the java.lang.AutoCloseable interface and the
 exception supression mechanism, it is only compatible with Java 7.

 Finally, there is also a scopes-magic artifact, and when it is on the
 classpath it will automatically pull in the scopes library and add
 with-resource-scope, scoped!, scoped-thunk!, and closeable? to 
 clojure.core
 so that they are automatically available everywhere with out having to be
 imported. I'm not saying that this is necessarily a good idea, but there 
 it
 is. :)

 https://clojars.org/pjstadig/**scopeshttps://clojars.org/pjstadig/scopes
 https://clojars.org/pjstadig/**scopes-magichttps://clojars.org/pjstadig/scopes-magic


 Paul

  --
 --
 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=enhttp://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_outhttps://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
 

Re: [ClojureScript] Re: evaluating compiled clojurescript functions at the REPL

2013-10-13 Thread Catonano
Benjamin,

I modified a Pedestal based project to use a REPL and through that REPL you
can inspect the app running live in the browser.

The project is here
https://github.com/humanitiesNerd/tinkering-with-the-repl


And the youtube footage is here
http://www.youtube.com/watch?v=3AYKXRby5oE

It's not snappy, Iḿ sorry. It's the first screencast in my life, I recorded
it late at night and I had missed the microphone level toggle so the audio
is a bit... well... inadequate.

But if you can set your volume high enough you could still find it useful.

A pat on my shoulder could be of help in convincing me to re-record it in a
better way.

Tchüss !


2013/10/13 Benjamin Vulpes ben...@gmail.com

 That would be useful data, eh?


 http://stackoverflow.com/questions/19342066/evaluating-compiled-clojurescript-functions-at-the-repl


 On Sat, Oct 12, 2013 at 11:36 PM, Dave Della Costa 
 ddellaco...@gmail.comwrote:

 Link?

 (2013/10/13 14:14), Benjamin Vulpes wrote:
  Hey all!
 
  I've written a S.O. question about Emacs/ClojureScript REPL integration.
  My basic question is:
 
  how ams call compiled functions and execute in browser context?
 
  I love working with Emacs and I also love all of the work that everyone
  has put into building a robust Emacs/CLJ* toolchain, and really look
  forward to any tips anyone has to share on getting all of the nrepl.el
  functionality in a browser-executing cljs repl.
 
  Thanks!
  --vulpes
 
  --
  --
  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.

 --
 Note that posts from new members are moderated - please be patient with
 your first post.
 ---
 You received this message because you are subscribed to the Google Groups
 ClojureScript group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojurescript+unsubscr...@googlegroups.com.
 To post to this group, send email to clojurescr...@googlegroups.com.
 Visit this group at http://groups.google.com/group/clojurescript.


  --
 --
 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] Grenchman, for running Clojure code quickly

2013-10-13 Thread Tim Visher
All I want to say is that you are still _the man_ when it comes to
pushing cli clojure tooling forward, IMHO. Thanks so much!

On Tue, Oct 8, 2013 at 10:49 PM, Phil Hagelberg p...@hagelb.org wrote:
 When we've polled Leiningen users in the past[1], the #1 pain point
 people always report is its startup time. While there have been a number
 of strategies suggested to reduce the annoyance of slow JVM startup time
 and project loading, keeping your JVMs around can lead to awkward
 workflows in some situations given the tooling we've had so far.

 To this end I'm happy to announce the release of Grenchman, a tool for
 executing Clojure code in a running process *quickly*:

 http://leiningen.org/grench.html

 With Grenchman you can launch an nREPL server in the background
 (typically with `lein trampoline repl :headless`, but you can also embed
 an nREPL server in a production setting) and then connect to it directly
 From the command-line with minimal overhead:

 $ time grench eval '(println Hello, world!)'
 Hello, world!

 real0m0.117s
 user0m0.024s
 sys 0m0.024s

 This opens up a number of new command-line-centric workflows.

 You can also invoke Leiningen tasks from Grenchman if you launch a
 separate out-of-project `lein repl :headless` server:

 $ time grench lein version
 Leiningen 2.3.3 on Java 1.6.0_27 OpenJDK 64-Bit Server VM
 real0m0.118s
 user0m0.032s
 sys 0m0.020s

 Finally, Grenchman includes its own interactive nREPL client using GNU
 Readline:

 $ grench repl
 user= (System/getProperty user.dir)
 /home/phil/src/syme
 [...]

 Plans for the next version[3] include completion in the repl client and
 support for repl history and multi-line form input. While it is a very
 young project, the non-interactive functionality is quite stable.

 Please give Grenchman a try if this sounds interesting to you. The
 install process is the same as Leiningen where you download and chmod an
 executable, except that there is a different executable for different
 platforms; I have precompiled binaries for several common platforms at
 the link above and will post user-contributed builds for other platforms
 I don't have access to if there is demand.

 thanks,
 Phil

 [1] - https://lein-survey-2013.herokuapp.com/results and
 https://lein-survey-2012.herokuapp.com/results

 [2] - https://github.com/technomancy/leiningen/wiki/Faster

 [3] - https://github.com/technomancy/grenchman/issues?milestone=2state=open

 [4] - Grenchman was inspired to a degree by Jark
 (http://icylisper.github.io/jark/) but does not share any code with it.

 [5] - Timings above are taken from my 4½-year-old laptop; newer hardware
 would perform better.

-- 
-- 
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: lein-midje-doc 0.0.9 released

2013-10-13 Thread Chris Zheng
Hi Tim.

I think you've most likely identified the issue. Would you be able to give that 
a go and see if it is working? You can clone the lein midje doc repo, change 
the versions and run lein install. 

Please let me know how it goes.

Chris

On 13/10/2013, at 21:31, Timothy Washington twash...@gmail.com wrote:

 Hi Chris, 
 
 
 A) My dev environment is in a VMWare guest Ubuntu Linux Server 12.04.3 (on an 
 OSX Host). B) My project's clojure version is 1.5.1. And C), I have the 
 latest version of pygments installed via apt-get. But I don't think those are 
 the causes. 
 
 That top-level error with the seq/map-nth function is in the useful lib, used 
 by conch, used by lein-mdije-doc. I presume that the version of useful 
 doesn't have that particular function. Now, when using the lein-midje-doc 
 plugin, the versions of useful that get pulled down, are 0.8.3-alpha8 and 
 0.8.5-alpha2. However, the latest version on Clojars is 0.8.8. Maybe using 
 the latest version of conch will help. Your tool seems to use 0.5.0. But the 
 latest version is 0.5.2.
 
 
 Tim Washington 
 Interruptsoftware.ca / Bkeeping.com 
 
 
 On Sun, Oct 13, 2013 at 6:01 AM, zcaudate z...@caudate.me wrote:
 Also.. What version of clojure are you using? I'll try with that and see if 
 I can reproduce the error.
 
 --
 --
 
 -- 
 -- 
 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 a topic in the Google 
 Groups Clojure group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/clojure/hiX7QrTec3A/unsubscribe.
 To unsubscribe from this group and all its topics, 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: lein-midje-doc 0.0.9 released

2013-10-13 Thread Timothy Washington
In a locally cloned lein-midje-doc project, I set the conch lib to the
latest version, *[me.raynes/conch 0.5.2]*. But the same error is
happening for me.

You'll probably have to dig into the dependency chain, and see where the
broken link is.


Tim Washington
Interruptsoftware.ca / Bkeeping.com


On Sun, Oct 13, 2013 at 5:03 PM, Chris Zheng z...@caudate.me wrote:

 Hi Tim.

 I think you've most likely identified the issue. Would you be able to give
 that a go and see if it is working? You can clone the lein midje doc repo,
 change the versions and run lein install.

 Please let me know how it goes.

 Chris

 On 13/10/2013, at 21:31, Timothy Washington twash...@gmail.com wrote:

 Hi Chris,


 *A)* My dev environment is in a VMWare guest Ubuntu Linux Server 12.04.3
 (on an OSX Host). *B)* My project's clojure version is 1.5.1. And *C)*, I
 have the latest version of pygments installed via apt-get. But I don't
 think those are the causes.

 That top-level error with the *seq/map-nth* function is in the 
 *usefulhttps://clojars.org/useful
 * lib, used by *conch https://clojars.org/me.raynes/conch*, used by *
 lein-mdije-doc https://clojars.org/lein-midje-doc*. I presume that the
 version of useful doesn't have that particular function. Now, when using
 the lein-midje-doc plugin, the versions of *useful* that get pulled down,
 are *0.8.3-alpha8* and *0.8.5-alpha2*. However, the latest version on
 Clojars is *0.8.8*. Maybe using the latest version of *conch* will help.
 Your tool seems to use *0.5.0*. But the latest version is *0.5.2*.


 Tim Washington
 Interruptsoftware.ca / Bkeeping.com


 On Sun, Oct 13, 2013 at 6:01 AM, zcaudate z...@caudate.me wrote:

 Also.. What version of clojure are you using? I'll try with that and see
 if I can reproduce the error.



-- 
-- 
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: lein-midje-doc 0.0.9 released

2013-10-13 Thread Chris Zheng
Hi Tim,

Its really difficult for me to figure out what is happening because I can't 
reproduce the error.

The only solution I can think of is to put in the newest useful library:

In project.clj:
1. add dependency [org.flatland/useful 0.10.4]

2. change project version: [lein-midje-doc 0.0.13a]

3. run lein install

4. change your profile to use 0.0.13a

and see what happens. If that doesn't work… I'm actually out of ideas and all I 
can do is log an issue with raynes.

-- 
-- 
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: lein-midje-doc 0.0.9 released

2013-10-13 Thread Timothy Washington
Hmm,

Did all those things (except the latest useful version is *[useful
0.8.8]https://clojars.org/useful
*), and still getting the same *seq/map-nth* error. Dunno. Best thing I
can think of is to *i)* try a clean install of the relevant lein tools in
your syste, or *ii)* log an issue with Raynes. Maybe other people have come
across this.


Hth

Tim Washington
Interruptsoftware.ca / Bkeeping.com
416.843.9060


On Sun, Oct 13, 2013 at 6:05 PM, Chris Zheng z...@caudate.me wrote:

 Hi Tim,

 Its really difficult for me to figure out what is happening because I
 can't reproduce the error.

 The only solution I can think of is to put in the newest useful library:

 In project.clj:
 1. add dependency [org.flatland/useful 0.10.4]

 2. change project version: [lein-midje-doc 0.0.13a]

 3. run lein install

 4. change your profile to use 0.0.13a

 and see what happens. If that doesn't work… I'm actually out of ideas and
 all I can do is log an issue with raynes.

 --


-- 
-- 
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.


making a lot of small calcs parallel

2013-10-13 Thread Brian Craft
I'm walking a seq of many millions of floats, encoding them for the 
persistence layer, and getting sequence ids from the db. So, conceptually 
there are two parts: the slow part, and the side-effecting part. Vaguely 
like

(map get-ids (map encode float-seq))

which is later reduced while writing to disk. In the get-ids step the order 
matters. My first attempt to make the slow part parallel was to use pmap,

(map get-ids (pmap encode float-seq))

However that's actually slower. I expect this is because even though 
encode is the bottleneck, it's still faster than the overhead of pmap. I 
next tried pmap over groups of floats, a bit like

(map get-ids (flatten (pmap #(map encode %) (partition-all 2 
float-seq

(sorry for any typos, I'm just pseudo-coding here) This was still slower, 
which surprised me. I understand the first pmap result, but this one is 
puzzling to me. Even if I partition half the length of the seq (so in 
theory it can run two threads, each of which will run five or six seconds), 
it's no faster than map.  Part of this seems to be the overhead of creating 
more intermediate seqs. Perhaps I'm misunderstanding what's happening 
during partition-all.

Is there some obvious way to approach this scenario? I looked briefly at 
the reducers library, however it was unclear to me how to deal with the 
side-effecting portion of the operation. The second (fast) map operation 
needs to be done in order.

-- 
-- 
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: lein-midje-doc 0.0.9 released

2013-10-13 Thread Chris Zheng
Hey Tim,

Try using [org.flatland/useful 0.10.4] instead. I think they're starting to 
use the namespaced versions.


On 14/10/2013, at 9:54 AM, Timothy Washington twash...@gmail.com wrote:

 Hmm, 
 
 Did all those things (except the latest useful version is [useful 0.8.8]), 
 and still getting the same seq/map-nth error. Dunno. Best thing I can think 
 of is to i) try a clean install of the relevant lein tools in your syste, or 
 ii) log an issue with Raynes. Maybe other people have come across this. 
 
 
 Hth 
 
 Tim Washington 
 Interruptsoftware.ca / Bkeeping.com 
 416.843.9060 
 
 
 On Sun, Oct 13, 2013 at 6:05 PM, Chris Zheng z...@caudate.me wrote:
 Hi Tim,
 
 Its really difficult for me to figure out what is happening because I can't 
 reproduce the error.
 
 The only solution I can think of is to put in the newest useful library:
 
 In project.clj:
 1. add dependency [org.flatland/useful 0.10.4]
 
 2. change project version: [lein-midje-doc 0.0.13a]
 
 3. run lein install
 
 4. change your profile to use 0.0.13a
 
 and see what happens. If that doesn't work… I'm actually out of ideas and all 
 I can do is log an issue with raynes.
 
 --
 
 -- 
 -- 
 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 a topic in the Google 
 Groups Clojure group.
 To unsubscribe from this topic, visit 
 https://groups.google.com/d/topic/clojure/hiX7QrTec3A/unsubscribe.
 To unsubscribe from this group and all its topics, 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: lein-midje-doc 0.0.9 released

2013-10-13 Thread Timothy Washington
Same error. I dunno. I'll take deeper dig later on.


Thanks

Tim Washington
Interruptsoftware.ca / Bkeeping.com


On Sun, Oct 13, 2013 at 7:55 PM, Chris Zheng z...@caudate.me wrote:

 Hey Tim,

 Try using [org.flatland/useful 0.10.4] instead. I think they're starting
 to use the namespaced versions.


 On 14/10/2013, at 9:54 AM, Timothy Washington twash...@gmail.com wrote:

 Hmm,

 Did all those things (except the latest useful version is *[useful
 0.8.8] https://clojars.org/useful*), and still getting the same *
 seq/map-nth* error. Dunno. Best thing I can think of is to *i)* try a
 clean install of the relevant lein tools in your syste, or *ii)* log an
 issue with Raynes. Maybe other people have come across this.


 Hth

 Tim Washington
 Interruptsoftware.ca http://interruptsoftware.ca/ / 
 Bkeeping.comhttp://bkeeping.com/

 416.843.9060


 On Sun, Oct 13, 2013 at 6:05 PM, Chris Zheng z...@caudate.me wrote:

 Hi Tim,

 Its really difficult for me to figure out what is happening because I
 can't reproduce the error.

 The only solution I can think of is to put in the newest useful library:

 In project.clj:
 1. add dependency [org.flatland/useful 0.10.4]

 2. change project version: [lein-midje-doc 0.0.13a]

 3. run lein install

 4. change your profile to use 0.0.13a

 and see what happens. If that doesn't work… I'm actually out of ideas and
 all I can do is log an issue with raynes.



-- 
-- 
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.


Reflecting on Arity

2013-10-13 Thread Mark Engelberg
Is there a handy way to discover the valid arities for an arbitrary Clojure
function?

-- 
-- 
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: Reflecting on Arity

2013-10-13 Thread Mikera
Currently IFn itself doesn't provide a way for you to do this.

Options:
a) example the source / docs
b) Call the IFn and see which arities throw an ArityException
c) If the IFn is in a var you can get arities from the :arglists metadata

c) is probably your best bet if you know you have a var, e.g.

(meta #'+)
= {:arglists ([] [x] [x y] [x y  more]), :ns #Namespace clojure.core, 
:name +, :column 1, :added 1.2, :inline-arities #core$_GT_1_QMARK_ 
clojure.core$_GT_1_QMARK_@564b8be6, :doc Returns the sum of nums. (+) 
returns 0. Does not auto-promote\n  longs, will throw on overflow. See 
also: +', :line 936, :file clojure/core.clj, :inline 
#core$nary_inline$fn__3961 clojure.core$nary_inline$fn__3961@abb88b8}



On Monday, 14 October 2013 11:40:23 UTC+8, puzzler wrote:

 Is there a handy way to discover the valid arities for an arbitrary 
 Clojure function?


-- 
-- 
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: Reflecting on Arity

2013-10-13 Thread Alex Baranosky
c is the best bet, but still I wouldn't rely on it for anything.


On Sun, Oct 13, 2013 at 9:23 PM, Mikera mike.r.anderson...@gmail.comwrote:

 Currently IFn itself doesn't provide a way for you to do this.

 Options:
 a) example the source / docs
 b) Call the IFn and see which arities throw an ArityException
 c) If the IFn is in a var you can get arities from the :arglists metadata

 c) is probably your best bet if you know you have a var, e.g.

 (meta #'+)
 = {:arglists ([] [x] [x y] [x y  more]), :ns #Namespace clojure.core,
 :name +, :column 1, :added 1.2, :inline-arities #core$_GT_1_QMARK_
 clojure.core$_GT_1_QMARK_@564b8be6, :doc Returns the sum of nums. (+)
 returns 0. Does not auto-promote\n  longs, will throw on overflow. See
 also: +', :line 936, :file clojure/core.clj, :inline
 #core$nary_inline$fn__3961 clojure.core$nary_inline$fn__3961@abb88b8}



 On Monday, 14 October 2013 11:40:23 UTC+8, puzzler wrote:

 Is there a handy way to discover the valid arities for an arbitrary
 Clojure function?

  --
 --
 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.