Re: clojure-jack-in problem with a project using clj and cljs files.
For everyone's benefit - I installed nrepl and used nrepl-jack-in which works fine (with the same project structure). Manoj. On Friday, January 18, 2013 4:54:41 PM UTC+5:30, mmwaikar wrote: > > Hi, > > I have a project which uses both Clojure and Clojurescript. Hence in its > project.clj file, I have - > > :source-paths ["src/clj"] > > and for Clojurescript - > > {:builds > [{;; CLJS source code path > :source-path "src/cljs" > > ;; Google Closure (CLS) options configuration > :compiler {;; CLS generated JS script filename >:output-to "resources/public/js/kiosk.js" > >;; minimal JS optimization directive >:optimizations :whitespace > >;; generated JS code prettyfication >:pretty-print true}}]} > > Now when I do M-x clojure-jack-in I get the following error - > > Debugger entered--Lisp error: (error "Could not start swank server: > 'jack-in' is not a task. See 'lein help'. > ") > signal(error ("Could not start swank server: 'jack-in' is not a task. > See 'lein help'.\n")) > error("Could not start swank server: %s" "'jack-in' is not a task. See > 'lein help'.\n") > clojure-jack-in-sentinel(# "exited abnormally with code > 1\n") > > I have another project which uses only Clojure; there clojure-jack-in > works perfectly. > > Is this an issue or is there another way to start Clojure repl if the > source files are in a different directory? > > Thanks, > Manoj. > -- 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
clojure-jack-in problem with a project using clj and cljs files.
Hi, I have a project which uses both Clojure and Clojurescript. Hence in its project.clj file, I have - :source-paths ["src/clj"] and for Clojurescript - {:builds [{;; CLJS source code path :source-path "src/cljs" ;; Google Closure (CLS) options configuration :compiler {;; CLS generated JS script filename :output-to "resources/public/js/kiosk.js" ;; minimal JS optimization directive :optimizations :whitespace ;; generated JS code prettyfication :pretty-print true}}]} Now when I do M-x clojure-jack-in I get the following error - Debugger entered--Lisp error: (error "Could not start swank server: 'jack-in' is not a task. See 'lein help'. ") signal(error ("Could not start swank server: 'jack-in' is not a task. See 'lein help'.\n")) error("Could not start swank server: %s" "'jack-in' is not a task. See 'lein help'.\n") clojure-jack-in-sentinel(# "exited abnormally with code 1\n") I have another project which uses only Clojure; there clojure-jack-in works perfectly. Is this an issue or is there another way to start Clojure repl if the source files are in a different directory? Thanks, Manoj. -- 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 call a Java method that expects a ".class" parameter.
Hi, I can't figure out a way to call the below method using Clojure - Files.readAttributes(file, BasicFileAttributes.class) because I don't know what to pass for the second parameter BasicFileAttributes.class. Also when I am calling the other method of the same class - (Files/getAttribute (.toPath song) "title" LinkOption/NOFOLLOW_LINKS) I get the below exception - java.nio.file.LinkOption cannot be cast to [Ljava.nio.file.LinkOption; [Thrown class java.lang.ClassCastException] Can you please point out what I am doing wrong? Thanks in advance. Regards, Manoj. -- 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
A Clojurescript Domina question.
Hi, I am trying to do something with Clojurescript using Domina etc. Here is my project.clj - (defproject maze "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME"; :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.4.0"] [org.clojure/clojure-contrib "1.2.0"] [hiccup "1.0.1"] [noir "1.3.0-beta10"] [cssgen "0.2.6"] [jayq "0.1.0-alpha4"] [crate "0.2.1"] [domina "1.0.0"]] :plugins [[lein-cljsbuild "0.2.1"]] :hooks [leiningen.cljsbuild] :jvm-opts ["-Dfile.encoding=utf-8"] :cljsbuild {:builds [{ :source-path "src-cljs", :compiler {:output-dir "resources/public/cljs/", :output-to "resources/public/cljs/main.js", :optimizations :whitespace, :pretty-print true}}]} :main maze.server) Here is my main page - (ns maze.views.mm (:use [noir.core :only [defpartial]] [hiccup.core :only [html]] [hiccup.page :only [html5 include-js]] [hiccup.element :only [javascript-tag]] [maze.views.cssgenerator] [maze.constants])) (defn generate-options [] (map #(html [:option {:value %1} %2]) (range 0 4) difficulty-levels)) ;; Creates the main html layout (defpartial generate-layout [params title & content] (html5 [:head [:title title] [:meta {:charset "UTF-8"}] [:style {:type "text/css"} (global-css params)] (include-js "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";)] [:body {:bgcolor "#FF"} [:table {:cellpading 20 :cellspacing 0 :width "100%" :border 0} [:tr [:td {:width "70%" :align "center"} [:div#mazediv]] [:td {:width "30%" :align "center" :valign "top"} [:h1 "Mysterious" [:br "Maze"]] [:small directions] [:p] [:div#scorediv {:style "background-color: grey;color: yellow"} "SCORE : 0"] [:p] [:div#statdiv {:style "background-color: grey;color: yellow"} "WAITING..."] [:p] [:select#level (generate-options)] [:p] [:input#start {:type :button :value "Start New Game"} [:div.copy "Copyright © 2012 Manoj Waikar. All Rights Reserved."] (javascript-tag "var CLOSURE_NO_DEPS = true;") (include-js "/cljs/main.js")])) And my main.cljs - (ns maze.main (:use [jayq.core :only [$]]) (:use-macros [crate.def-macros :only [defpartial]]) (:require [domina :as d] [crate.core :as crate] [clojure.browser.event :as event])) ;; frequently used selectors (def start-button (d/by-id "start")) (def level-combo (d/by-id "level")) (def maze-div (d/by-id "mazediv")) (defpartial columns [n] (map #([:td] %) (range 1 n))) (defpartial table [n] [:table (map #([:tr (columns n)]) (range 1 n))]) ;; (defn generate-table [rows-columns] (event/listen start-button "click" (fn [] (js/alert "hey!"))) (event/listen level-combo "change" (fn [e] (let [option-val (js/parseInt (.-value (.-target e)))] (if (> 0 option-val) (fn [e] (.log js/console "enter") (d/destroy-children! maze-div) (d/append! maze-div [:h1 "do it"])) I am able to see the js/alert on click of the start button. I was also able to get the value of the level select using (js/parseInt (.-value (.-target e))). However, I am not able to append any new dom elements to maze-div? (First I was trying to add a table, and now I am trying to add an h1 tag, but it doesn't seem to work. Any idea what is incorrect here? Thanks in advance for your suggestions. Regards, Manoj. -- 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
A clojurescript newbie q.
Hi, I am experimenting with clojurescript, and have the following page - (ns maze.views.mm (:use [noir.core :only [defpartial]] [hiccup.page :only [html5 include-js]] [hiccup.element :only [javascript-tag]] [maze.views.cssgenerator] [maze.constants])) (defn generate-options [] (map #(html5 [:option {:value %1} %2]) (range 0 4) difficulty-levels)) ;; Creates the main html layout (defpartial generate-layout [params title & content] (html5 [:head [:title title] [:meta {:charset "UTF-8"}] [:style {:type "text/css"} (global-css params)] (include-js "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";)] [:body {:bgcolor "#FF"} [:table {:cellpading 20 :cellspacing 0 :width "100%" :border 0} [:tr [:td {:width "70%" :align "center"} [:div#mazediv]] [:td {:width "30%" :align "center" :valign "top"} [:h1 "Mysterious" [:br "Maze"]] [:small directions] [:p] [:div#scorediv {:style "background-color: grey;color: yellow"} "SCORE : 0"] [:p] [:div#statdiv {:style "background-color: grey;color: yellow"} "WAITING..."] [:p] [:select#level (generate-options)] [:p] [:input#start {:type :button :value "Start New Game"} [:div.copy "Copyright © 2012 Manoj Waikar. All Rights Reserved."] (javascript-tag "var CLOSURE_NO_DEPS = true;") (include-js "/cljs/main.js")])) and this is in my main.cljs file - (ns maze.main (:use [jayq.core :only [$]])) ;; frequently used selectors (def $start ($ :#start)) (def $statdiv ($ :#statdiv)) (def $scorediv ($ :#scorediv)) (defn start-game [] ()) (.click ($ :#start (fn [e] (println "hey") (js/alert "clicked" Here's my project.clj (just in case) - (defproject maze "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME"; :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [[org.clojure/clojure "1.4.0"] [hiccup "1.0.0"] [noir "1.3.0-beta10"] [cssgen "0.2.6"] [jayq "0.1.0-alpha4"]] :plugins [[lein-cljsbuild "0.1.10"]] :hooks [leiningen.cljsbuild] :jvm-opts ["-Dfile.encoding=utf-8"] :cljsbuild {:builds [{:source-path "src-cljs", :compiler {:output-dir "resources/public/cljs/", :output-to "resources/public/cljs/main.js", :optimizations :whitespace, :pretty-print true}}]} :main maze.server) The problem is that the click event of the start button is not getting properly registered. Please let me know what is the problem. Thanks, Manoj. -- 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: Clojurians in Pune
A +10 from me. Would definitely attend any such event. Maybe, we can try fixing bugs in any of the open source Clojure libraries. Thanks, Manoj. On Tuesday, July 17, 2012 3:45:39 PM UTC+5:30, Murtaza Husain wrote: > > Hi, > > Anyone interested in organizing a clojure dojo in Pune ? > > Thanks, > Murtaza > -- 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: Libraries for ClojureScript.
Thanks for your responses Creighton and Kevin. D3 looks cool, so should cljs-3D be, ditto for Enlive / Enfocus. All the best for your efforts, Manoj. -- 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
Libraries for ClojureScript.
Hi, My question is about design of libraries for ClojureScript. So for ex, there is clojure.test which has some public API. Now assume one has used it and is comfortable with its API. Now he has to write some ClojureScript code and wants to write some unit tests as well. Obviously, he'll use some pre-existing JS library / framework, but it will have its own API. Now - 1) Does it make sense to write a ClojureScript wrapper over existing JS libraries (as there are wrappers over many Java libraries / frameworks)? 2) Does it make sense, or is it better if this ClojureScript wrapper, exposes the same (as far as possible) or similar API to that of one of the Clojure libraries? The obvious advantage being the programmer has to get accustomed to just one API, which works for Clojure as well as ClojureScript. Please let me know your views. Thanks, Manoj. -- 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: ClojureScriptOne HelloWorld problem
Right. I had several tabs open, and I was reading the Clojure One tutorial and the same thing happened. Then I switched to the tab with the Development page and then when I ran alert, I saw it there and it returns. -- 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: [ANN] ClojureScript One - Getting Started with ClojureScript
Heart felt thanks to everyone who contributed to this. I hope to catch up with my lack of JS skills through ClojureScript :) Everything about ClojureScript is exciting stuff. Cheers, Manoj. -- 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
Idiomatic way to include doc-string for multimethods.
Hi, I've seen this particular discussion - https://groups.google.com/d/topic/clojure/Ia9uBDGuLmM/discussion I am talking specifically about multimethods here. So if you do - (defmulti my-method "some doc string" identity) then this particular doc-string is not visible in emacs (like in an auto-complete env. where doc-strings are shown.) But if you do - (defmulti #^{:doc "meta doc string"} my-method identity) Then this particular doc-string "meta doc string" is visible in emacs. So is it idiomatic clojure to put doc-strings for multimethods in #^{:doc ""} where as for plain methods (defn) we should write a string after the method name and before the arglist? Thanks, Manoj. -- 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: The Clojure way to solve this problem?
Thanks BG. I wasn't aware of the with-redefs. Then Gaz's way is cool. -- 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: The Clojure way to solve this problem?
I think you should look at the binding function - http://clojuredocs.org/clojure_core/clojure.core/binding In my tests, I am using this to run the same tests using two different functions, which are supposed to do the same thing (using two different methods, internally). In your case though, you might need a way to figure out in which context is it running (to be able to change the bindings). HIH, Manoj. -- 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: About metadat and #^ macro.
Thanks everyone for your inputs and the discussion. Manoj. -- 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: Finding a function's expected argument list length
In a REPL, user> (defn hello [name] (println "hi," name)) #'user/hello user> (meta (var hello)) {:ns #, :name hello, :file "NO_SOURCE_FILE", :line 1, :arglists ([name])} Please also check - http://clojuredocs.org/clojure_core/clojure.core/meta -- 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 jar files.
Clojure.jar does not have a project.clj file because it is all java code, right? If it is all java code then it's a (java) jar file. I found this convention of bundling a clojure jar file with a project.clj file - lein does this and that's all I know - so I was curious to know if every other build tool which people use does the same thing? -- 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: Rich Hickey: "Simple Made Easy" from Strange Loop 2011
I can understand your situation because I've seen a C# code where most of the classes in some 5-6 different assemblies had all (or 90%) static methods :) -- 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
Clojure jar files.
Hi, Is it mandatory that a clojure jar file, no matter packaged using whichever tool (other than leiningen, for ex.), should have a project.clj file? Thanks, Manoj. -- 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
About metadat and #^ macro.
Hi, I read in "Clojure in Action" book by Amit Rathore, that #^ associates metadata for the next form. He also mentions that it is deprecated. So what is the current way of doing it? Also, in code like this - (defn filenames-in-jar "Returns a sequence of Strings naming the non-directory entries in the JAR file." [#^JarFile jar-file] is it specifying that the type of the jar-file argument should be JarFile? Where can I find some more documentation and or examples about it? Thanks, Manoj. -- 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: A problem with using enumeration-seq with java.util.jar.JarFile.
Oops. Sorry, my bad. I am not using the JarFile object for the call. -- 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: A problem with using enumeration-seq with java.util.jar.JarFile.
But then why does this fail - (slurp (.getInputStream (first (enumeration-seq (.entries f) with - No matching field found: getInputStream for class java.util.jar.JarFile$JarFileEntry. -- 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
A problem with using enumeration-seq with java.util.jar.JarFile.
Hi, I want to read the contents of one of the files in a jar file. Here's the documentation - http://download.oracle.com/javase/6/docs/api/java/util/jar/JarFile.html Now, the doc. of entries method specifies it returns an Enumeration, whereas - (map #(class %) (enumeration-seq (.entries "some-jar-file"))) shows all are - java.util.jar.JarFile$JarFileEntry For this reason, the getInputStream method which expects a ZipEntry (a JarEntry could be passed to ZipEntry as the former derives from the latter) doesn't work on the above type. Is this an issue with enumeration-seq, or the way I am using it or is the doc. for JarFile is not correct or something else? Please let me know. Thanks, Manoj. -- 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
A question about lazy-seq fn.
Hi, Most of the examples I see about using the lazy-seq fn. make use of cons to build the list (or a seq). Can we not use lazy-seq with a conj? And why? If it possible to use lazy-seq with a conj, then an example would be great. Thanks, Manoj. -- 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: The Website / Wikispaces
It has happened to me too a couple of times (I can't explain why, though). However, I've done "*pin as app tab*" for the clojure docs tab (this functionality is available in latest versions of Firefox), so even if I reopen FF, I don't get this problem often. -- 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: Re: clojure and emacs
I too used to do lein swank from the cmd prompt and then used to load emacs and then used to M-x slime-connect. However I've come to know three modes in emacs - multi-term, shell and eshell mode (which is like a command prompt in emacs), so you can do M-x multi-term, M-x shell or M-x eshell. Each has its own peculiarities but it's better than switching between a cmd prompt and emacs. Manoj. -- 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
Problem in downloading StringTemplate using lein deps.
Hi, There is no jar available for StringTemplate in clojars. But StringTemplate v3.2 jar is available in Maven. So I included the necessary entry for StringTemplate in project.clj and tried downloading using lein deps. It gives me the below error - Downloading: stringtemplate/stringtemplate/3.2/stringtemplate-3.2.pom from central Downloading: stringtemplate/stringtemplate/3.2/stringtemplate-3.2.pom from clojars Downloading: stringtemplate/stringtemplate/3.2/stringtemplate-3.2.pom from central Downloading: stringtemplate/stringtemplate/3.2/stringtemplate-3.2.jar from central Downloading: stringtemplate/stringtemplate/3.2/stringtemplate-3.2.jar from clojars Downloading: stringtemplate/stringtemplate/3.2/stringtemplate-3.2.jar from central An error has occurred while processing the Maven artifact tasks. Diagnosis: Unable to resolve artifact: Missing: -- 1) stringtemplate:stringtemplate:jar:3.2 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=stringtemplate -DartifactId=stringtemplate -Dversion=3.2 -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=stringtemplate -DartifactId=stringtemplate -Dversion=3.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.maven:super-pom:jar:2.0 2) stringtemplate:stringtemplate:jar:3.2 -- 1 required artifact is missing. for artifact: org.apache.maven:super-pom:jar:2.0 from the specified remote repositories: clojars (http://clojars.org/repo/), central (http://repo1.maven.org/maven2) Exception in thread "main" Unable to resolve artifact: Missing: -- 1) stringtemplate:stringtemplate:jar:3.2 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=stringtemplate -DartifactId=stringtemplate -Dversion=3.2 -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=stringtemplate -DartifactId=stringtemplate -Dversion=3.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.maven:super-pom:jar:2.0 2) stringtemplate:stringtemplate:jar:3.2 -- 1 required artifact is missing. for artifact: org.apache.maven:super-pom:jar:2.0 from the specified remote repositories: clojars (http://clojars.org/repo/), central (http://repo1.maven.org/maven2) (NO_SOURCE_FILE:0) at clojure.lang.Compiler.eval(Compiler.java:5440) at clojure.lang.Compiler.eval(Compiler.java:5391) at clojure.core$eval.invoke(core.clj:2382) at clojure.main$eval_opt.invoke(main.clj:235) at clojure.main$initialize.invoke(main.clj:254) at clojure.main$script_opt.invoke(main.clj:270) at clojure.main$main.doInvoke(main.clj:354) at clojure.lang.RestFn.invoke(RestFn.java:457) at clojure.lang.Var.invoke(Var.java:377) at clojure.lang.AFn.applyToHelper(AFn.java:172) at clojure.lang.Var.applyTo(Var.java:482) at clojure.main.main(main.java:37) Caused by: Unable to resolve artifact: Missing: -- 1) stringtemplate:stringtemplate:jar:3.2 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=stringtemplate -DartifactId=stringtemplate -Dversion=3.2 -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=stringtemplate -DartifactId=stringtemplate -Dversion=3.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.apache.maven:super-pom:jar:2.0 2) stringtemplate:stringtemplate:jar:3.2 -- 1 required artifact is missing. for artifact: org.apache.maven:super-pom:jar:2.0 from the specified remote repositories: clojars (http://clojars.org/repo/), central (http://repo1.maven.org/maven2) at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:175) at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:678) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:90) at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:265) at leiningen.deps$do_deps.invoke(deps.clj:131) at leiningen.deps$deps.doInvoke(deps.clj:195) at clojure.lang.RestFn.invoke
Re: How to read project.clj file.
Thanks Shantanu and Daniel. I am trying to merge some functionality from two different projects, so the credentials could be stored in properties file or the project.clj file. And mine is not a leiningen plugin so I parsed the project.clj file. -- 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 read project.clj file.
Hi, Assuming there are some DB credentials specified in a project.clj file as a map, how should I read those credentials in my clojure code - 1) should I use slurp and then parse that text? 2) should I (use 'leiningen.core) and then (load-file "project.clj") 3) or something else Please let me know the best / idiomatic way to accomplish this. Thanks and regards, Manoj. -- 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: Calling clojure from java.
Thanks again Meikel. Where can I read about things like bindRoot, intern or to be precise java-clojure interop? -- 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: Aw: Calling clojure from java.
Thanks Meikel, I tried the below stuff - package com.codionics.flyway; import clojure.lang.RT; import clojure.lang.Var; public class wrapper { static final Var symbol = RT.var("clojure.core", "symbol"); static final Var require = RT.var("clojrue.core", "require"); static final Var keyword = RT.var("clojure.core", "keyword"); static final Var create = RT.var("lobos.core", "create"); static final Var table = RT.var("lobos.schema", "table*"); static final Var debuglevel = RT.var("lobos.core", "set-debug-level"); static Object db; public static void createTable() { try { RT.load("lobos/core", true); RT.load("lobos/schema", true); db = RT.map( keyword.invoke("classname"), "org.postgresql.Driver", keyword.invoke("subprotocol"), "postgresql", keyword.invoke("user"),"postgres", keyword.invoke("password"),"lindb2011", keyword.invoke("subname"), "//localhost:5432/flyway" ); Object result = create.invoke(db, table.invoke(keyword.invoke("music"))); System.out.println(result); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }; } and called wrapper.createTable() then I get - (# (quote {:classname "org.postgresql.Driver", :subprotocol "postgresql", :user "postgres", :password "lindb2011", :subname "//localhost:5432/flyway"})) I really don't understand the output, but it is definitely not what I am expecting. Please let me know. Thanks Petr, I have gone through that link, and I'll try this approach if the first one doesn't work. Regards, Manoj. -- 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
Calling clojure from java.
Hi, I am using the Lobos library - https://github.com/budu/lobos In it there's a function create, which is called like this - (create db (table :some-name)), where db is earlier defined as - (def db {:classname "org.postgresql.Driver" :subprotocol "postgresql" :user "postgres" :password "" :subname "//localhost:5432/flyway"}) If I have to call the above function from Java, how do I - 1) define the def (do I have to load some variable)? 2) I am loading the reqd. lobos libraries using [ RT.load("lobos/core", true); ] and then getting the reference to the create function like - [ Var foo = RT.var("lobos.core", "create"); ] But how do I pass the required arguments to this function. Do I need to create an array? Any help is truly appreciated. Thanks, Manoj. -- 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: Retrieving individual maps (items) from a list.
Thanks a lot for all the replies. Sorry for the trouble Allen that the highlighted parentheses caused you - Michael is absolutely right, I wrote them in Google groups which might have caused the error - next time I won't highlight anything. Finally, I used apply with insert-values. Regards, Manoj. -- 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
Retrieving individual maps (items) from a list.
Hi, I've to use clojure.contrib.sql's insert-records fn. Usage: (insert-records table & records) Inserts records into a table. records are maps from strings or keywords (identifying columns) to values. So, for ex. this works - (clojure.contrib.sql/insert-records :blogs {:id 3 :title "third" :body "third post"} {:id 4 :title "fourth" :body "fourth post"}) but this doesn't - (clojure.contrib.sql/insert-records :blogs *(*{:id 3 :title "third" :body "third post"} {:id 4 :title "fourth" :body "fourth post"}*)*) So, how do I retrieve individual maps from - (map #(zipmap [:a :b :c :d] %) [[1 2 3 4] [5 6 7 8]]) [where :a :b etc. are columns and the second vector is values] because the above gives me back - ({:d 4, :c 3, :b 2, :a 1} {:d 8, :c 7, :b 6, :a 5}) which I cannot pass to the "insert-records" function. Also, I get confused as to why some functions work on [] but not on lists (). In such cases, do I have to convert a list into a vector using something like vec? Thanks, Manoj. -- 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: Emacs 23 issues.
Thanks a lot Vincent. At least now I can run Emacs with Clojure, otherwise I was stuck at the very first step :) Thx again. Manoj. On Apr 21, 8:06 pm, Vincent Liard wrote: > Hi Manoj, > > > "unreadable message: (:emacs-rex (swank:autodoc (quote ("d" swank:: > > %cursor-marker%)) :print-right-margin 132) "user" :repl-thread 4) > > exception in read loop > > java.lang.RuntimeException: java.lang.Exception: Invalid token: > > swank::" > > I have experienced a similar (or the same) problem. I can't find back > the appropriate reference, but there is a bug with autodoc in > swank-clojure. > > Try adding (setq slime-use-autodoc-mode nil) to your .emacs > > Vincent -- 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
Emacs 23 issues.
I am facing problem in using Emacs with Clojure. I am able to use it with Lisp without any problems. The problem is - I start the server using "lein swank" (from my project dir) and then I start Emacs using "M-x slime-connect" but then as soon as I start typing something in Emacs I get the error - "lisp connection closed unexpectedly: connection broken by remote peer" and below is the java exception - "unreadable message: (:emacs-rex (swank:autodoc (quote ("d" swank:: %cursor-marker%)) :print-right-margin 132) "user" :repl-thread 4) exception in read loop java.lang.RuntimeException: java.lang.Exception: Invalid token: swank::" Below is my .emacs file - ;; newer settings (add-to-list 'load-path "~/.emacs.d/") (require 'package) (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/";)) ;; enter key should work as newline and indent (add-hook 'lisp-mode-hook '(lambda () (local-set-key (kbd "RET") 'newline-and-indent))) ;; set up the Common Lisp environment (add-to-list 'load-path "/usr/share/common-lisp/source/slime/") (require 'slime) (slime-setup) ;; setting up the color-theme (add-to-list 'load-path "/usr/share/emacs/site-lisp/emacs-goodies-el/ color-theme.el") (require 'color-theme) (eval-after-load "color-theme" '(progn (color-theme-initialize) (color-theme-hober))) ;; enable pasting to clipboard (from emacs) (setq x-select-enable-clipboard t) ;; set the align-let utility (add-to-list 'load-path "~/.emacs.d/elpa/align-cljlet") (require 'align-cljlet) ;;; This was installed by package-install.el. ;;; This provides support for the package system and ;;; interfacing with ELPA, the package archive. ;;; Move this code earlier if you want to reference ;;; packages in your .emacs. (when (load (expand-file-name "~/.emacs.d/elpa/package.el")) (package-initialize)) I have the following installed - clojure-mode 1.8.1 clojure-test-mode 1.5.5 durendal 0.1 magit 1.0.0 slime 20100404.1 slime-repl 20100404 Please let me know where is the problem. I am too frustrated with these initial issues. Thx and regards, Manoj. -- 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: Emacs with Lisp and Clojure.
But the same enter key works properly when I am using Lisp, so why shouldn't it be the default in Clojure as well? Also, after removing clojure-mode, when I try to install swank- clojure, it again installs the clojure-mode, but fails to install itself? regards, Manoj. On Mar 24, 12:45 am, Tassilo Horn wrote: > Thorsten Wilms writes: > > Hi, > > >> 1) There is no auto indentation (so when I go to the next line, after > >> say (defn some[]), it starts with the first col. in this new line) > > > Could be the job of Paredit (I'm not sure what does what, here). > > No, paredit has nothing to do with that. He probably goes to the next > line with RET, which is `newline' by default. Maybe he wants to bind > `newline-and-indent' to RET, instead. > > (define-key clojure-mode-map (kbd "RET") 'newline-and-indent) > > Bye, > Tassilo -- 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
Emacs with Lisp and Clojure.
Hi, I am a newbie to Ubuntu (10.10) and Emacs (23). I have been able to satisfactorily setup Eclipse and CCW, thanks to feedback from CCW user group members. However, I wanted to explore Clojure through Emacs. I have clojure-mode 1.7.1, slime and slime-repl 20100404 installed. I've also installed the ELPA. I've read the assembla wiki and also seen Lau Jensen's video on getting started with Emacs and clojure. I have the following in my ~/.emacs file (please note, some of the lines are commented) - ;; Set up the Common Lisp environment (add-to-list 'load-path "/usr/share/common-lisp/source/slime/") (add-to-list 'load-path "/opt/clojure-mode/") ;;(add-hook 'slime-repl-mode-hook 'clojure-mode-font-lock-setup) ;;(add-to-list 'package-archives '("marmalade" . "http://marmalade- repo.org/packages/") t) ;;(setq inferior-lisp-program "/usr/bin/sbcl") (setq x-select-enable-clipboard t) (require 'clojure-mode) (require 'slime) (slime-setup) (setq slime-lisp-implementations '((clojure ("/usr/bin/clojure")) (sbcl ("/usr/bin/sbcl" ;;; This was installed by package-install.el. ;;; This provides support for the package system and ;;; interfacing with ELPA, the package archive. ;;; Move this code earlier if you want to reference ;;; packages in your .emacs. (when (load (expand-file-name "~/.emacs.d/elpa/package.el")) (package-initialize)) Now when I try to install swank-clojure, I get the following message - File exists: /home/manoj/.emacs.d/elpa/clojure-mode-1.7.1/clojure- mode.el And then, after running Emacs, when I say, C-u M-x slime, it prompts me with Run lisp: lisp and when I change lisp to Clojure, I get a clojure prompt. But - 1) There is no auto indentation (so when I go to the next line, after say (defn some[]), it starts with the first col. in this new line) 2) I can also delete the user => prompt (where as with SBCL prompt, it says the text is read-only). Please let me know if I am doing something wrong or missing some steps. I would also like the ability to run Lisp and / or Clojure in Emacs (because I am learning both of them). Thanks in advance, Manoj. -- 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: Monad Lessons
+1 (though I'll have to read about tmux first) :) Regards, Manoj. On Mar 10, 12:15 am, jim wrote: > I gave a talk at CodePaLOUsa on monads and got some favorable > feedback. So I thought I'd offer to do a live training session on > monads using pretty much the same material, but at a shared REPL > rather than with slides. > > How it would work is I would start a Skype conference for 5 to 10 > people. We would also all log in to a tmux session where I would show > the examples and their results. > > So, my question is how many would be interested in such a session? > This would be a basic introduction to monads. Future session could be > about more advanced monad topics, if there was a demand for that. > > 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 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: let's all link to the "getting started" pages!
Hi, Sorry for posting to an old thread, but thought this might be a good one to ask. My question is this - isn't ClojureBox an Emacs? If yes, then why don't we include it in the above Wiki? Thanks, Manoj. On Apr 7, 3:39 pm, Avi Schwartz wrote: > On March 30th Eric Thorsen released version 1.1 of the Enclojure plugin for > NetBeans and posted to the enclojure group the following information. You > may want to update the information about Enclojure and NetBeans: > > Requirements: > Netbeans 6.8 > > To use the new release: > 1. If you already have Enclojure installed, go to the > Tools->Plugins->Installed and click on "Show Details". Find the Clojure > plugin and > > Uninstall it. > This should be the last time you'll need to do this now that the > update site is in place. > > 2. Setup the autoupdate for Enclojure > There is an autoupdate URL that you can use that will keep you up to > date with releases from now on. You'll need to set this up 1x by > going into the Tools->Plugins->Settings and click "Add". > Call the Update Center "Enclojure" and use the following > URL:http://www.enclojure.org/file/view/Autoupdate_Site.xml.gz > > 3. Install the plugin > Again, in the Tools->Plugins dialog: > Go to "Available Plugins" and select the "Enclojure Clojure Plugin" > and click install. > This will download the plugin and take you through the install > process. > > From now on, the releases will be done via the update center. > > Thanks, > Avi > > On Tue, Apr 6, 2010 at 10:55 AM, Stuart Halloway > wrote: > > > People getting started with Clojure have struggled to find an up-to-date > > source for information on getting their editor of choice up and running. > > This is unfortunate, since there is good support in a bunch of different > > editors. > > > The "Getting Started" page on Assembla ( > >http://www.assembla.com/wiki/show/clojure/Getting_Started) should > > ameliorate this problem. A bunch of people have contributed or tested > > instructions for Netbeans/Enclojure, Eclipse/Counterclockwise, IDEA/La > > Clojure, Emacs, Vim, and Leiningen. > > > Now we just need to make this page more google-findable. If you have a > > blog/twitter/whatever-the-kids-use-these-days, please link out to the > > Assembla page, especially if you written up your own getting started > > instructions. > > > Also, if you think the instructions suck please let me know how to make > > them better. > > > Big thanks to everyone who wrote or tested the setup instructions, and to > > the unsung heroes who implemented the editor support modes. > > > Thanks, > > Stu > > > -- > > 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 > > > To unsubscribe, reply using "remove me" as the subject. -- 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: Which GUI toolkit would you like to see wrapped in an idiomatic Clojure library?
I work on .Net, so my observation could be totally wrong, but I think JavaFx could be an option to consider (specially because of its JSON kind of syntax). I am working on a WPF project currently, and although WPF is big and complex, the kind of UIs one can build with it is amazing, and JavaFx looked similar to me in intent and purpose. So I am really surprised why no one mentioned JavaFx. Is it because it's new? On May 27, 11:18 am, Luke VanderHart wrote: > My side project is a fairly complex GUI application written in > Clojure. Recently, I've become irritated with using Java interop for > everything. It's not that Clojure doesn't have nice java interop - it > does. It's just that when interacting with a GUI framework, which is a > large part of my app, I have to be back in mutable object-oriented > land, worrying about class hierarchies, mutable state, locks, etc. > Yucky. > > So, with a perhaps dangerous lack of sanity and without any guarantee > of success, I've decided to try my hand at writing an idiomatic > Clojure GUI library. If I have success (which I doubt) I will of > course make it available as open source. > > I intend for it to be mostly declarative, with a nice DSL for defining > GUI elements. Each component will also implement map, and use one of > Clojure's reference types as an interface for inspecting / updating > its state. I may also implement some aspects of Functional Reactive > Programming wherever it's convenient to do so. > > What you all must help me decide is what GUI framework to use as the > underpinnings of it. It's genuinely hard to decide. I have at least > some experience with all of them, so I have no strong preference, but > I'd like to get your input. I did consider trying to make it abstract > enough that you could plug in *any* of them under the hood, but > there's enough differences between the frameworks that that would get > very ugly very fast. > > Possibilities are: > > AWT > Pros: native widgets, bundled with Java, low-level > Cons: few widgets, considered somewhat obselete > > Swing > Pros: bundled with Java, good widget selection > Cons: non-native widgets > > SWT > Pros: native widgets, widely used > Cons: requires platform-specific libs > > QT Jambi > Pros: native widgets, huge widget selection, highly-regarded framework > Cons: requires platform-specific libs, writing custom widgets is > hairy, momentum and support seem to be lagging since Nokia dropped > official support. > > Remember, the actual API won't matter - that will be completely > abstracted away. So try to focus on the framework's look and feel. > Also let me know if I've missed any of the framework's key > characteristics. > > Thanks! > > -Luke -- 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: Visual Studio plugin
Hi Eric, I downloaded Netbeans and the Enclojure plug-in for it. It is pretty cool, though I still have to play with it more. BTW, you forgot to mention if you need this plug-in for VS 2008 or 2010? VS 2010 has a completely different model for building plug-ins than VS 2008. Also, do you think it is a one person effort? I would love to work on such stuff but haven't done anything similar before. A few days back, I was thinking that such a plug-in should be there for Sharp Develop (just because Sharp Develop is free and various Express Editions of Visual Studio don't support plug-ins). Regards, Manoj. On Mar 10, 8:57 am, Eric Thorsen wrote: > It does it matter to me how it gets written (C# or ClojureCLR) > The desire is to have a plugin that supports syntax highlighting, > completion, debugging, etc. but what I really am looking for is > something that can manage repl(s) that can load the libraries for a > given solution or set of projects (similar to what the Enclojure > plugin does in Netbeans). > Roadmap: > 1. Have a REPL window running within VS that has history (preferably > persistant across restarts), and can see a set of selected libs. > The libs could come from the solution or some other way of setting up > a context for REPLs. > 2. Have the plugin know about Clojure files. > Syntax highlighting, completion, folding, etc. > 3. Debugger support > > Eric > On Mar 9, 1:47 pm, mmwaikar wrote: > > > Forgot to ask the below mentioned questions earlier - > > > Which version of Visual Studio are you targeting - 2008 or 2010? > > Do you have a development road-map for your plug-in features? > > > Thanks, > > Manoj. > > > On Mar 9, 1:05 pm, mmwaikar wrote: > > > > Is it possible to write a plug-in in Clojure CLR? And if it is, would > > > you prefer it in Clojure CLR or C# is fine? Also do you want both REPL > > > and syntax highlighting for clj files in Visual Studio? > > > > Thanks, > > > Manoj. > > > > On Mar 8, 2:17 pm, Eric Thorsen wrote: > > > > > Is there/is anyone working on/is anyone interested in working on a > > > > Visual Studio plugin for a Clojure REPL for clojureCLR? > > > > > My company might be interested in sponsoring this work. > > > > > Thanks! > > > > eric -- 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: Visual Studio plugin
Forgot to ask the below mentioned questions earlier - Which version of Visual Studio are you targeting - 2008 or 2010? Do you have a development road-map for your plug-in features? Thanks, Manoj. On Mar 9, 1:05 pm, mmwaikar wrote: > Is it possible to write a plug-in in Clojure CLR? And if it is, would > you prefer it in Clojure CLR or C# is fine? Also do you want both REPL > and syntax highlighting for clj files in Visual Studio? > > Thanks, > Manoj. > > On Mar 8, 2:17 pm, Eric Thorsen wrote: > > > Is there/is anyone working on/is anyone interested in working on a > > Visual Studio plugin for a Clojure REPL for clojureCLR? > > > My company might be interested in sponsoring this work. > > > Thanks! > > eric -- 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: Visual Studio plugin
Is it possible to write a plug-in in Clojure CLR? And if it is, would you prefer it in Clojure CLR or C# is fine? Also do you want both REPL and syntax highlighting for clj files in Visual Studio? Thanks, Manoj. On Mar 8, 2:17 pm, Eric Thorsen wrote: > Is there/is anyone working on/is anyone interested in working on a > Visual Studio plugin for a Clojure REPL for clojureCLR? > > My company might be interested in sponsoring this work. > > Thanks! > eric -- 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: Can anyone here give a comparison between Clojure and Erlang on concurrent programming?
Thanks everyone for your enlightening responses. On Sep 25, 3:35 am, Rick Moynihan wrote: > 2009/9/24 wmacgyver : > > > > > Excellent summary of each language's sweet spot. I'd like to suggest a > > different book for Erlang though. > > > For learning Erlang, I'd suggest Erlang Programming by Francesco > > Cesarini & Simon Thompson, published by O'Reilly > > Yes, this is definitely the best book currently available on Erlang. > It's amazing how well it seems to hit both the introductory and more > advanced ends of Erlang and its environment. Joe's book was good (but > a little shallow), this is indepth yet accessible. > > Having had the pleasure of spending a good couple of hours with both > the authors I can say that not only do they really know their stuff, > but that they're both excellent at explaining things... With > Francesco being CTO of Erlang Training & Consultants (one of the > oldest (and probably the oldest) Erlang consultancy companies - > outside of Erricson) and Simon being a long established academic & > authority on functional programming as well as author of what is > regarded by many as the best text on Haskell, they have a talent for > explaining things simply. > > The other thing I find striking about this book, is that it's very > much a practical book geared at people using Erlang to solve real > world problems. There is little talk from ivory towers here, just the > nitty gritty details of Erlang, concurrency and high-availability > engineering. > > Anyway, I'm just glad that we now have two practical (real-world) > functional languages available to us, Erlang and Clojure. As others > have said, Erlang is a more specialist language than Clojure and in > its niche it is undisputed king... However Clojure, being built on > the JVM is more suited to a wider variety of problems (think > everything that Java was used for + everything lisp or scheme is great > at with some bonus points for combining these worlds so well). > > R. --~--~-~--~~~---~--~~ 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: Can anyone here give a comparison between Clojure and Erlang on concurrent programming?
With respect to Stuart's comment above - "Erlang is designed for distributed operation across many machines; Clojure is designed for a single machine with many cores.", how are Clojure and Haskell different? I am just curious to know how do Haskell, Clojure and Erlang compare. On Sep 24, 4:36 am, Lance Carlson wrote: > I'd recommend an architecture where you utilize ejabberd and create > bots/components that read XML stanzas and react. That way you can just > scale your application servers separately and use any language you > choose. You also get chat for free. > > On Thu, Sep 24, 2009 at 4:23 AM, ngocdaothanh wrote: > > > I think there are 2 kinds of concurrency: local concurrency (one > > machine) and distributed concurrency (parallel). > > > Is there a comparison about the speed of local concurrency of Clojure > > and Erlang? > > > I would like to create an online multiplayer game server which serves > > thousands of persistent flash connections. On a single machine > > (something like Intel i7 with 6GB RAM), can JBoss Netty + Clojure beat > > gen_tcp + Erlang? > > > Thanks. > > --~--~-~--~~~---~--~~ 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: Confusion with apply.
Thanks Laurent. I read about map, but I didn't think of using it because "map takes a source collection coll and a function f, and it returns a new sequence by invoking f on each element in the coll" and in my situation, I don't want a new collection back. So for ex, a have a list of file names (with their full paths), I just want to move each and every file from a source directory to a destn. directory, in which case, if I have a move function, which moves a single file, I would like this move to be applied to each file in the list. Is map still the best function for such a task? Again, the function to be applied to each element returns void, instead of my earlier example. Regards, Manoj. On Jul 22, 5:24 pm, Laurent PETIT wrote: > You are searching map. > > You should definitely consider reading the datastructures and sequences > pages on clojure.org, or you will be stopped at each step. > > Regards, > > -- > Laurent > > 2009/7/22 mmwaikar > > > > > Hi, > > > I am getting a little confused in how apply works. I thought that > > (apply f args* argseq) means applying f to each of the elements of > > argseq one by one (assuming one doesn't pass any args), but it is not > > like that. So for ex, > > > I wrote this: (defn mul5 [arg] (* arg 5)) > > and wanted to do this: (apply mul5 1 2 3 [4 5]) > > > thinking that I'll get a list back where each element of the original > > list is multiplied by 5, but I get IllegalArgumentException: Wrong > > number of args passed to: mul5. > > > So if this is the intended behavior of apply, which function should I > > use in this case? Is there anything in Clojure where I can apply any > > user-defined function to each and every element of a list one-by-one? > > > Thanks for the replies. > > > Regards, > > Manoj. > > --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Confusion with apply.
Hi, I am getting a little confused in how apply works. I thought that (apply f args* argseq) means applying f to each of the elements of argseq one by one (assuming one doesn't pass any args), but it is not like that. So for ex, I wrote this: (defn mul5 [arg] (* arg 5)) and wanted to do this: (apply mul5 1 2 3 [4 5]) thinking that I'll get a list back where each element of the original list is multiplied by 5, but I get IllegalArgumentException: Wrong number of args passed to: mul5. So if this is the intended behavior of apply, which function should I use in this case? Is there anything in Clojure where I can apply any user-defined function to each and every element of a list one-by-one? Thanks for the replies. Regards, Manoj. --~--~-~--~~~---~--~~ 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: Problem with running clojure on java.
Arghhh...this was causing me a lot of pain. Thanks for the reply. On Jul 13, 11:54 pm, Richard Newman wrote: > Manoj, > > require is for Clojure libraries only. > > You probably want import: > > http://clojure.org/api#toc297 > > but note that you don't need to *load* Java libraries per se, so long > as they're in the classpath: import simply makes the names available > in the current namespace. > > You can see this for yourself: > > $ java -jar /opt/clojure/clojure.jar > Clojure 1.1.0-alpha-SNAPSHOT > user=> (ancestors java.util.Calendar) > #{java.lang.Object java.lang.Cloneable java.lang.Comparable > java.io.Serializable} > user=> (import 'java.util.Calendar) > java.util.Calendar > user=> (= Calendar java.util.Calendar) > true > > No loading necessary; indeed, no classpath fiddling for Calendar, > which is a standard Java class. > > -R --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Problem with running clojure on java.
Hi, I am basically a .Net programmer, trying out Clojure on both java and .net. I have the following bat file, which I use to run Clojure - java -cp "C:\Program Files\Java\jdk1.6.0_13\jre\lib\rt.jar";D:\Manoj \Languages\Clojure\clojure\clojure-contrib.jar;D:\Manoj\Languages \Clojure\clojure\clojure.jar clojure.main Now once the REPL comes up, if I say (require 'java.util.Calendar) it gives me the following error - java.io.FileNotFoundException: Could not locate java/util/ Calendar__init.class o r java/util/Calendar.clj on classpath: (NO_SOURCE_FILE:0) I am unable to figure out the problem, even after setting the path to rt.jar (which I believe, contains the JDK classes). Thanks in advance for your help and replies. Manoj. --~--~-~--~~~---~--~~ 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: Problem with clojure code on .net.
Hi, I am facing another problem now. Please take a look at this code - (import '(System.IO Path Directory File StreamWriter DirectoryNotFoundException)) (import '(System.Diagnostics Process ProcessStartInfo ProcessWindowStyle)) (defn strt [tool] (let [info (ProcessStartInfo. tool) p (Process.)] (doto p (.StartInfo info)) (.Start p))) When I try to execute the above function using - (strt "C:\\WINDOWS\\system32\\cmd.exe") I get the following exception - System.MissingMethodException: Method 'System.Diagnostics.Process.StartInfo' not found. at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args) at clojure.lang.Reflector.CallInstanceMethod(String methodName, Object target , Object[] args) in d:\Manoj\Languages\Clojure\ClojureCLR\Clojure \Clojure\Runtime\Reflector.cs:line 122 at lambda_method(Closure , Object ) at AFunction_impl.invoke(Object ) at lambda_method(Closure ) at AFunction_impl.invoke() at REPLCall(Closure ) Please let me know where's the issue. Thanks and regards, Manoj. On Jul 2, 11:43 pm, Baishampayan Ghose wrote: > mmwaikar wrote: > > Thanks Michael, and you are spot on about your observation on > > parentheses :) but when I wasn't putting (def name-wo-extn > > "something") in another (), I was getting some error like - too many > > arguments to def, hence I put one more. I am still getting used to > > this syntax. > > Use a parenthesis aware editor and let the editor manage those for you. > You will be in deep trouble if you are counting and managing the > parenthesis manually :) > > Otherwise, Clojure (like all Lisps) has very minimal syntax. > > Regards, > BG > > -- > Baishampayan Ghose > oCricket.com > > signature.asc > < 1KViewDownload --~--~-~--~~~---~--~~ 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: Problem with clojure code on .net.
Thanks Michael, and you are spot on about your observation on parentheses :) but when I wasn't putting (def name-wo-extn "something") in another (), I was getting some error like - too many arguments to def, hence I put one more. I am still getting used to this syntax. On Jul 1, 3:03 am, Michael Wood wrote: > Hi > > 2009/7/1 mmwaikar : > > > Hi, > > > I am learning clojure these days, but on .Net. I have the following > > code - > > I only have a tiny bit to add to what Daniel's already said. > > [...] > > > (defn GetSubfolderName [filename] > > ((def name-wo-extn (Path/GetFileNameWithoutExtension filename)) > > First, def creates basically global variables (or something similar). > You want let instead. > Second, you can't just add parentheses as you see fit. :) > > (def name-wo-extn "something") > > is defining name-wo-extn as the string "something". > > ((def name-wo-extn "something")) > > is trying to define name-wo-extn as the string "something" and then > call it as a function. Since "something" is a String and not a > function (or something that acts as a function), this will fail. > > So, for ((def name-wo-extn (Path/GetFileNameWithoutExtension > filename)) ...) implies that (Path/GetFileNameWithoutExtension > filename) returns a Clojure function (or something that can be used as > one, like a map/set/etc.). I suppose Path/GetFileNameWithoutExtension > is a .Net method, in which case it is unlikely to work as a Clojure > function. Java methods can't be used in place of Clojure functions > and I assume it's the same for the .Net port. > > > (def first-char (aget (.ToCharArray (.ToString name-wo-extn)) 0)) > > (if (Char/IsDigit first-char) (Convert/ToInt32 first-char) (if > > (starts-with-hmorx first-char) (.ToLower (.ToString first-char)) > > "other" > > > But when I call (GetSubfolderName "D:\\CsEx\\Manoj.cs"), I get this > > exception - > > > System.InvalidCastException: Unable to cast object of type > > 'System.String' to type 'clojure.lang.IDeref'. > > I think the extra parentheses are the reason for this exception. > > > at lambda_method(Closure , Object ) > > at AFunction_impl.invoke(Object ) > > at lambda_method(Closure , Object ) > > at AFunction_impl.invoke(Object ) > > at lambda_method(Closure ) > > at AFunction_impl.invoke() > > at REPLCall(Closure ) > > [...] > > -- > Michael Wood --~--~-~--~~~---~--~~ 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: Problem with clojure code on .net.
Thanks a lot Daniel for your suggestions. As per my understanding Clojure for Java and .Net are two implementations of the same language, but they have to support different things because the underlying platforms support different things - e.g. extension methods (are in C# but most likely not in Java). I realized the naming convention of methods. Similarly, what should be the convention for naming method parameters? Is it pascalCase? Also, I'll have to check when-let and re-find, I am still not familiar with it. As for the program, I had to write a simple cmd line tool a few days back at my work, which converts images from one format to other (by using an external tool) and copies the converted images to specific folders (based on the file names), hence the subfolder name fn. On Jul 1, 1:58 am, Daniel Lyons wrote: > Manoj, > > In case this helps, I've had a bit longer to dwell on this problem and > I have a couple of ideas. I do think this raises the general question > of, are Clojure .NET and Clojure Java two different languages or two > implementations of the same language? Normally in a situation like > this (say, Jython and Python) I would say that they should be two > implementations of the same language but the situation is complicated > by the fact that Clojure code relies heavily on Java objects since the > policy is not to wrap everything. I'm not sure how the subject of > Clojure .NET / Java portability has been approached but my naïve guess > is that it would revolve around separating Java dependencies and .NET > dependencies from pure Clojure code. Is anyone else addressing these > issues in their own code at this time? > > Back to your code. First of all, to simplify things, it's probably a > good idea to decouple your I/O from your parsing, since the parsing > can be functional. First I rewrote starts-with-hmorx into this: > > (defn starts-with-hm-or-x [name] > (#{\H \M \X} (.charAt name 0))) > > Which I think is simpler, building on the fact that sets can be used > as functions, but then I thought it would probably be better to > rewrite the functions into one that gets the information from the > filesystem and another one that gets the information you want out: > > (defn parse-subfolder-name > [name] > (or > (when-let [[_ digit] (re-find #"(\d).*" name)] > (Integer/parseInt digit)) > (when-let [[_ hmx] (re-find #"([hHmMxX]).*" name)] > (.toLowerCase hmx)) > "other")) > > Unfortunately I'm still dependent on some Java API stuff in there, but > I think you can probably translate to the .NET equivalents. This is > easier to test at the REPL: > > user> (parse-subfolder-name "0stuf") > 0 > user> (parse-subfolder-name "Hstuf") > "h" > user> (parse-subfolder-name "stuf") > "other" > > Then I'd set about handling the loading of the filename and > dispatching it: > > (defn get-subfolder-name > [filename] > (parse-subfolder-name > (.ToString (Path/GetFileNameWithoutExtensions filename > > Now it should be easier to determine where the problem is, either in > the I/O code or in the functional code which is easier to test at the > REPL. > > As an aside, I'd recommend that you follow the naming convention of > using lowercase function names with words separated by hypens (get- > subfolder-name) rather than CamelCase (GetSubfolderName). Also, it > doesn't look to me like GetSubfolderName is really returning a > subfolder's name but I'm not quite sure what it is doing either. Are > you working on an app with specific meaning tied to the first > character of a path name or is this a .NET filesystem thing? Just > curious. > > Thanks and hope this helps, > > — > Daniel Lyons --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Problem with clojure code on .net.
Hi, I am learning clojure these days, but on .Net. I have the following code - (import '(System.IO Path Directory File DirectoryNotFoundException)) (defn starts-with-hmorx [name] (if (or (= (.ToUpper (.ToString name)) "H") (= (.ToUpper (.ToString name)) "M") (= (.ToUpper (.ToString name)) "X")) true false)) (defn GetSubfolderName [filename] ((def name-wo-extn (Path/GetFileNameWithoutExtension filename)) (def first-char (aget (.ToCharArray (.ToString name-wo-extn)) 0)) (if (Char/IsDigit first-char) (Convert/ToInt32 first-char) (if (starts-with-hmorx first-char) (.ToLower (.ToString first-char)) "other" But when I call (GetSubfolderName "D:\\CsEx\\Manoj.cs"), I get this exception - System.InvalidCastException: Unable to cast object of type 'System.String' to type 'clojure.lang.IDeref'. at lambda_method(Closure , Object ) at AFunction_impl.invoke(Object ) at lambda_method(Closure , Object ) at AFunction_impl.invoke(Object ) at lambda_method(Closure ) at AFunction_impl.invoke() at REPLCall(Closure ) Any help is greatly appreciated. Thanks, Manoj. --~--~-~--~~~---~--~~ 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: Contributing to Clojure CLR.
What is CA? I've never used GitHub too so any help is greatly appreciated. On Jun 11, 3:24 pm, David Miller wrote: > Yes to all of the above. > > Github will always be the most current version. I'm rolling changes > out to contrib on a less frequent basis. > > for, improve, post a pull on github is way to go. > > And CA definitely required. > > On Jun 11, 10:14 am, Rich Hickey wrote: > > > On Jun 11, 9:57 am, Paul Stadig wrote: > > > > I believe David Miller is the one who wrote the CLR code, and he is still > > > hacking on it when he has time. > > > > In addition to what is checked into contrib there is also this: > > > >http://github.com/dmiller/ClojureCLR/tree/master > > > > I'm not sure if they are in sync or which is the most current (github may > > > be > > > it was last updated May 31). I suppose one possible workflow is to fork, > > > improve, and set a pull request. > > > > Paul > > > > On Wed, Jun 10, 2009 at 10:25 PM, mmwaikar wrote: > > > > > Hi, > > > > > How can one contribute to the development of Clojure on CLR? > > > > > I was trying the following - (.ToString DateTime/Now) and was getting > > > > - "System.Exception: Unable to find static field: Now in > > > > System.DateTime". > > > > > I added some code in Reflector.cs, Compiler.cs and StaticFieldExpr.cs > > > > and got it working, though I am not sure if the fixes are in the right > > > > place. Please let me know if you want to have a look at my changes. > > > > > Thanks, > > > > Manoj. > > > You will need a CA as well. > > > Rich --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Contributing to Clojure CLR.
Hi, How can one contribute to the development of Clojure on CLR? I was trying the following - (.ToString DateTime/Now) and was getting - "System.Exception: Unable to find static field: Now in System.DateTime". I added some code in Reflector.cs, Compiler.cs and StaticFieldExpr.cs and got it working, though I am not sure if the fixes are in the right place. Please let me know if you want to have a look at my changes. Thanks, Manoj. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---