Re: Alternate set literal syntax?
On Sat, Mar 24, 2012 at 1:44 AM, Cedric Greevey cgree...@gmail.com wrote: On Sat, Mar 24, 2012 at 1:28 AM, Sean Corfield seancorfi...@gmail.com wrote: On Fri, Mar 23, 2012 at 8:44 PM, Cedric Greevey cgree...@gmail.com wrote: #{foo bar baz} is somewhat ugly. It occurs to me that one could modify the reader to additionally accept {{foo bar baz}} My concern is that {{1 2 3 4}5} is currently legal - a map with a map as a key and 5 as the value. That means that the reader couldn't tell if {{ introduced your set notation or the start of a nested map without looking arbitrarily far ahead. And that problem gets worse if you encounter {{{ or or... {{{ could introduce a nested map, a map of your sets or one of your sets containing a map... The other objections are fair enough -- matters of taste. But the above is a technical problem with a simple fix: make one pass over the source, converting it into a rudimentary AST whose nodes just look I think the word reader above applies both to the human and computer kinds. You've only addressed the problem for the computer. A user would still have to look at the end of the collection to know if it is a set or map (or use editor). As for the aesthetics, what I like about {{...}} is that the delimiters are symmetrical, unlike #{...}, and it would allow one to reserve use of the # mark to, mostly, closures, so # would stand out more as typically indicating a lambda. Sorry to break it to you, but # is used in many places other than lambdas, so even if you remove it from #{} you still have foo#, #^foo, #^{foo bar}, #'foo, #foo, #_foo, #foo{1 2}, #foo[1 2], and others I've probably forgotten. One option you have is to use Emacs to replace #{} and #() with something distinctive looking. (dolist (mode '(clojure-mode slime-repl-mode)) (eval-after-load mode `(font-lock-add-keywords ',mode (mapcar (lambda (pair) `(,(car pair) (0 (progn (compose-region (match-beginning 1) (match-end 1) ,(cadr pair)) nil `((\\(#\\){ ∈) (\\(#\\)(ƒ) ((\\(fn\\)[\[[:space:]] λ) ((\\(comp\\)[\[[:space:]] ∘) ((\\(range\\)[\[[:space:]] ℝ) ((\\(apply \+\\)[\[[:space:]] ∑) ((\\(Math/pi\\)[\[[:space:]] π) ((\\(-\\)[\[[:space:]] →) ((\\(partial\\)[\[[:space:]] þ) ((\\(complement\\)[\[[:space:]] ¬) ;; not working ;; (Math/pi[:space:] π) ;; ((\\(apply \+\\)[\[[:space:]] ∑) ) Cheers, Scott -- 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 emacs packages?
- Auto-complete Ac-slime http://www.youtube.com/watch?v=kH0gOE7rj7g and http://www.youtube.com/watch?v=dio__Qylp-s - yasnippets - clojure-refactoring - align-cljlet http://www.youtube.com/watch?v=m_5Dldykckg - define-function http://www.youtube.com/watch?v=D2s_d9gvNVI Scott On Thu, Mar 8, 2012 at 9:10 AM, AndyK andy.kri...@gmail.com wrote: Curious about which emacs packages folks use for increased Clojure productivity (beyond the obvious, like slime/swank-clojure)... -- 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: [ANN] analyze 0.1
Very cool. If you think of other potential example errors this would be capable of detecting it might be nice to include them in a TODO list in the README. This might motivate someone to implement them or develop a nice emacs UI for displaying these errors. Scott On Mon, Jan 2, 2012 at 4:14 AM, Ambrose Bonnaire-Sergeant abonnaireserge...@gmail.com wrote: Inspired by the ClojureScript compiler, analyze is an interface to the Clojure analysis phase. Check the README for some cool things you can do. https://clojars.org/analyze https://github.com/frenchy64/analyze I've barely tested the library but it manages to analyze a good part of the core Clojure library. This is work in progress. If you heard Rich Hickey talking about leveraging the analysis phase at the Conj, this is a step in that direction. Have fun :) Ambrose -- 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: Clojure list syntax sugar: f(x) notation
Do you support this? classic: ((foo bar) baz) your syntax: foo(bar)(baz) Scott On Mon, Dec 26, 2011 at 1:09 PM, Louis Yu Lu louisy...@gmail.com wrote: Recently, I found freedom of coding playing with Clojure with over 20 years’ experience on other program languages, Previously, I had several trials of learning Lisp, but never got traction. However there are two syntax notations always bother me, it feels unnatural with my experience on other programming languages and math: 1) Prefix operator for math formula. Jeffrey Bester’s math library https://github.com/jbester/cljext/blob/master/cljext/math.clj has brought in the infix notation and solved the problem; 2) The leading item of a list follows the parenthesis when it serves as a function name, (f x) instead of f(x). I am fully aware of many discussions on alternative syntax for Clojure and Lisp in the past, one stream is here http://groups.google.com/group/clojure/browse_thread/thread/319a1c77ed718ba/3e4be7484b7cbe38 My proposition is enhance Clojure to accept both (f x) and f(x), the leading item can appear either after ‘(‘ as usual with classic Lisp notion: (println Hello, world!) or with conventional function call notation: println(Hello, world!) The f(x) notation is just a syntax sugar, the only restriction is no space between the leading item and '('. If one or more spaces in between, the item will be treated as a separate symbol. Either notion or a mix of them can be used in the same program. Here are some examples: ; classic Lisp syntax notation (defn pig-latin [word] (let [first-letter (first word)] (if (.contains aeiou (str first-letter)) (str word ay) (str (subs word 1) first-letter ay (println (pig-latin red)) (println (pig-latin orange)) ; f(x) syntax notation defn(pig-latin [word] let( [first-letter first(word)] if(.contains(aeiou, str(first-letter)) str(word, ay) str(subs(word, 1), first-letter, ay println(pig-latin(red)) println(pig-latin(orange)) ; classic Lisp syntax notation (defn fib [n] (if ( n 2) 1 (+ (fib (dec n) ) (fib (- n 2) (fib 36) ; mix of two notations defn(fib [n] if(( n 2) 1 (+ fib(dec(n)) fib((- n 2))) ) ) fib(36) I have made minor changes (dozen lines) in one file (LispReader.java) from Clojure source repository to implement this syntax sugar(code posted at https://github.com/louisyulu/clojure-fx). It works with well- formed classic Clojure code and the proposed notation. Running the test suite from Clojure distribution results two error: One in the file compilation.clj line 90: (recur y ^Long(rem x y)] The problem is ^Long(… becomes function call, the fix is adding a space in between (recur y ^Long (rem x y)] The second is in the file sequences.clj line 1131: (is (=(partition-by #{\a \e \i \o \u} abcdefghijklm) The problem is (=(… , ‘=’ is associated with following ‘(‘, the intention was the previous ‘(‘, the fix is also adding a space in between (is (= (partition-by #{\a \e \i \o \u} abcdefghijklm) These two cases are caused by the not well-formed Clojure code (strictly speaking, each item in the list should be separated by a space). The proposed syntax sugar apparently pleases my eyes and fingers from conventional languages. With some experiments, I found the code is more readable for me to use f(x) notation for function call, and (op x) for operator. I like to hear from the community what kind of dark corner the proposed syntax sugar may run into. Thanks, Louis -- 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: on lisp and scheme macros
Scheme style macros in Clojure: https://github.com/qbg/syntax-rules Scott On Sat, Dec 3, 2011 at 1:20 PM, Razvan Rotaru razvan.rot...@gmail.comwrote: Hi everyone, I was searching the web these days trying to find out more about these two macro systems and understand their differences, and why one is preferable over the other (or not). I'd like to share with you some ideas, and hopefully get some opinions back as well. Coming from the lisp side, and without much knowledge on scheme macros, I'm also trying to decide for myself whether scheme macros can have a (practical) advantage. One good point (found here http://lambdagrok.wikidot.com/forum/t-194636) I think explains it pretty well: lisp macros merely transform a list into another, while scheme macros use a pattern matching sub- language to apply transformations on the input syntax, and produce new syntax. I think this puts the finger on the spot. It seems to me that with macros, scheme breaks out of the homoiconicity of lisp, and opens up a new array of possibilities: define new languages with bdifferent/b syntax (while lisp allows new languages but with the same syntax). I'm saying this by looking at Racket and the direction it has chosen to go (have a look at Typed Scheme and Datalog). This looks like the world turned upside down: the pattern matching macro system is the essence of the system, and scheme is just another language defined with it. The list is not that important anymore, since it's not so essential for the macro system. Now, I have read some opinions which say that most who choose the scheme macros, make it for the pattern matching abilities and not for the hygienic part. This seems like a reasonable thing to do, since I don't hear lispers complain about unhygienicity. If there are people out there who had some practical experience with scheme macros, I hope they read this post and share some thoughts. I have a feeling that there's an additional gain with scheme macros: debugging information given by the system when something goes wrong. But it's only a feeling, I know too little of this subject to be sure. Macros are hard to debug. The stacktrace displayed by clojure does not contain information related to macro code. It's probably hard to do. My feeling relates to the fact that in scheme macro processing is not arbitrary, but rather strictly defined and under control. So I'm thinking that this gives scheme more control over what's going on in a macro and also enables scheme to give me more information in a stacktrace. I'd love to hear other opinions on this. Another point I find peculiar is the small attention that scheme macros got during all these years. I wonder why it's like that. It could be scheme's low score for practical stuff, but then again I don't know of another language that borrows these kind of macros. Does anybody know? And lastly, a question to Rich Hickey, should he read this post: what is the reasoning behind the choice of lisp macros over scheme's? Cheers, Razvan -- 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: problems of a newbie
On Mon, Nov 7, 2011 at 4:27 AM, Dennis Haupt d.haup...@googlemail.comwrote: Am 07.11.2011 10:18, schrieb Dennis Haupt: In his code I did notice he doesn't use destructing very much. where would that have been useful? defn x [{:keys [foo bar]} param] instead of defn x [param] (let [foo (:foo param)...]) This (defn advance-movement [game-element] (let [stats (:stats game-element) position-change (:movement stats) x-change (:x position-change) y-change (:y position-change) with-new-movement (update-in game-element [:stats :position ] #(translated % x-change y-change))] with-new-movement)) can be this (defn advance-movement [{{{:keys [x y]} :movement} :stats}] (update-in game-element [:stats :position ] translated x y)) or if you want the docstring to be short (defn advance-movement [game-element] (let [{{{:keys [x y]} :movement} :stats} game-element] (update-in game-element [:stats :position ] translated x y))) Note how you don't need the extra function #(). I've also noticed that you name your last result in a let and then return it. I think it's more common to just return it and not name the final thing. Also sometimes you create a separate let under a let divided maybe only by side effects, such as in split-up-asteroid. You could use one let and use _ bindings for side effects. -- 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: problems of a newbie
On Mon, Nov 7, 2011 at 8:33 AM, Dennis Haupt d.haup...@googlemail.comwrote: Am 07.11.2011 14:02, schrieb Scott Jaderholm: On Mon, Nov 7, 2011 at 4:27 AM, Dennis Haupt d.haup...@googlemail.com mailto:d.haup...@googlemail.com wrote: Am 07.11.2011 10:18, schrieb Dennis Haupt: In his code I did notice he doesn't use destructing very much. where would that have been useful? defn x [{:keys [foo bar]} param] instead of defn x [param] (let [foo (:foo param)...]) This (defn advance-movement [game-element] (let [stats (:stats game-element) position-change (:movement stats) x-change (:x position-change) y-change (:y position-change) with-new-movement (update-in game-element [:stats :position ] #(translated % x-change y-change))] with-new-movement)) can be this (defn advance-movement [{{{:keys [x y]} :movement} :stats}] (update-in game-element [:stats :position ] translated x y)) or if you want the docstring to be short (defn advance-movement [game-element] (let [{{{:keys [x y]} :movement} :stats} game-element] (update-in game-element [:stats :position ] translated x y))) Note how you don't need the extra function #(). I've also noticed that you name your last result in a let and then return it. I think it's more common to just return it and not name the final thing. that's because there once was some code which i deleted. i was too lazy to remove the part in the let :) Also sometimes you create a separate let under a let divided maybe only by side effects, such as in split-up-asteroid. You could use one let and use _ bindings for side effects. let [_ (println like this?)] (let [a (b) c (d) _ (e) _ (f) g (h) ...] ...) instead of (let [a (b) c (d)] (e) (f) (let [g (h) ...]) ...) -- 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: problems of a newbie
On Sun, Nov 6, 2011 at 11:33 AM, Milton Silva milton...@gmail.com wrote: On Nov 5, 12:16 pm, Dennis Haupt d.haup...@googlemail.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 hi, i'm half done with my asteroids clone. i stumbled over a few problems and wanted to know how others already solved them :) i am used to less concrete programming. i ask my tools to do the actual analysis and coding for me: * where is that used? Your editor does have a search fn right? A normal search function does not distinguish between matches in comments, docstrings, strings, variables, and function calls. A where called function in an IDE does. Slime has slime-who-calls. I don't know how good it is. There are various other slime-who functions that are just waiting for volunteers to implement in swank-clojure. * rename that again, all editors have this. Again, they don't distinguish between the various contexts in which a matching identifier can appear (e.g. as a substring of a different identifier, or identical but in a distinct context). There are two renaming refactorings in clojure-refactoring. How good they are at renaming only the right things I do not know. * show me all errors what do you mean? for example when I compile a file in emacs I (normally) get the line where the error is. or do you mean runtime errors? IDEs for Java will show you multiple errors all at once, whereas I think environments like Slime will stop compiling once they hit an error. * add a parameter here not sure I understand this one. if you mean (defn [a]..) to (defn [a b] ...) how do you do that without manual intervention in any language/ editor? (just adding more args to something doesn't mean they will be properly handled... that is our job) IDEs have refactorings for things like this. See Eclipse and IntelliJ. You give a default value and it changes all calls to use that. * autocomplete this for me, i am too lazy to even remember the exact method name emacs has this(possible not out of the box) and I suspect other too. ac-slime is pretty limited compared to intellisense systems in static languages, it doesn't know about context such as what methods can be called on what objects, other than I think it knows about static methods. Granted I'm not sure what the limits are in a dynamic language (probably whatever Smalltalk environments do). * show me a list of all methods and fields starting with an e that fit in here. i know the one i want is in that list. emacs also has this(possible not out of the box) and again I suspect other too. Nope, ac-slime doesn't know what identifiers are field names let alone where they are appropriate. Ditto with methods. as elegant as clojure may be as a language, it's dragging me down to almost native text editing which i did more than 10 years ago when i wrote a game in turbo pascal. how did you solve these problem and get some tool-support? or don't you miss it because of something i am not aware of? I know IDE support isn't as good as in java but, after looking at your There's lots of reasonable goals for Clojure environments. Being as good as Java, at least in terms of refactorings, probably isn't one, since in terms of refactoring there are probably very few languages today that are where Java was 10 years ago. That said I'm a long time user of clojure-refactoring and try to encourage people to use it every change I get. code, yes, there is something your not aware of and that is why clojure is giving you a hard time. In his code I did notice he doesn't use destructing very much. -- 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: Will clojurescript get in-ns and load?
There is a load-file function in clojurescript, I'm guessing that doesn't do what you want? Scott On Thu, Oct 20, 2011 at 1:07 PM, Dave Sann daves...@gmail.com wrote: Thinking further, the capability would not be of use (to me) if it were not consistent/indistinguishable across clojure and clojurescript. I have seen in-ns and load used to effectively split a namespace across files If 'in-ns' and 'load' were implemented for clojurescript, could 'load' be managed as a compile time operation to merge the namespaces. Perhaps there are better ways of achieving this that I am not aware of. Cheers D -- 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: strangeloop presentations
In the past they've been posted on infoq.com several months later. Scott On Fri, Sep 30, 2011 at 1:24 PM, Felix Filozov ffilo...@gmail.com wrote: Do you know if videos will be available? On Friday, September 30, 2011, faenvie fanny.aen...@gmx.de wrote: hi clojure-users, i ploughed through this year's strangeloop presentations today ... 3 presentations that i can recommend for clojure-users: - Jim Duey EasyMonads (advanced level) https://github.com/strangeloop/2011-slides/blob/master/Duey-MonadsEasy.pdf - David Nolen The Mapping Dilemma (advanced level) https://github.com/strangeloop/2011-slides/blob/master/Nolen-MappingDilemma.pdf - Stuart Sierra Introduction to Clojure (intro level) https://github.com/strangeloop/2011-slides/blob/master/Sierra-ClojureIntro.pdf well there may be more for you ... take a look ! gruesse -- 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 -- 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 attach debugger on clojure's repl ?
I don't think it looks for tools.jar specifically, it probably just uses the classes in there so as long as they're on the classpath you should be fine. I wouldn't worry about it unless you see an error saying it can't find some classes that googling reveals are in tools.jar. The README doesn't mention any cake plugins, that's why cake ritz isn't working. If cake supports lein plugins then maybe you didn't do lein plugin install ritz 0.1.7. Perhaps use lein or the maven plugin instead. Scott On Fri, Sep 23, 2011 at 8:00 AM, Sam Aaron samaa...@gmail.com wrote: On 23 Sep 2011, at 06:14, Glen Stampoultzis wrote: Ritz looks really nice the setup seems complicated. I haven't had much luck setting it up unfortunately. Me neither. Here's the steps I took so far: * Cloned https://github.com/pallet/ritz to a tmp dir * Copied the slime dir inside ritz into my .emacs.d dir * Modified my global cake project.clj file to look as follows: (defproject global 0.0.0 :description Don't rename this project, but you can change the version if you want. :dependencies [[clojure 1.3.0-RC0]] :dev-dependencies [[ritz 0.1.8-SNAPSHOT]]) * Ran `cake deps --global` * My .cake dir now looks as follows: /Users/sam/.cake ├── build ├── classes ├── lib │ ├── clojure-1.3.0-RC0.jar │ ├── deps.clj │ └── dev │ ├── ritz-0.1.8-20110809.143608-3.jar │ └── useful-0.4.0.jar ├── pom.xml ├── project.clj ├── run └── templates └── default ├── LICENSE ├── project.clj ├── src │ └── +project+ │ └── core.clj └── test 10 directories, 9 files * The ritz README talks about making sure tools.clj is in the classpath. However, it appears on OS X there is no tools.jar: tools.jar does not exist. Classes usually located here are instead included in classes.jar. Scripts that rely on the existence of tools.jar need to be rewritten accordingly. (see http://developer.apple.com/library/mac/#documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html ) * I created a blank project with `cake new foo` * cd into foo * Ran `cake ritz` to get the error unknown task: ritz. I'm unsure where to go from here. How do I teach cake about the ritz task? Am I missing any specific steps? Is not having tools.jar available on OS X an issue? I'd be very happy to write up a Getting Started tutorial on the ritz wiki if I can get things working. Sam --- http://sam.aaron.name -- 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: How to attach debugger on clojure's repl ?
While that still works, ritz is really where it's at for awesome debugging clojure in emacs. It allows stepping and stuff with a nice UI. https://github.com/pallet/ritz Video (only for overview, follow instructions at url above) http://www.youtube.com/watch?v=d_L51ID36w4 One of my favorite things with it is using it with OpenJDK w/ source so I can go down the rabbit hole of stepping into my code, Clojure, and the JVM itself (just for fun, not had a need for this yet). Scott On Wed, Sep 21, 2011 at 6:01 PM, Timothy Washington twash...@gmail.comwrote: This guy's put together a good video on how to use debugging to swank / slime. - http://www.youtube.com/watch?v=galfpq969Hg Tim Washington twash...@gmail.com 416.843.9060 On Tue, Sep 20, 2011 at 10:37 AM, cran1988 rmanolis1...@hotmail.comwrote: I am trying to figure out how abcl does it On Sep 20, 12:41 pm, Herwig Hochleitner hhochleit...@gmail.com wrote: You can debug clojure code with a normal Java Debugger. When using Emacs, you can tryhttp:// georgejahad.com/clojure/swank-cdt.html -- __ Herwig Hochleitner -- 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 -- 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
ClojureScript: defn alert fails in browser repl
(defn alert [ xs] (js/alert (apply str xs))) works in cljsc compiled code but not in the browser repl. There I get ClojureScript:cljs.user (defn alert [ xs] (js/alert (apply str xs))) #function (var_args){ var xs = null; if (goog.isDef(var_args)) { xs = cljs.core.array_seq(Array.prototype.slice.call(arguments, 0),0); } return alert__delegate.call(this, xs); } ClojureScript:cljs.user (alert 1 2 3) Error evaluating: (cljs.core.pr-str (alert 1 2 3)) :as cljs.core.pr_str.call(null,cljs.user.alert.call(null,1,2,3));\n #RangeError: Maximum call stack size exceeded nil Can anyone reproduce/explain? Thanks, Scott -- 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: Example of a real-world ClojureScript web application
I haven't read the code yet but I have a few questions: Do you miss backbone.js? Are you going to use it with cljs? Have you shared any code between the frontend and backend? As in run the same functions on both sides. If so, are you duplicating the code in both .clj and .cljs or doing something else? How has the debugging/error notification experience been? Scott On Tue, Aug 9, 2011 at 8:53 PM, Filip de Waard f...@vix.io wrote: I'm working on Vix, which is a document repository and content management system written in Clojure with a CouchDB backend. After the announcement on July 23 I immediately got excited about ClojureScript and the Google Closure toolkit, so I dropped the existing Backbone.js and jQuery code and rewrote all client-side functionality in ClojureScript. Despite (or maybe because of) the fact that the functionality is still very minimal I wanted to share this code as an example of ClojureScript in the wild. Be warned that: - this is not perfect, clean example code written by a ClojureScript expert (in several places I've used hacks and shortcuts to make things work), but hopefully at least a starting point for others working on similar functionality, - you should read the installation instructions carefully (e.g. there is still a hardcoded path in src/vix/db.clj at the time of this writing, which I hope to correct in the near future), - I'm actively developing this application, so things will change and new features will be added frequently, - the application isn't done yet, although it has a working prototype. I'm concentrating on adding features that will allow users to manage feeds (currently blog is the default feed), add media files like images and to manage users. I had trouble getting unit testing to work properly for the ClojureScript part of the application, so I grudgingly wrote it using a non-TDD approach. Retrofitting unit tests into the ClojureScript part is a priority. The user interface is also lacking some bells and whistles that I had previously implemented in jQuery, but still have to rewrite using Google Closure. Eventually, I want to turn Vix into a commercial SaaS offering, with a focus on performance (e.g. Amazon CloudFront support), scalability and webshop functionality. The application itself, however, will be perpetually available as open source software, because I'm committed to sharing my code. Here is the GitHub page for Vix: https://github.com/fmw/vix This is not a launch post for Vix, because we're not ready for supporting typical end-users yet, but I hope that the code will be useful to other developers in the meantime. I'm also happy to receive any feedback (positive as well as negative) and answer questions. You can reply to this post, but if you prefer to contact me privately you can also find my contact information on Github (https://github.com/ fmw). Sincerely, F.M. (Filip) de Waard / fmw P.S. I'd like to thank the ClojureScript developers. There are surprisingly few glitches considering that the project has only just been released. The language is incredibly well designed and a pleasure to use. Thanks for making client-side development more enjoyable! -- 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: clojurescript development workflow
On Mon, Jul 25, 2011 at 4:02 AM, Sam Aaron samaa...@gmail.com wrote: Also, with respect to the lack of ability to interact with the browser directly through the REPL or editor like with emacs-swank-slime, is it fair to assume that this is just due to the current implementation being Rhino-based? Perhaps ClojureScript repl could be hooked up to swank-js (similar to mozrepl) to send the code to your browser (a specific page even) for evaluation. https://github.com/ivan4th/swank-js Scott -- 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 for large programs
On Thu, Jul 7, 2011 at 2:45 AM, Feng Shen shen...@gmail.com wrote: But lacking debuging and refactoring support is a pain. In case you're not familiar with these (not saying they're full-featured): https://github.com/pallet/ritz http://www.youtube.com/watch?v=d_L51ID36w4 https://github.com/tcrayford/clojure-refactoring Scott -- 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: Hafni
In arrow.clj: What is iarr an abbreviation for? Perhaps a docstring on ||| would help, I'm having trouble understanding it. Maybe add these examples, I found them helpful ((arr inc) 1) ;; 2 (( (arr inc) (arr dec)) 1) ;; 1 ((flow (arr inc) (arr inc) (arr inc)) 1) ;; 4 ((*** (arr inc) (arr dec)) [1 1]) ;; [2 0] (( (arr inc) (arr dec)) 1) ;; [2 0] ((fst (arr inc)) [1 1]) ;; [2 1] Scott On Mon, Jun 20, 2011 at 7:57 AM, Jonathan Fischer Friberg odysso...@gmail.com wrote: Hi, I figured that I would announce a library that I have been working on for a while now. It's called Hafni, and it's a swing wrapper. Why another swing wrapper? I wanted to solve the following problems: 1. There are a lot of boilerplate code needed. 2. Changes made to content is not very functional. 3. Changing content is (sometimes) annoyingly hard. To solve these problems, I looked into the very functional world of Haskell and found something called Functional reactive programming (FRP)[1][2] which has been used to solve problem 2 in gui programming for Haskell. To be able to program FRP, the datatype arrow was created (or maybe the other way around), and this is what Hafni uses. I wont go into detail here since it is not very easy to explain in a short mail, and there are a lot of resources out there on the subject (see the links). To be honest, when I first started programming on Hafni, I didn't know that there existed other swing wrappers for java (I guess I also wanted to try this myself, which meant that I didn't really search it out), but since they do exist, lets compare Hafni to the two I have seen on this mailing list: seesaw [3] and GUIFTW [4]. 1. Hafni is strictly a swing wrapper and does not claim to be anything else. Seesaw - aims to provide a ui library, It happens to be built on Swing. GUIFTW - It's not tied to any GUI toolkit but instead front-ends for each can be written easily. 2. Hafni has facilities, but is not really interested in exactly how components look. Seesaw - Doesn't really express an opinion about this, but seems to have a lot of facilities for making components look a certain way. GUIFTW - Style it in a CSS fashion 3. When events happen, Hafni uses the Event and arrow datatypes to make things happen while both seesaw and GUIFTW uses something that looks like the standard java event function(s). It should be noted that Hafni event/arrows behaves exactly like corresponding for seesaw and GUIFTW if no changes is made to content. The reason of 2 (which, in a way, leads to 3) is that when I wrote swing code manually, the parts that I were most annoyed with weren't to make things look as I wanted them, it was changing them. I haven't really looked into it exactly (or tried it), but it looks like seesaw and Hafni can be combined since seesaw deals directly with java objects (the config! function is especially interesting) [5]. I would like to end this mail with an example of Hafni. This example is the same as in the Hafni readme. (frame :content (comp-and-events (button :text *) :act (flow (output-arr this :text) (arr #(str % *)) (input-arr this :text))) :size 200 200 :dont_exit_on_close) As it's already explained in the readme, let's look at the most interesting part: (flow (output-arr this :text) (arr #(str % *)) (input-arr this :text)) This code snippet says that the current text of the button created with (button :text *) should flow to the function #(str % *) which adds a * to the text, which should flow to the text of that same button. The result of this is that when the button is pressed, the text of that button is changed as follows: * ** *** etc ... And finally, the link to Hafni: https://github.com/odyssomay/Hafni ___ I really hope that someone finds this project interesting, and at best even useful. ;) Questions, comments, ideas, critique? Jonathan 1. http://en.wikipedia.org/wiki/Functional_reactive_programming 2. http://www.haskell.org/haskellwiki/Functional_Reactive_Programming 3. https://github.com/daveray/seesaw 4. https://github.com/santamon/GUIFTW 5. http://daveray.github.com/seesaw/seesaw.core-api.html#seesaw.core/config! Additional links: http://www.haskell.org/haskellwiki/Arrow http://en.wikibooks.org/wiki/Haskell/Understanding_arrows http://www.haskell.org/arrows/ -- 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
Re: Other way to express (((m2) 2) 1)?
(defmacro -f like - but f is threaded at pos 0 instead of 1 ([f] f) ([f x] `(~f ~x)) ([f x more] `(-f (~f ~x) ~@more))) (-f m 2 2 1) Scott On Wed, Jun 29, 2011 at 7:00 PM, Antonio Recio amdx6...@gmail.com wrote: Is there other way to express (((m2) 2) 1)? (def m [1 2 [21 22 [221 222 223] 23] 3]) (((m 2) 2) 1) ;- 222 -- 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: Other way to express (((m2) 2) 1)?
Here's another, perhaps very controversial, solution: (in m.2.2.1) ;; in (defn flexible-get ([map key] (or (let [k (read-string key)] (and (number? k) (get map k))) (get map (keyword key)) (get map (name key ([map key more] (apply flexible-get (flexible-get map key) more))) (defn lookup-symbol? [x] (and (symbol? x) (.contains (name x) .) (not (.endsWith (name x) .)) (not (.startsWith (name x) . (defmacro in allows dot map key access. ex: (in (let [a {:b 1 \c\ 2}] (+ a.b a.c))) = 3 [ forms] `(do ~@(postwalk (fn [x] (if (lookup-symbol? x) (let [[map keys] (.split (str x) \\.)] `(flexible-get ~(read-string map) ~@keys)) x)) forms))) Scott On Wed, Jun 29, 2011 at 9:41 PM, Scott Jaderholm jaderh...@gmail.com wrote: (defmacro -f like - but f is threaded at pos 0 instead of 1 ([f] f) ([f x] `(~f ~x)) ([f x more] `(-f (~f ~x) ~@more))) (-f m 2 2 1) Scott On Wed, Jun 29, 2011 at 7:00 PM, Antonio Recio amdx6...@gmail.com wrote: Is there other way to express (((m2) 2) 1)? (def m [1 2 [21 22 [221 222 223] 23] 3]) (((m 2) 2) 1) ;- 222 -- 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: Aw: Re: Aw: Which Clojure environments support arglist-on-space?
You mean in addition to Emacs right? Of course emacs with slime does this. If you use autodoc then you don't even have to press space, the arglists will update in the echo area as you move the cursor around source. See http://www.youtube.com/watch?v=lf_xI3fZdIg As for showing args of functions in arg position, if you're in an apply form it will show the args for the function being applied. Cheers, Scott On Mon, Jun 6, 2011 at 1:35 PM, Lee Spector lspec...@hampshire.edu wrote: On Jun 6, 2011, at 12:04 PM, Meikel Brandmeyer wrote: Am Montag, 6. Juni 2011 17:53:37 UTC+2 schrieb Lee: I don't think automatic insertion would be a good thing, BTW. There are for example several snippet plugins for Vim in the wild, which do exactly that. And things like textmate also advertise such functionality (inserting snippets), AFAIK. That said, I'm not sure it's a good idea either. There are a tick too many edge-cases for my taste. If at all, it would be possible to turn this off. Granted, snippet pasting tools may be useful, but I guess my response should just have been to clarify that this isn't what I meant by artlist-on-space. The beauty of the arglist-on-space functionality that I know and love is that it is unobtrusive in its automatic helpfulness. Aside from the near miss with VimClojure (and its presence in MCLIDE) does this exist in other Clojure environments? Thanks, -Lee -- 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: Aw: Re: Aw: Which Clojure environments support arglist-on-space?
I don't know of a step by step guide that includes autodoc. You need an older version of slime that includes the contrib autodoc (i.e. not package.el version which lacks that contrib). I use 10-15-2009. Scott On Mon, Jun 6, 2011 at 4:38 PM, Lee Spector lspec...@hampshire.edu wrote: On Jun 6, 2011, at 4:24 PM, Scott Jaderholm wrote: You mean in addition to Emacs right? Of course emacs with slime does this. If you use autodoc then you don't even have to press space, the arglists will update in the echo area as you move the cursor around source. See http://www.youtube.com/watch?v=lf_xI3fZdIg As for showing args of functions in arg position, if you're in an apply form it will show the args for the function being applied. Wonderful. I didn't know for sure if this worked in Emacs with Clojure because I didn't get this in my own installation but I knew that my installation was at least half botched (on multiple occasions... so cumulatively it may have been more than half botched :-). Will one of the emacs/slime installation recipes that have been posted here reliably get me this functionality (including the autodoc part -- I don't know how to get that but it looks great)? Is there one you'd point to in particular? Thanks so much! -Lee -- 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: Aw: Re: Aw: Which Clojure environments support arglist-on-space?
if you follow the instructions on swank-clojure readme then yes I think you get that. Scott On Mon, Jun 6, 2011 at 5:08 PM, Lee Spector lspec...@hampshire.edu wrote: On Jun 6, 2011, at 4:58 PM, Scott Jaderholm wrote: I don't know of a step by step guide that includes autodoc. You need an older version of slime that includes the contrib autodoc (i.e. not package.el version which lacks that contrib). I use 10-15-2009. Thanks for the pointers, although winging an installation process using old versions of things is not something that I want to deal with... However, if I ignore the autodoc part and go with one (any?) of the emacs/slime installation recipes that have been posted here (and if all goes well this time) then I should end up with arglist-on-space? -Lee -- 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: Monad Lessons
I'd be interested. This doesn't really scale though in the way a recording does. Are you thinking this would give you a chance to practice teaching it before making a recording? Maybe post the slides so people can get an idea of what will be covered. Also, maybe clarify whether this is free (http://xkcd.com/870/). Scott On Wed, Mar 9, 2011 at 2:15 PM, jim jim.d...@gmail.com 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 -- 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: Clojure Toolbox (Early Beta)
On Wed, Feb 23, 2011 at 6:17 PM, James Reeves jree...@weavejester.comwrote: I'm sure I've covered only a very small proportion of Clojure libraries out there, so if you'd like to suggest a project that's not on there, please do so in this thread, or in an email to me. I'll try and update the site as quickly as possible. Some that I like: slice scriptjure clojurejs cssgen gaka -- 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] emacs-nexus (Emacs client for Nexus Maven repository servers)
On Mon, Feb 14, 2011 at 7:21 PM, Jürgen Hötzel juer...@hoetzel.info wrote: Hi, Although Emacs is a great environment for writing Clojure code and Leiningen/Cake makes Maven builds less painful, you still had to switch from your Emacs environment to your web browser to search for Maven artifacts. emacs-nexus is a minimal (elisp-only) Nexus client to search for artifacts and display Leiningen/Maven dependencies: https://github.com/juergenhoetzel/emacs-nexus Any feedback/contribution is appreciated. Cool, maybe search clojars by default also? Scott -- 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 `align' function customization for Clojure
On Tue, Jan 4, 2011 at 9:10 PM, Eric Schulte schulte.e...@gmail.com wrote: I wonder if anyone else has written any similar Emacs alignment rules for Clojure which they would be interested in sharing? Alignment rules for let and defroutes are at the top of my most wanted list. (let [n(count content-divs) width500 widthpx (str width px) scrollable-id(or scrollable-id (str scrollable (rand-int 100))) scrollable-fname (symbol scrollable-id)] (defroutes app (GET / _ (main-page)) (GET /subscribe _ (slices site-header subscribe-button)) (GET /test request (slices jquery (dom (alert ~(:remote-addr request))) (html [:h1 Hi]) (css [:h1 :color blue] -- 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
ANN: Programothesis screencast series on Clojure, Emacs, etc
Hey Clojurians, I don't think there are any great new movies in the theater this weekend so if you're looking to kick back and relax and watch the tube a bit you might checkout the first few episodes of my new screencast series on Clojure, Emacs, Slime, etc. http://youtube.com/emailataskcom The episodes were recorded several months ago but just posted today. I expect to post a ton more real soon so subscribe if you want to be notified. Also I just launched a webapp written entirely in Clojure (and slice http://github.com/scottjad/slice). It's http://emailatask.com and is for sending tasks (and reminders) to people through email without an account and for free. Cheers, Scott -- 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: macro debugger
It's not specialized like your link, but I think you can use normal debugging tools on macros: (defmacro foo [a] (swank.core/break) `(list ~a)) And CDT for stepping. Scott On Tue, Nov 9, 2010 at 8:50 AM, Sunil S Nandihalli sunil.nandiha...@gmail.com wrote: Hello everybody, Today I just googled for macro-debugger and found the following ... http://docs.racket-lang.org/macro-debugger/index.html I have not completely explored it yet .. however, I was wondering if there is something similar for clojure.. is it possible to develop one? Thanks, Sunil. -- 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.comclojure%2bunsubscr...@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
ANN: slice (a web library for writing and composing snippets of html, css, and js that are written in Clojure)
Slice is an experimental not-production-ready web library for writing and composing snippets of html, css, and js that are written in Clojure. The motivation is that I wanted the html, css, and js for a slice of a webpage to be next to each other in the source, not in three separate files, and that I wanted these slices to be functions that could be composed. The hope is that this will lead to higher-level widgetish code. See https://github.com/scottjad/slice for an overview and https://github.com/scottjad/slice/blob/master/src/slice/example.clj for an example. And yes, I realize designers would hate this. Target is solo developers. Feedback welcome. Some of you may have seen an old version (https://gist.github.com/518689) several months ago that used it's own scoping rules and lots of macros. This is a complete rewrite. Cheers, Scott -- 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 Box Windows XP
This sounds like a problem with emacs server/client that might be unrelated to Clojure or Slime. Some configurations of emacs will start a server mode so that you can run emacsclient and have a new frame pop up instantaneously. If you don't need emacsclient then you might look in the clojure box configs for a line (server-start) and remove that. On Fri, Nov 5, 2010 at 4:50 PM, Jferg johngfergu...@gmail.com wrote: I have installed twice, restarted my machine to make sure all is well. However, the Emacs Client window shows: Waiting for Emacs server to start and yet the SLIME REPL buffer appears to be functional and various messages like: Connected Your hacking starts now! show up in the status. Eventually the Emacs Client window shows: ERROR Timeout waiting for server. What can I look at to debug this? I tried guessing at ports and processes using netstat -ao | grep'ing for process ids... nothing real popped up. I am using Clojure box 1.2.0 on Windows XP Service Pack 3. -- 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.comclojure%2bunsubscr...@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: Clojure on Javascript
On Sat, Oct 30, 2010 at 12:09 AM, David Nolen dnolen.li...@gmail.comwrote: More interesting would be something along the lines of CoffeeScript (like ClojureScript) that takes a reasonable subset Clojure and compiles into efficient JS, allowing Clojure programmers to send Clojure code to clients. That already exists in Allen Rohner's Scriptjure. http://github.com/arohner/scriptjure Scriptjure is very much equivalent to CoffeeScript, though not Underscore.coffee. Most of my patches to scriptjure originated when I was porting a CoffeeScript codebase to Scriptjure. The only major features of CoffeeScript that it doesn't have that I notice are implicit returns and well indented js output. Of course Scriptjure is not Clojure on JS. It's just JS with Clojure syntax and a few nice compiler tricks. Being able to jump out to real Clojure inside your Clojure-looking JS with a simple (clj (some real clojure code)) comes in really handy when the backend is also Clojure and you have some data that both the client and server need. You can also configure Emacs+mozrepl so that if you eval some scriptjure code in emacs it gets compiled to js and evaled in your web browser. Cheers, Scott -- 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: Emacs auto-complete plugin for slime users
Works for me in repl. I have too much slime/clojure customization code, not really sure what does what :) Maybe this: (defun slime-clojure-repl-setup () (when (string-equal clojure (slime-connection-name)) (message Setting up repl for clojure) (when (slime-inferior-process) (slime-redirect-inferior-output)) (set-syntax-table clojure-mode-syntax-table) (clojure-mode-font-lock-setup) (setq lisp-indent-function 'clojure-indent-function) (when (and (featurep 'paredit) paredit-mode (= paredit-version 21)) (define-key slime-repl-mode-map { 'paredit-open-curly) (define-key slime-repl-mode-map } 'paredit-close-curly)) (slime-setup '(slime-fancy (add-hook 'slime-repl-mode-hook 'slime-clojure-repl-setup) Scott On Sat, Oct 16, 2010 at 12:27 AM, Jarl Haggerty fictivela...@gmail.comwrote: Should autocomplete work in the swank repl? It works perfectly in a clj buffer but nothing happens in the repl. On Aug 19, 7:46 am, Phil Hagelberg p...@hagelb.org wrote: On Thu, Aug 19, 2010 at 6:21 AM, Steve Purcell st...@sanityinc.com wrote: I guess Phil's very busy, but if he can apply this patch, then the regular swank-clojure 1.3.0-SNAPSHOT on clojars should end up containing the fix. Just applied this patch and pushed to github and clojars. Thanks! -Phil -- 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.comclojure%2bunsubscr...@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: ANN: funkyweb 0.1.0 - The clojure webframework with route inference
Very nice. I really love the docs. Covers how to use almost everything with plenty of example code and short descriptions. I like variadic args, type hints. Doesn't cover how to test a handler (from code) and see response. Maybe move query-string request docs up to where query-string params introduced. I like integer and vector returns. I'd like cookies-set to take :expires :never so user doesn't have to write a far future date out in that special format. Wondering about lack of compojure style request destructuring in route. Does (request-get) return the request that you then destructure in a let in your action? Cheers, Scott On Wed, Oct 6, 2010 at 3:30 AM, Patrik Hedman patrik.hed...@gmail.comwrote: I'm pleased to announce the 0.1.0 release of funkyweb, my ring based clojure webframework. It provides the following main abstractions: Controller: Controllers work somewhat like namespaces in that they define the base of the route so any actions defined under a controller will have routes generated that starts with the controller name. Action: Actions looks like functions in that they take a name an argument list and a body and they generates routes and url helper functions based on their name and arguments. More information can be found in the readme included with the source code at http://github.com/pmh/funkyweb I would love to hear what you think about it. - Patrik -- 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.comclojure%2bunsubscr...@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: lispy ways of handling dev mode
On Sat, Oct 2, 2010 at 6:36 PM, Michael Ossareh ossa...@gmail.com wrote: What is the recommended manner in which to let your application know its on a dev machine? I use an environment variable that determines which config (dev, production, test) gets loaded. APPNAME_CONFIG=development lein swank I don't know if it has issues in war deployments or such, I haven't done them. If someone knows of problems with this approach I'd be curious to hear them. Scott -- 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: Find file from namespace symbol
swank.commands.basic (find-ns-definition 'clojure.set) ((clojure.set (:location (:zip /home/scott/project/lib/clojure-1.2.0-master-20100813.160144-94.jar clojure/set.clj) (:line 1) nil))) Scott On Wed, Sep 29, 2010 at 6:34 PM, Jeff Valk jv-li...@tx.rr.com wrote: On Wed, 29 Sep 2010 at 15:18, David Jagoe wrote: Anyone know of a utility that returns a absolute filename given a namespace symbol? If you're using Emacs/SLIME, you could use swank-clojure's classpath browsing information. The var available-classes in namespace swank.util.class-browse holds clojure namespaces and java classes on the classpath as a list of maps. For example to see where the clojure.set namespace comes from: user (clojure.pprint/pprint (filter #(= (:name %) clojure.set) swank.util.class-browse/available-classes)) ({:loc /home/jeff/.clojure/clojure-1.3.0-alpha1.jar, :file clojure/set__init.class, :name clojure.set}) The same applies to java classes: user (clojure.pprint/pprint (filter #(= (:name %) java.net.Socket) swank.util.class-browse/available-classes)) ({:loc /usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar, :file java/net/Socket.class, :name java.net.Socket}) The map keys are as follows: :name Java class or Clojure namespace name :loc Classpath entry (directory or jar) on which the class is located :file Path of the class file, relative to :loc Also see: (doc swank.util.class-browse) Hope this helps! - Jeff -- 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.comclojure%2bunsubscr...@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
Looking for more affordable sleeping options for clojure-conj
Hey guys, I'm looking for one of the following more affordable sleeping options at clojure-conj (Thu, Fri, and Sat nights): 1) Someone willing to gift or rent space for an air mattress in their room. 2) Someone with a king w/ sofa bed room willing to rent out the sofa bed. 3) Someone interested in splitting one of the rooms with two double beds. 4) Someone who lives close by willing to let me {sofa, air mattress} Thanks, Scott -- 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: Clojure Cookbook
Daniel, If you install lein-search (http://clojars.org/lein-search or http://github.com/Licenser/lein-search) you can do searches like that. lein search mail If you put it in ~/.lein/plugins it will work for all your lein projects and you can even use it to add what you find to your project.clj and to go through all your dependencies and prompt whether your want to update. Scott On Mon, Sep 27, 2010 at 10:01 AM, Daniel Pittman dan...@rimspace.netwrote: Tim Daly d...@axiom-developer.org writes: There is a movement afoot in the common lisp community to implement quicklisp which is similar to the perl cpan site or debian. It would be useful if there was a quicklisp (or asdf) for Clojure. Thus you could apt-get a library for clojure. FWIW, having just started out playing with Clojure with a view to building a Google App Engine web service — and from a Perl and Debian background: The single biggest thing that I have missed has been 'lein search' or so, which would allow me to search an index of the modules it can access and tell me what is available for meeting my current need. The second biggest is the lack of a CPAN-alike central service on the web that would allow me to do the same, plus review the documentation for candidate libraries. So, um, that would be nice. :) Daniel -- ✣ Daniel Pittman✉ dan...@rimspace.net☎ +61 401 155 707 ♽ made with 100 percent post-consumer electrons -- 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.comclojure%2bunsubscr...@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: clojure.contrib.trace not working on 1.2?
On Wed, Sep 8, 2010 at 7:30 AM, Mark Nutter manutte...@gmail.com wrote: I seem to recall that 1.2 is using chunked lazy sequences for performance reasons, and fib is a lazy sequence. I wonder if you'd start seeing intermediate steps using (fib 20) instead of (fib 3)? This fib doesn't look lazy to me so I don't think that's it. -- 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.contrib.trace not working on 1.2?
Why does c.c.trace give different output on 1.2 than it did on 1.1? From http://learnclojure.blogspot.com/2010/02/slime-2009-10-31-user-defn-fib-n-if-n-2.html On 1.1 user (dotrace (fib) (fib 3)) TRACE t1880: (fib 3) TRACE t1881: |(fib 2) TRACE t1882: ||(fib 1) TRACE t1882: ||= 1 TRACE t1883: ||(fib 0) TRACE t1883: ||= 0 TRACE t1881: |= 1 TRACE t1884: |(fib 1) TRACE t1884: |= 1 TRACE t1880: = 2 2 user On 1.2 user dotrace (fib) (fib 3)) TRACE t11624: (fib 3) TRACE t11624: = 2 Thanks, Scott -- 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
Elisp for highlighting java method names in slime inspector
It's always bothered me that when inspecting a class in Slime the method names are highlighted in the same color as public static int etc. I think it makes it hard to see what methods are available. I wrote this elisp that highlights the method names in a different color: (add-hook 'slime-inspector-mode-hook (lambda () (font-lock-add-keywords nil '((\\(\\w+\\)( 1 font-lock-function-name-face) Unfortunately it causes the other highlighting to stop working. If you know why or have a better regex feel free to respond. Scott -- 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: Any Clojure2js Libraries?
Clojurescript is the only thing I know of like scheme2js. There are a couple parenscript like programs, the best being http://github.com/arohner/scriptjure Scott On Thu, Jul 8, 2010 at 1:17 PM, Tim Robinson tim.blacks...@gmail.com wrote: All I got from google was Clojurescript, but I'm wondering what options are out there. I was looking for something like scheme2js[1] only in Clojure. Thanks, Tim [1] http://www-sop.inria.fr/mimosa/scheme2js/ -- 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: -- macro proposal
On Tue, Jul 6, 2010 at 3:24 PM, Greg g...@kinostudios.com wrote: This would be most likely java interop, ie. -. There the main arguments are 99% of the times the first or the last ones. So - or - will work OK, so what happens when one of the functions takes it in the front, and the other in the back? Or what happens when you're using a piece of code that doesn't follow either convention? Are you saying such code doesn't exist? In both those cases, - and - become useless. You can use - and - together to handle changing argument orders. (- foo (str 1) (- (conj #{}))) Scott (I would like -- or let- in contrib though) -- 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: -- macro proposal
On Tue, Jul 6, 2010 at 3:37 PM, Scott Jaderholm jaderh...@gmail.com wrote: On Tue, Jul 6, 2010 at 3:24 PM, Greg g...@kinostudios.com wrote: This would be most likely java interop, ie. -. There the main arguments are 99% of the times the first or the last ones. So - or - will work OK, so what happens when one of the functions takes it in the front, and the other in the back? Or what happens when you're using a piece of code that doesn't follow either convention? Are you saying such code doesn't exist? In both those cases, - and - become useless. You can use - and - together to handle changing argument orders. (- foo (str 1) (- (conj #{}))) Scott (I would like -- or let- in contrib though) Sorry, this was just in response to what happens when one of the functions takes it in the front, and the other in the back? not what happens when you're using a piece of code that doesn't follow either convention?, which would have to use #(). -- 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
[ANN] units.clj - unit conversion functions without repeating yourself
Hi, I created a library that provides unit conversion functions[1] for several common units and allows you to define new units conversions with a single equation. The library does a few interesting things automatically: First, if you define inches-to-feet, it will create feet-to-inches for you. Second, if you define inches-to-feet and feet-to-meters, it will create inches-to-meters and meters-to-inches for you. Third, it will create the equivalent square and cubic functions as well. So for inches, feet, yards, meters, centimeters, millimeters, miles, and kilometers, if you specify 7 equations this library will define 168 conversion functions for you (56 each for length, area, and volume). The code is at http://gist.github.com/276662#file_units.clj I'd love to receive feedback. Thanks, Scott Notes [1] For a reliable alternative, see JScience.org -- 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: PeepCode screencast
Thanks Phil! I just bought it and look forward to watching it this weekend. Are you planning something more advanced? On Fri, Apr 24, 2009 at 11:03 AM, Phil Hagelberg p...@hagelb.org wrote: I'm proud to announce that the Functional Programming with Clojure PeepCode screencast has just been published: http://peepcode.com/products/functional-programming-with-clojure It's a professionally-produced 65-minute video that introduces all the foundational concepts of Clojure by stepping through the creation of a multiplayer text adventure game. If you've been looking for a quick way to get up to speed on Clojure, this is your ticket. The screencast is sold for $9, and there's a preview available: http://peepcode.com/system/uploads/2009/peepcode-clojure-preview.mov Hope you like it! -Phil Hagelberg http://technomancy.us --~--~-~--~~~---~--~~ 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 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 profilers are you using?
On Sat, Feb 7, 2009 at 8:16 AM, David Powell djpow...@djpowell.net wrote: Newer versions of JDK 1.6, eg Update 11, have an application called 'jvisualvm' in the bin directory. It lets you attach to any running Java process and it has a profiler that you can switch on at runtime. If you're starting Clojure from inside Emacs under Windows then you might have trouble connecting to it with VisualVM. Start Clojure from outside emacs, connect to it using slime, and VisualVM should work fine. --~--~-~--~~~---~--~~ 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 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: Microsoft SQL Server and the sql contrib
Thanks for the idea. Although those are definitely necessary steps, unfortunately the problem still persists. On Tue, Dec 16, 2008 at 5:47 PM, Wayne R johnway...@gmail.com wrote: Have a look at http://dertompson.com/2007/10/06/connection-to-mssql-server-express-2005-with-jdbc/ Apparently using JDBC with MSSQL Express requires some extra setup. On Dec 16, 3:49 pm, Scott Jaderholm jaderh...@gmail.com wrote: I don't think that's a problem: user (. Class (forName com.microsoft.sqlserver.jdbc.SQLServerDriver)) com.microsoft.sqlserver.jdbc.SQLServerDriver On Tue, Dec 16, 2008 at 12:21 PM, MikeM michael.messini...@invista.com wrote: To make sure your driver is really on the classpath, try this from the REPL: (. Class (forName com.microsoft.sqlserver.jdbc.SQLServerDriver)) --~--~-~--~~~---~--~~ 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 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: Microsoft SQL Server and the sql contrib
I don't think that's a problem: user (. Class (forName com.microsoft.sqlserver.jdbc.SQLServerDriver)) com.microsoft.sqlserver.jdbc.SQLServerDriver On Tue, Dec 16, 2008 at 12:21 PM, MikeM michael.messini...@invista.comwrote: To make sure your driver is really on the classpath, try this from the REPL: (. Class (forName com.microsoft.sqlserver.jdbc.SQLServerDriver)) --~--~-~--~~~---~--~~ 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 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 -~--~~~~--~~--~--~---