what's up with user.clj?

2010-09-11 Thread Robert McIntyre
In the clojure getting started guide, it says that if user.clj is
found on the classpath, then that file will be evaluated and the repl
will start with any modifications made from that file.

My directory structure looks like this

/src/user.clj
/src/rlm/quick.clj
/lib/*all-my-jars*

I have a function (dirty) in quick.clj that essentially does:

(defn dirty []
  (use :reload-all '[clojure.java [javadoc :only [javadoc]])
  (clojure.java.javadoc/add-local-javadoc "/path/to/local/javadocs"))

(dirty) works fine at the repl if I type (do (require 'rlm.quick)
(rlm.quick/dirty))

If I define user.clj like so:

(ns user)
(require 'rlm.quick)
(rlm.quick/dirty)

Then I get the error : java.lang.ClassNotFoundException: clojure.java.javadoc

If I move the (clojure.java.javadoc/add-local-javadoc
"/path/to/local/javadocs") from (dirty) straight into user.clj it
works fine.

what's up with this?

--Robert McIntyre

and user.clj reads like this

-- 
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: http.async.client v0.2.0

2010-09-11 Thread Shantanu Kumar
This is cool. I wonder we should have a central index of Clojure
libraries something like this: http://java-source.net/

Regards,
Shantanu

On Sep 10, 2:14 pm, Hubert Iwaniuk  wrote:
> I'm happy to announce release of http.async.client v0.2.0 an Asynchronous 
> HTTP Client for Clojure.
>
> This is wrapper/adapter on top 
> ofhttp://github.com/AsyncHttpClient/async-http-client
>
> Project:http://github.com/neotyk/http.async.client/
> Documentation:http://neotyk.github.com/http.async.client/
> API autodoc:http://neotyk.github.com/http.async.client/autodoc/
> Changelog:http://github.com/neotyk/http.async.client/blob/master/changelog.org
>
> Simple usage:
> (ns sample (:require [http.async.client :as c]))
> (let [response (c/GET "http://github.com/neotyk/http.async.client/";)]
>   (c/await response)
>   (c/string response))
>
> Allows you to consume Twitter Streaming API with an 
> ease:http://codemeself.blogspot.com/2010/09/asynchronous-http-client-for-c...http://github.com/neotyk/http.async.client/raw/master/twitter-sample.clj
>
> Changes in this release:
> * HTTP Streams as clojure.core/seq
> * Cookies support
> * Authentication support (BASIC and DIGEST)
> * Proxy per request
> * Allowed branding User-Agent
> * Keyworded arguments in API
>
> I would love to hear from you what you think of this library,
> Hubert.

-- 
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: http.async.client v0.2.0

2010-09-11 Thread Shantanu Kumar
One question - how is the (auto)doc generated?

Regards,
Shantanu

On Sep 10, 2:14 pm, Hubert Iwaniuk  wrote:
> I'm happy to announce release of http.async.client v0.2.0 an Asynchronous 
> HTTP Client for Clojure.
>
> This is wrapper/adapter on top 
> ofhttp://github.com/AsyncHttpClient/async-http-client
>
> Project:http://github.com/neotyk/http.async.client/
> Documentation:http://neotyk.github.com/http.async.client/
> API autodoc:http://neotyk.github.com/http.async.client/autodoc/
> Changelog:http://github.com/neotyk/http.async.client/blob/master/changelog.org
>
> Simple usage:
> (ns sample (:require [http.async.client :as c]))
> (let [response (c/GET "http://github.com/neotyk/http.async.client/";)]
>   (c/await response)
>   (c/string response))
>
> Allows you to consume Twitter Streaming API with an 
> ease:http://codemeself.blogspot.com/2010/09/asynchronous-http-client-for-c...http://github.com/neotyk/http.async.client/raw/master/twitter-sample.clj
>
> Changes in this release:
> * HTTP Streams as clojure.core/seq
> * Cookies support
> * Authentication support (BASIC and DIGEST)
> * Proxy per request
> * Allowed branding User-Agent
> * Keyworded arguments in API
>
> I would love to hear from you what you think of this library,
> Hubert.

-- 
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: clojure-test-mode elpa version still out of date?

2010-09-11 Thread alux
Hello Bruce,

would you please provide the versions of the files you are using.

I use clojure-mode 1.7.1 and clojure-test-mode 1.4 from technomancy,
but still get this error
java.lang.Exception: Unmatched delimiter: )

I'm completely at loss here. (Clojure 1.2, Maven - or Leiningen 1.3.1,
Win XP)

(Btw.: Is there a way to uninstall stuff with ELPA?)

Thank you, alux

On 10 Sep., 21:56, Bruce Durling  wrote:
> Hi,
>
> On Fri, Sep 10, 2010 at 18:15, User7  wrote:
>
> > I'm using emacs starter kit and clojure-test-mode 1.4 installed using
> > elpa.  Running clojure-tests-run-tests seems to work fine, but clojure-
> > test-run-test seems flakey.  This blog post from May says the elpa
> > version is out of date.
>
> >http://otfrom.wordpress.com/2010/05/16/leiningen-clojure-1-2-and-emacs/
>
> > "However, now clojure-test-mode won’t work. The version is elpa isn’t
> > new enough (you are using elpa and emacs-starter-kit aren’t you?) so
> > we need to get it from technomancy’s github."
>
> > Does anybody know if the elpa version is still out of date?
>
> I'm the author of that post and now use clojure-test-mode happily from elpa.
>
> cheers,
> Bruce

-- 
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: Generating functions programmatically

2010-09-11 Thread Btsai
I'm sorry, but despite reading through the rest of the thread, it's
not clear to me why that is a problem.

icemaze, could you elaborate on what your use case is?  I think with
all of our powers combined, we can come up with something that fits
your needs :)

On Sep 10, 7:24 pm, Robert McIntyre  wrote:
> That is very elegant but has the exact same problem in that the macro
> must be called on a literal vector of keywords.
>
> --Robert McIntyre
>
>
>
> On Fri, Sep 10, 2010 at 5:41 PM, Btsai  wrote:
> > This is probably not the prettiest way to do it, but I think it gets
> > the job done:
>
> > (defn make-sym [keyword]
> >  (->> keyword name (str "prefix-") symbol))
>
> > (defn make-fn [keyword]
> >  (let [n (gensym)]
> >   (list 'defn (make-sym keyword) [n] (list '= n keyword
>
> > (defmacro make-fns [keywords]
> >  `(do ~@(map make-fn keywords)))
>
> > user=> (make-fns [:a :b :c])
> > #'user/prefix-c
> > user=> (prefix-a :a)
> > true
> > user=> (prefix-a :x)
> > false
> > user=> (prefix-b :b)
> > true
> > user=> (prefix-b :x)
> > false
> > user=> (prefix-c :c)
> > true
> > user=> (prefix-c :x)
> > false
>
> > The credit belongs to Alan, and Mr. Stuart Halloway for his examples
> > from Ch. 7 of Programming Clojure.
>
> > On Sep 10, 2:37 pm, icemaze  wrote:
> >> Alan, thank you for your reply.
> >> Unfortunately your solution is very similar to mine and it suffers
> >> from the same problem (maybe I'm using it incorrectly, I don't know).
> >> If I write:
>
> >>   (doseq [x '(:a :b)]
> >>     (make-fn x))
>
> >> it defines a single function "synthetic-x". Is there a way to make
> >> this work? I tried everything but both eval and var-get don't work for
> >> local bindings.
>
> >> Thanks again.
>
> > --
> > 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 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: http.async.client v0.2.0

2010-09-11 Thread Eric Lavigne
There is such a list.

http://clojure.org/libraries

On the other hand, that list is both very long and not very complete.
I looked for some of the libraries I am interested in right now. Ring
and compojure are there, but not clout, sandbar, or carte.

You can find a more complete list here, but it doesn't have the easily
browsable categories that java-source.net has.

http://clojars.org/repo/

Maybe what we need is a new front end to the data that clojars has
already collected. Then, if browse-clojars.org turns out to be useful
it can be merged into clojars later.


On Sat, Sep 11, 2010 at 3:58 AM, Shantanu Kumar
 wrote:
> This is cool. I wonder we should have a central index of Clojure
> libraries something like this: http://java-source.net/
>
> Regards,
> Shantanu
>
> On Sep 10, 2:14 pm, Hubert Iwaniuk  wrote:
>> I'm happy to announce release of http.async.client v0.2.0 an Asynchronous 
>> HTTP Client for Clojure.
>>
>> This is wrapper/adapter on top 
>> ofhttp://github.com/AsyncHttpClient/async-http-client
>>
>> Project:http://github.com/neotyk/http.async.client/
>> Documentation:http://neotyk.github.com/http.async.client/
>> API autodoc:http://neotyk.github.com/http.async.client/autodoc/
>> Changelog:http://github.com/neotyk/http.async.client/blob/master/changelog.org
>>
>> Simple usage:
>> (ns sample (:require [http.async.client :as c]))
>> (let [response (c/GET "http://github.com/neotyk/http.async.client/";)]
>>   (c/await response)
>>   (c/string response))
>>
>> Allows you to consume Twitter Streaming API with an 
>> ease:http://codemeself.blogspot.com/2010/09/asynchronous-http-client-for-c...http://github.com/neotyk/http.async.client/raw/master/twitter-sample.clj
>>
>> Changes in this release:
>> * HTTP Streams as clojure.core/seq
>> * Cookies support
>> * Authentication support (BASIC and DIGEST)
>> * Proxy per request
>> * Allowed branding User-Agent
>> * Keyworded arguments in API
>>
>> I would love to hear from you what you think of this library,
>> Hubert.
>
> --
> 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 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: Generating functions programmatically

2010-09-11 Thread icemaze
Hi Btsai, thank you for your offer for help.

As I said before I *could* use literals but it wouldn't be convenient.
I have a big structure which contains information about "types" (they
are types of domain-specific objects). I would like to extract the
"methods" I need from this structure and define them
programmatically.

Previous solutions to this problem (both by me and other helpful
posters) required to pass keywords as literals. While I could do that,
maintaining a separate list would be a hassle.
Right now I'm using:

(doseq [t (an-expession-which-extracts-a-list-of-keywords)]
  (eval `(defobjecttype ~t)))

So the problem is solved for me, although I have to use eval. I'm not
sure exactly how dirty this trick is and especially *why* it is
considered a "smell". I read it on Paul Graham's "On Lisp" and he
vehemently opposes its use but he doesn't explain why or where it is
acceptable. Note that he also considered Common Lisp "let*" a smell,
which is standard practice in Clojure (and in fact there's no
equivalent of Common Lisp "let"). So maybe we are just making too much
a big deal of this "eval" thing.

I feel however that this problem should be addressed by the macro
system somehow (although maybe that's not possible by design).
If someone could find a solution which doesn't involve eval it would
definitely be more elegant.

-- 
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: Generating functions programmatically

2010-09-11 Thread Nicolas Oury
> So the problem is solved for me, although I have to use eval. I'm not
> sure exactly how dirty this trick is and especially *why* it is
> considered a "smell". I read it on Paul Graham's "On Lisp" and he
> vehemently opposes its use but he doesn't explain why or where it is
> acceptable. Note that he also considered Common Lisp "let*" a smell,
> which is standard practice in Clojure (and in fact there's no
> equivalent of Common Lisp "let"). So maybe we are just making too much
> a big deal of this "eval" thing.
>


It is considered bad because eval is for dynamic evaluation. In this
case you use it at macro time, which shouldn't be necessary most of
the time.

(defn my-complex-function [] )


(defmacro insert-the-result-of-the-complex-function []
  (my-complex-function))

In your case, as often for strange macro, first write a function that
does the job:

(defn extract-keyword-and-generate-code [].)

(defmacro  generate-methods []
   `(do
~@(extract-keyword-and-generate-the-code)))

If you have to use an eval, I find it nicer to use it to compute the
code, not to actually define things.
(defmacro generate-methods [expr]
   `(do
~@(extract-keyword-and-generate-the-code (eval expr

That way you can often work the eval out, by limiting the kind of
possible exprs.
(If it is only a symbol or a list of keywords, for example)

Anyway, that's just a suggestion. Your solution works too.

Best,

Nicolas.

-- 
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: what's up with user.clj?

2010-09-11 Thread Stuart Sierra
Don't know if this is the source of the problem, but your "use" syntax
is funky.  You want:

(use '[clojure.java.javadoc :only (javadoc)])

-S



On Sep 11, 3:51 am, Robert McIntyre  wrote:
> In the clojure getting started guide, it says that if user.clj is
> found on the classpath, then that file will be evaluated and the repl
> will start with any modifications made from that file.
>
> My directory structure looks like this
>
> /src/user.clj
> /src/rlm/quick.clj
> /lib/*all-my-jars*
>
> I have a function (dirty) in quick.clj that essentially does:
>
> (defn dirty []
>   (use :reload-all '[clojure.java [javadoc :only [javadoc]])
>   (clojure.java.javadoc/add-local-javadoc "/path/to/local/javadocs"))
>
> (dirty) works fine at the repl if I type (do (require 'rlm.quick)
> (rlm.quick/dirty))
>
> If I define user.clj like so:
>
> (ns user)
> (require 'rlm.quick)
> (rlm.quick/dirty)
>
> Then I get the error : java.lang.ClassNotFoundException: clojure.java.javadoc
>
> If I move the (clojure.java.javadoc/add-local-javadoc
> "/path/to/local/javadocs") from (dirty) straight into user.clj it
> works fine.
>
> what's up with this?
>
> --Robert McIntyre
>
> and user.clj reads like this

-- 
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: Generating functions programmatically

2010-09-11 Thread Kent
The fact that you are trying to generate functions based on data that
is available at run time rather than at compile time is a signal that
you should probably be using functions rather than macros to do what
you want.  Here is one way:

(defn make-fn [kwd]
  (fn [n] (= n kwd)))

(defn intern-fn [kwd]
  (let [fn-name (symbol (str "prefix-" (name kwd)))]
(intern *ns* fn-name (make-fn kwd

Kent

-- 
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: http.async.client v0.2.0

2010-09-11 Thread Hubert Iwaniuk
Thanks Shantanu.

I think github is most popular among Clojure projects, so looking at
http://github.com/languages/Clojure might help, but there is no
structure like java-source.net.

Cheers,
Hubert



On Sat, Sep 11, 2010 at 9:58 AM, Shantanu Kumar
 wrote:
> This is cool. I wonder we should have a central index of Clojure
> libraries something like this: http://java-source.net/
>
> Regards,
> Shantanu
>
> On Sep 10, 2:14 pm, Hubert Iwaniuk  wrote:
>> I'm happy to announce release of http.async.client v0.2.0 an Asynchronous 
>> HTTP Client for Clojure.
>>
>> This is wrapper/adapter on top 
>> ofhttp://github.com/AsyncHttpClient/async-http-client
>>
>> Project:http://github.com/neotyk/http.async.client/
>> Documentation:http://neotyk.github.com/http.async.client/
>> API autodoc:http://neotyk.github.com/http.async.client/autodoc/
>> Changelog:http://github.com/neotyk/http.async.client/blob/master/changelog.org
>>
>> Simple usage:
>> (ns sample (:require [http.async.client :as c]))
>> (let [response (c/GET "http://github.com/neotyk/http.async.client/";)]
>>   (c/await response)
>>   (c/string response))
>>
>> Allows you to consume Twitter Streaming API with an 
>> ease:http://codemeself.blogspot.com/2010/09/asynchronous-http-client-for-c...http://github.com/neotyk/http.async.client/raw/master/twitter-sample.clj
>>
>> Changes in this release:
>> * HTTP Streams as clojure.core/seq
>> * Cookies support
>> * Authentication support (BASIC and DIGEST)
>> * Proxy per request
>> * Allowed branding User-Agent
>> * Keyworded arguments in API
>>
>> I would love to hear from you what you think of this library,
>> Hubert.
>
> --
> 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 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: http.async.client v0.2.0

2010-09-11 Thread Hubert Iwaniuk
Hi Shantanu,

autodoc configuration is:
http://github.com/neotyk/http.async.client/blob/master/project.clj#L13
in :dev-dependencies there is [autodoc "0.7.1"]
to generate it: lein autodoc

For rest of project site I used org-mode and infojs.

Cheers,
Hubert.



On Sat, Sep 11, 2010 at 10:07 AM, Shantanu Kumar
 wrote:
> One question - how is the (auto)doc generated?
>
> Regards,
> Shantanu
>
> On Sep 10, 2:14 pm, Hubert Iwaniuk  wrote:
>> I'm happy to announce release of http.async.client v0.2.0 an Asynchronous 
>> HTTP Client for Clojure.
>>
>> This is wrapper/adapter on top 
>> ofhttp://github.com/AsyncHttpClient/async-http-client
>>
>> Project:http://github.com/neotyk/http.async.client/
>> Documentation:http://neotyk.github.com/http.async.client/
>> API autodoc:http://neotyk.github.com/http.async.client/autodoc/
>> Changelog:http://github.com/neotyk/http.async.client/blob/master/changelog.org
>>
>> Simple usage:
>> (ns sample (:require [http.async.client :as c]))
>> (let [response (c/GET "http://github.com/neotyk/http.async.client/";)]
>>   (c/await response)
>>   (c/string response))
>>
>> Allows you to consume Twitter Streaming API with an 
>> ease:http://codemeself.blogspot.com/2010/09/asynchronous-http-client-for-c...http://github.com/neotyk/http.async.client/raw/master/twitter-sample.clj
>>
>> Changes in this release:
>> * HTTP Streams as clojure.core/seq
>> * Cookies support
>> * Authentication support (BASIC and DIGEST)
>> * Proxy per request
>> * Allowed branding User-Agent
>> * Keyworded arguments in API
>>
>> I would love to hear from you what you think of this library,
>> Hubert.
>
> --
> 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 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: Generating functions programmatically

2010-09-11 Thread Tim Daly

 Actually what you seem to be trying to do is create a new kind
of defn function which creates named functions as a side-effect.
This is similar to the common lisp defstruct function which
creates accessors. Define your own "defn" function, such as
"defthing" and let it do the side-effects for you.

On 9/11/2010 11:15 AM, Kent wrote:

The fact that you are trying to generate functions based on data that
is available at run time rather than at compile time is a signal that
you should probably be using functions rather than macros to do what
you want.  Here is one way:

(defn make-fn [kwd]
   (fn [n] (= n kwd)))

(defn intern-fn [kwd]
   (let [fn-name (symbol (str "prefix-" (name kwd)))]
 (intern *ns* fn-name (make-fn kwd

Kent



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


new in ClojureScript

2010-09-11 Thread Nicolas Oury
Dear all,

I am trying to use ClojureScrip for fun. (FOr the REPL now).

I can not find a translation to the javascript:

var image = new Image();

(def image (Image.)) or (def image (new Image)) does not work.

Any idea?

Best regards,

Nicolas.

-- 
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: Does 'require' with the :reload option have a tendency to build up memory?

2010-09-11 Thread Rayne
As it turns out, this wasn't a memory leak at all. I decided to see if
I could max sexpbot's memory out by reloading. I got it to rise around
20-30 megs and then it stabilized and eventually jumped down 10 megs
and didn't rise again (gave up 10 reloads later). I don't know how
this stuff works, but I suppose maybe the memory just remained
reserved or something. GCing does absolutely nothing. For a smaller-
scale test, you can just try requiring clojure.java.io or some other
namespace about 100-500 times and watch memory while doing so. It'll
grow pretty substantially.

Anyway, it's doesn't appear to be a real problem at all.

-- 
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: Generating functions programmatically

2010-09-11 Thread Btsai
Ah ok.  I couldn't come up with anything, but I think Kent has a nice
eval-free (and macro-free) solution.

My thanks to you, and everyone who chimed in, for helping me better
understand the read-time/compile-time/run-time distinction.

On Sep 11, 8:29 am, icemaze  wrote:
> Hi Btsai, thank you for your offer for help.
>
> As I said before I *could* use literals but it wouldn't be convenient.
> I have a big structure which contains information about "types" (they
> are types of domain-specific objects). I would like to extract the
> "methods" I need from this structure and define them
> programmatically.
>
> Previous solutions to this problem (both by me and other helpful
> posters) required to pass keywords as literals. While I could do that,
> maintaining a separate list would be a hassle.
> Right now I'm using:
>
> (doseq [t (an-expession-which-extracts-a-list-of-keywords)]
>   (eval `(defobjecttype ~t)))
>
> So the problem is solved for me, although I have to use eval. I'm not
> sure exactly how dirty this trick is and especially *why* it is
> considered a "smell". I read it on Paul Graham's "On Lisp" and he
> vehemently opposes its use but he doesn't explain why or where it is
> acceptable. Note that he also considered Common Lisp "let*" a smell,
> which is standard practice in Clojure (and in fact there's no
> equivalent of Common Lisp "let"). So maybe we are just making too much
> a big deal of this "eval" thing.
>
> I feel however that this problem should be addressed by the macro
> system somehow (although maybe that's not possible by design).
> If someone could find a solution which doesn't involve eval it would
> definitely be more elegant.

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


how to use leiningen install

2010-09-11 Thread Seth
Im attempting a 'hello world' leiningen in which i install a simply
hello world library using lein install and then i create a new
project , hello2, which depends on that project. However, leiningen
does not seem to look in the local maven repository for the
dependencies so i get

1) helloworld:helloworld:jar:.1

  Try downloading the file manually from the project website.

  Then, install it using the command:
  mvn install:install-file -DgroupId=helloworld -
DartifactId=helloworld -Dversion=.1 -Dpackaging=jar -Dfile=/path/to/
file

  Alternatively, if you host your own repository you can deploy the
file there:
  mvn deploy:deploy-file -DgroupId=helloworld -
DartifactId=helloworld -Dversion=.1 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
1) org.apache.maven:super-pom:jar:2.0
2) helloworld:helloworld:jar:.1



Is there any way to get lein to look at the local repository?

-- 
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: how to use leiningen install

2010-09-11 Thread lprefontaine
The install task publishes to your local repo. Did you check
$HOME/.m2/repository to see if your helloworld library is there ?
You should find the jar and the pom.xml after running the install task.

Make sure the names are matching between your library POM and your
reference in your project.clj in the project that requires it :)

Luc P.


Seth  wrote ..
> Im attempting a 'hello world' leiningen in which i install a simply
> hello world library using lein install and then i create a new
> project , hello2, which depends on that project. However, leiningen
> does not seem to look in the local maven repository for the
> dependencies so i get
> 
> 1) helloworld:helloworld:jar:.1
> 
>   Try downloading the file manually from the project website.
> 
>   Then, install it using the command:
>   mvn install:install-file -DgroupId=helloworld -
> DartifactId=helloworld -Dversion=.1 -Dpackaging=jar -Dfile=/path/to/
> file
> 
>   Alternatively, if you host your own repository you can deploy the
> file there:
>   mvn deploy:deploy-file -DgroupId=helloworld -
> DartifactId=helloworld -Dversion=.1 -Dpackaging=jar -Dfile=/path/to/
> file -Durl=[url] -DrepositoryId=[id]
> 
>   Path to dependency:
>   1) org.apache.maven:super-pom:jar:2.0
>   2) helloworld:helloworld:jar:.1
> 
> 
> 
> Is there any way to get lein to look at the local repository?
> 
> -- 
> 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 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


how to use leiningen install

2010-09-11 Thread Seth
Im attempting a 'hello world' leiningen in which i install a simply
hello world library using lein install and then i create a new
project , hello2, which depends on that project. However, leiningen
does not seem to look in the local maven repository for the
dependencies so i get

1) helloworld:helloworld:jar:.1

  Try downloading the file manually from the project website.

  Then, install it using the command:
  mvn install:install-file -DgroupId=helloworld -
DartifactId=helloworld -Dversion=.1 -Dpackaging=jar -Dfile=/path/to/
file

  Alternatively, if you host your own repository you can deploy the
file there:
  mvn deploy:deploy-file -DgroupId=helloworld -
DartifactId=helloworld -Dversion=.1 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
1) org.apache.maven:super-pom:jar:2.0
2) helloworld:helloworld:jar:.1



Is there any way to get lein to look at the local repository?

-- 
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: Generating functions programmatically

2010-09-11 Thread icemaze
Yes, Kent's solution is spot on! Thank you all for your insights, I
believe we have a winner.

-- 
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: http.async.client v0.2.0

2010-09-11 Thread Phil Hagelberg
Clojars would be a natural place for this kind of feature, but it is
woefully under-manned right now, especially considering how important it is.
If you're looking for a project to work on to help you learn Clojure I'd
recommend getting on the Clojars mailing list and seeing what you can do to
help.

http://groups.google.com/group/clojars-maintainers

-Phil

On Sep 11, 2010 12:58 AM, "Shantanu Kumar"  wrote:
This is cool. I wonder we should have a central index of Clojure
libraries something like this: http://java-source.net/

Regards,
Shantanu


On Sep 10, 2:14 pm, Hubert Iwaniuk  wrote:
> I'm happy to announce release of ht...
> This is wrapper/adapter on top ofhttp://
github.com/AsyncHttpClient/async-http-client

>
> Project:http://github.com/neotyk/http.async.client/
> Documentation:http://neotyk.github.com/htt...
> Allows you to consume Twitter Streaming API with an ease:
http://codemeself.blogspot.com/2010/09/asynchronous-http-client-for-c...http://github.com/neotyk/http.async.client/raw/master/twitter-sample.clj

>
> Changes in this release:
> * HTTP Streams as clojure.core/seq
> * Cookies support
> * Authentica...

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