Re: Status of Generic Functions (a la lisp)
The keyword here is speed. Multimethods are not fast. They don't use the JVM for dispatch (as far as I know). Protocols are fast. That's the reason for their existence. I want to find out whether there's some effort invested in making fast multiple dispatch in Clojure (and how else can it be but based on Java types?). -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Status of Generic Functions (a la lisp)
But isn't that the whole point of protocols, polymorphic dispatch that is fast? On Sat, Aug 3, 2013 at 11:45 PM, Răzvan Rotaru razvan.rot...@gmail.comwrote: The keyword here is speed. Multimethods are not fast. They don't use the JVM for dispatch (as far as I know). Protocols are fast. That's the reason for their existence. I want to find out whether there's some effort invested in making fast multiple dispatch in Clojure (and how else can it be but based on Java types?). -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Status of Generic Functions (a la lisp)
Razvan, are you asking about dispatch on multiple types... protocols only give fast dispatch on their first arg's type. Currently you can either get fast dispatch on the type of the first arg, or you get slower dispatch on anything w/ multimethods. On Sat, Aug 3, 2013 at 11:48 PM, Robert Levy r.p.l...@gmail.com wrote: But isn't that the whole point of protocols, polymorphic dispatch that is fast? On Sat, Aug 3, 2013 at 11:45 PM, Răzvan Rotaru razvan.rot...@gmail.comwrote: The keyword here is speed. Multimethods are not fast. They don't use the JVM for dispatch (as far as I know). Protocols are fast. That's the reason for their existence. I want to find out whether there's some effort invested in making fast multiple dispatch in Clojure (and how else can it be but based on Java types?). -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Status of Generic Functions (a la lisp)
The word fast is relative, of course. I've been happily using Clojure's multimethods for a long time. They are certainly fast enough for a wide range of uses. I've seen a couple instances where people used a couple levels of protocols (e.g., one function dispatching on the type of the first argument in turn calling something that dispatches on the second argument) in order to get some additional speed with multiple dispatch on type, but I haven't found the need to do that myself. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Status of Generic Functions (a la lisp)
Multiple vs single dispatch, hmm. You can always use a case statement too. On Sat, Aug 3, 2013 at 11:56 PM, Mark Engelberg mark.engelb...@gmail.comwrote: The word fast is relative, of course. I've been happily using Clojure's multimethods for a long time. They are certainly fast enough for a wide range of uses. I've seen a couple instances where people used a couple levels of protocols (e.g., one function dispatching on the type of the first argument in turn calling something that dispatches on the second argument) in order to get some additional speed with multiple dispatch on type, but I haven't found the need to do that myself. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Status of Generic Functions (a la lisp)
I don't think there is currently a way to do this that is simultaneously: 1) Generic (dispatches on the type of all arguments) 2) Extensible (can be extended to new types at runtime) 3) Fast (about as fast as JVM dispatch allows) Protocols give you 2) and 3). Multimethods give you 1) and 2). Custom solutions with instance checks and type hints can give you 1) and 3). A good solution in my view would allow you to do things like this: ;; define a function with type-hinted overrides (defn generic-function ([^Char c ^String cs] ()) ([^Object o ^List os] (.))) ;; extend the function dynamically (protocol style) (extend-fn generic-function ([^double d ^doubles ds] ())) This would imply quite a bit of code generation to compile the right efficient dispatch logic. Extension would also imply recompilation. So not totally trivial to implement, but I still think it would be a great addition to Clojure (either in core or as a library). It would be best if it was in core, because then the compiler could take advantage of type information to generate direct calls rather than doing dynamic dispatch in the relatively common situation that the type of arguments is already known. On Saturday, 3 August 2013 12:22:27 UTC+1, Răzvan Rotaru wrote: Hi, I'm looking for fast lisp style generic functions in clojure. In other words: multimethods that dispatch on the java type. A search on the web revealed little, since protocols and multimethods always show up. I have also seen some old discussion in this group on the topic, but I couldn't figure out whether there is a usable implementation out there. So I'm posting my question on this group. 1/ Is there generic function implementation out there that I can use? 2/ Are there plans to include them in future versions of clojure? 3/ And lastly, could this be implemented as a sequence of single dispatch (using the available single dispatch, which is fast)? Thanks, Răzvan -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Status of Generic Functions (a la lisp)
I've seen a couple instances where people used a couple levels of protocols (e.g., one function dispatching on the type of the first argument in turn calling something that dispatches on the second argument) in order to get some additional speed with multiple dispatch on type, but I haven't found the need to do that myself. This is what I mean with a sequence of single dispatches. I'm not sure that this is real multiple dispatch 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 --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [ANN] Nightcode, an IDE for Clojure and Java
Hi Zach, 0.0.1 worked OK. 0.0.3 gives this error when Run with REPL: Error: Could not find or load main class nightcode.lein TIA, Arie 2013/8/3 Zach Oakes zsoa...@gmail.com Thanks for the complements! I just released 0.0.2, which should make Run/Build faster and more reliable. It also fixes shortcuts on OS X so they use command instead of control. On Saturday, August 3, 2013 8:07:31 AM UTC-4, Manuel Paccagnella wrote: Wow, it looks very promising. I'd also like add a +1 for smart indent and paredit. Kudos to you Zach! Manuel Il giorno venerdì 2 agosto 2013 15:03:03 UTC+2, Zach Oakes ha scritto: I’ve been working on a simple IDE for the past few months. It started as an attempt to add Leiningen integration to Clooj, but eventually I decided to start a new project from scratch. It is very alpha-quality, so please be gentle: http://nightcode.info/ Here’s what it has: -Written in Clojure (the UI is written with seesaw) -Built-in copy of Leiningen to build Clojure and pure-Java projects -Built-in templates for several common types of Clojure and Java projects -Always-on REPL in the corner to try Clojure commands -Android integration (includes the lein-droid plugin, LogCat output, etc) -ClojureScript integration (includes the lein-cljsbuild plugin) -Cool looking dark theme, because that’s trendy these days Here’s what it’s missing: -Fast build times (it launches Leiningen in a separate process, which is slw...I plan on fixing this and would love any help) -Important editing features (code completion, text replace, etc) -Quick switching between recent files -Jump to definition, built-in documentation -Integration between editor and REPL (eval form or entire file) -Integration with git -Many other things -- please give me your thoughts! -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
question about 10k processes post
From David Nolen's recent post with core.async, http://swannodette.github.io/2013/08/02/10-processes/ in the last let block, what is the purpose of: (when (zero? (mod i 1000)) (! (timeout 0))) ? Why pull from a channel that produces nothing useful (nil) ? What create a timeout of 0, which to my knowledge is a channel that produces a nil value immediately? -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: trying out overtone, leipzip, chris-ford's functional composition code
Hi Geoff, Thanks for taking an interest. :-) The first thing I would recommend on getting a Clojure environment set up is to install Leiningen https://github.com/technomancy/leiningen. That's the most popular Clojure build tool, and it will take care of things like managing the Java classpath and starting up a repl for you. Once you have done that, I'd recommend getting some music playing from the repl before you worry about editor integration. First, get into the directory, download the dependencies and start a repl session: cd functional-composition lein deps lein repl Then you can switch to the namespace and try and play something: (in-ns 'goldberg.variations.canone-alla-quarta) (beep) If you hear a sound, great! You can play anything in that file. For example, you can copy and paste this into the repl: (- melody canone-alla-quarta (concat bass) (where :pitch (comp G major)) (where :time (bpm 90)) play graph) When I'm playing around with music, I use Vim to execute pieces of code directly. All of the parts in the file where there is a (comment ...) form are there so that when I load the file the music doesn't go off immediately, but so that I can play them at my leisure. Once you get the music going from the repl, I'm sure there will be plenty of people who can help you get your Emacs singing. Cheers, Chris On 3 August 2013 22:47, Geoffrey Knauth ge...@knauth.org wrote: I'm fairly new to Clojure. At LambdaJam I saw Chris Ford give a great demo of functional composition [music]. I want to show my 16-yo the same code working, since he's really doing well with Racket (and Gregor Kiczales' MOOC via UBC) and loving it, and he loves music and music composition too. Chris Ford posted his code here: https://github.com/ctford/functional-composition/tree/LambdaJam-2013 My directory structure looks like this: ~/test/github/lj2013/chris-ford/ functional-composition/ ... functional-composition/src/jazz/standards/in_the_mood.clj ... leipzig/ overtone/ whelmed/ I've installed Clojure and Leiningen. I'm in Emacs and have clojure-mode and nrepl. I'm trying to figure out how to get things going. I typed M-x nrepl-jack-in in Emacs and got a REPL. I'm sure my classpath is not set up right; I'm not sure how to do that. I think .clj files need to be compiled. I'm not sure how to make that happen. How should I organize these files to get things to work? There is an Emacs-Live setup for Overtone+Emacs but when I tried that it completely moved my ~/.emacs aside and I'm not sure that's what I want, since I use Emacs for many many things that are not in Emacs-Live's setup. Geoff -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: question about 10k processes post
That's a hack for some versions of Safari and probably better handled inside of render-loop. The problem is dispatch backed by MessageChannel in Safari and seeing repaints. On Sunday, August 4, 2013, Brent Millare wrote: From David Nolen's recent post with core.async, http://swannodette.github.io/2013/08/02/10-processes/ in the last let block, what is the purpose of: (when (zero? (mod i 1000)) (! (timeout 0))) ? Why pull from a channel that produces nothing useful (nil) ? What create a timeout of 0, which to my knowledge is a channel that produces a nil value immediately? -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.comjavascript:_e({}, 'cvml', '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 javascript:_e({}, 'cvml', 'clojure%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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com javascript:_e({}, 'cvml', 'clojure%2bunsubscr...@googlegroups.com');. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: trying out overtone, leipzip, chris-ford's functional composition code
On Sunday, August 4, 2013 9:06:35 AM UTC-5, Chris Ford wrote: Thanks for taking an interest. :-) Of course, Chris. Your stuff is fantastic. I can't wait for my son Alex to see and hear it. I tried your instructions and I think I'm close: [gknauth@merlin chris-ford]$ cd functional-composition/ [gknauth@merlin functional-composition]$ lein deps [gknauth@merlin functional-composition]$ lein repl Retrieving org/thnetos/cd-client/0.3.6/cd-client-0.3.6.pom from clojars Retrieving clj-http-lite/clj-http-lite/0.2.0/clj-http-lite-0.2.0.pom from clojars Retrieving slingshot/slingshot/0.10.3/slingshot-0.10.3.pom from clojars Retrieving cheshire/cheshire/4.0.3/cheshire-4.0.3.pom from clojars Retrieving com/fasterxml/jackson/core/jackson-core/2.0.6/jackson-core-2.0.6.pom from central Retrieving com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.0.6/jackson-dataformat-smile-2.0.6.pom from central Retrieving com/fasterxml/jackson/core/jackson-core/2.0.6/jackson-core-2.0.6.jar from central Retrieving com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.0.6/jackson-dataformat-smile-2.0.6.jar from central Retrieving clj-http-lite/clj-http-lite/0.2.0/clj-http-lite-0.2.0.jar from clojars Retrieving slingshot/slingshot/0.10.3/slingshot-0.10.3.jar from clojars Retrieving cheshire/cheshire/4.0.3/cheshire-4.0.3.jar from clojars Retrieving org/thnetos/cd-client/0.3.6/cd-client-0.3.6.jar from clojars nREPL server started on port 53475 REPL-y 0.1.10 Clojure 1.4.0 Exit: Control+D or (exit) or (quit) Commands: (user/help) Docs: (doc function-name-here) (find-doc part-of-name-here) Source: (source function-name-here) (user/sourcery function-name-here) Javadoc: (javadoc java-object-or-class-here) Examples from clojuredocs.org: [clojuredocs or cdoc] (user/clojuredocs name-here) (user/clojuredocs ns-here name-here) user= (in-ns 'goldberg.variations.canone-alla-quarta) #Namespace goldberg.variations.canone-alla-quarta goldberg.variations.canone-alla-quarta= (beep) *CompilerException java.lang.RuntimeException: Unable to resolve symbol: beep in this context, compiling:(NO_SOURCE_PATH:1) * goldberg.variations.canone-alla-quarta= -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: trying out overtone, leipzip, chris-ford's functional composition code
Ooops. Try this instead: (use 'goldberg.variations.canone-alla-quarta) On 4 August 2013 17:57, Geoffrey Knauth ge...@knauth.org wrote: On Sunday, August 4, 2013 9:06:35 AM UTC-5, Chris Ford wrote: Thanks for taking an interest. :-) Of course, Chris. Your stuff is fantastic. I can't wait for my son Alex to see and hear it. I tried your instructions and I think I'm close: [gknauth@merlin chris-ford]$ cd functional-composition/ [gknauth@merlin functional-composition]$ lein deps [gknauth@merlin functional-composition]$ lein repl Retrieving org/thnetos/cd-client/0.3.6/cd-client-0.3.6.pom from clojars Retrieving clj-http-lite/clj-http-lite/0.2.0/clj-http-lite-0.2.0.pom from clojars Retrieving slingshot/slingshot/0.10.3/slingshot-0.10.3.pom from clojars Retrieving cheshire/cheshire/4.0.3/cheshire-4.0.3.pom from clojars Retrieving com/fasterxml/jackson/core/jackson-core/2.0.6/jackson-core-2.0.6.pom from central Retrieving com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.0.6/jackson-dataformat-smile-2.0.6.pom from central Retrieving com/fasterxml/jackson/core/jackson-core/2.0.6/jackson-core-2.0.6.jar from central Retrieving com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.0.6/jackson-dataformat-smile-2.0.6.jar from central Retrieving clj-http-lite/clj-http-lite/0.2.0/clj-http-lite-0.2.0.jar from clojars Retrieving slingshot/slingshot/0.10.3/slingshot-0.10.3.jar from clojars Retrieving cheshire/cheshire/4.0.3/cheshire-4.0.3.jar from clojars Retrieving org/thnetos/cd-client/0.3.6/cd-client-0.3.6.jar from clojars nREPL server started on port 53475 REPL-y 0.1.10 Clojure 1.4.0 Exit: Control+D or (exit) or (quit) Commands: (user/help) Docs: (doc function-name-here) (find-doc part-of-name-here) Source: (source function-name-here) (user/sourcery function-name-here) Javadoc: (javadoc java-object-or-class-here) Examples from clojuredocs.org: [clojuredocs or cdoc] (user/clojuredocs name-here) (user/clojuredocs ns-here name-here) user= (in-ns 'goldberg.variations.canone-alla-quarta) #Namespace goldberg.variations.canone-alla-quarta goldberg.variations.canone-alla-quarta= (beep) *CompilerException java.lang.RuntimeException: Unable to resolve symbol: beep in this context, compiling:(NO_SOURCE_PATH:1) * goldberg.variations.canone-alla-quarta= -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: trying out overtone, leipzip, chris-ford's functional composition code
That worked, many thanks! On Sunday, August 4, 2013 10:07:41 AM UTC-5, Chris Ford wrote: Ooops. Try this instead: (use 'goldberg.variations.canone-alla-quarta) -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: the snake game with core.async and swing
Or quil, a processing wrapper, would be well suited to this application. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
FYI: Intro to Clojure video from Java Tech Boise and Justin Reed
Hi all, Justin Reed recently spoke at our local user group on Clojure. One thing I like about this talk is it addresses many of the concerns and complaints of programmers who do not want to try Clojure *because* it is a Lisp. http://youtu.be/CvRGJGK09tc Cheers, John -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Incanter 1.5.2 has been released
Hi all I've just pushed new release of Incanter to Clojars. This is mostly bugfix release. More information is at http://data-sorcery.org/2013/08/04/incanter-1-5-2-bugfix-release/ -- With best wishes,Alex Ott http://alexott.net/ Twitter: alexott_en (English), alexott (Russian) Skype: alex.ott -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: FYI: Intro to Clojure video from Java Tech Boise and Justin Reed
the video is not available from that link... Jim On 04/08/13 17:25, John Conti wrote: Hi all, Justin Reed recently spoke at our local user group on Clojure. One thing I like about this talk is it addresses many of the concerns and complaints of programmers who do not want to try Clojure *because* it is a Lisp. http://youtu.be/CvRGJGK09tc Cheers, John -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: FYI: Intro to Clojure video from Java Tech Boise and Justin Reed
That video seems to work fine for me. On Sun, Aug 4, 2013 at 3:56 PM, Jim - FooBar(); jimpil1...@gmail.comwrote: the video is not available from that link... Jim On 04/08/13 17:25, John Conti wrote: Hi all, Justin Reed recently spoke at our local user group on Clojure. One thing I like about this talk is it addresses many of the concerns and complaints of programmers who do not want to try Clojure *because* it is a Lisp. http://youtu.be/CvRGJGK09tc Cheers, John -- -- 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+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/**group/clojure?hl=enhttp://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com . For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out . -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/**group/clojure?hl=enhttp://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@**googlegroups.comclojure%2bunsubscr...@googlegroups.com . For more options, visit https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out . -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: FYI: Intro to Clojure video from Java Tech Boise and Justin Reed
hmmm... this is strange. I am getting the classic The video is currently unavailable. Learn more crap ... Jim On 04/08/13 20:59, Frank Hale wrote: That video seems to work fine for me. On Sun, Aug 4, 2013 at 3:56 PM, Jim - FooBar(); jimpil1...@gmail.com mailto:jimpil1...@gmail.com wrote: the video is not available from that link... Jim On 04/08/13 17:25, John Conti wrote: Hi all, Justin Reed recently spoke at our local user group on Clojure. One thing I like about this talk is it addresses many of the concerns and complaints of programmers who do not want to try Clojure *because* it is a Lisp. http://youtu.be/CvRGJGK09tc Cheers, John -- -- 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 mailto: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 mailto:clojure%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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com mailto:clojure%2bunsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com mailto: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 mailto:clojure%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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com mailto:clojure%2bunsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Incanter 1.5.2 has been released
Alex, Thanks for taking the time to do this and keep Incanter going! cheers, Bruce On Sun, Aug 4, 2013 at 7:20 PM, Alex Ott alex...@gmail.com wrote: Hi all I've just pushed new release of Incanter to Clojars. This is mostly bugfix release. More information is at http://data-sorcery.org/2013/08/04/incanter-1-5-2-bugfix-release/ -- With best wishes,Alex Ott http://alexott.net/ Twitter: alexott_en (English), alexott (Russian) Skype: alex.ott -- --- You received this message because you are subscribed to the Google Groups Incanter group. To unsubscribe from this group and stop receiving emails from it, send an email to incanter+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- @otfrom | CTO co-founder @MastodonC | mastodonc.com See recent coverage of us in the Economist http://econ.st/WeTd2i and the Financial Times http://on.ft.com/T154BA -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Can we please deprecate the :use directive ?
I can't think of a single good reason to not deprecate :use. :require can do everything :use could do now. This isn't about whether or not (:use ..) without :only is bad. I'd go as far as to say that outside of test files (and sometimes not even those) and repl sessions, :use without :only is objectively bad. Not much justification you can give me that'll make it unbad. But that isn't what this is about. Deprecating :use doesn't make doing the aforementioned bad thing impossible, and :refer :all was added to require for that specific purpose. :require still lets you do bad things if you really want to. All we're doing by deprecating :use is removing cruft and making things less complicated for new people. We currently have two things, and one of them does all the things the other one does and more, yet we still have both of them. Just my $0.02. On Tuesday, July 23, 2013 8:50:50 AM UTC-7, Greg wrote: I think I read somewhere that :use is no longer encouraged, but I could be mistaken. From what I've read, it seems like most people agree that Clojure has too many ways of including/importing/referencing/requiring/using things: http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html The above gives a very nice explanation of all the various difference, but it also acknowledges their complexity. Since :use uses :require, and since :require can do everything that :use can, can we simplify Clojure programming a bit for newcomers by deprecating the use of :use? The situation in ClojureScript is even worse because it adds :require-macros on top of all the other ways of including files. Ideally, it would be awesome if there was just a single directive for everything, but perhaps there's some complicated low-level reason why that's not possible. :-\ Thoughts? Thanks, Greg P.S. If this has already been brought up you have my sincere apologies. -- Please do not email me anything that you are not comfortable also sharing with the NSA. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Incanter 1.5.2 has been released
Thanks for keeping the ball rolling, Alex. We appreciate it very much! Could you tag the release on github so that autodoc will build for it correctly? Thanks, Tom On Sunday, August 4, 2013 11:20:07 AM UTC-7, Alex Ott wrote: Hi all I've just pushed new release of Incanter to Clojars. This is mostly bugfix release. More information is at http://data-sorcery.org/2013/08/04/incanter-1-5-2-bugfix-release/ -- With best wishes,Alex Ott http://alexott.net/ Twitter: alexott_en (English), alexott (Russian) Skype: alex.ott -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [ANN] Nightcode, an IDE for Clojure and Java
this is great! please please add structural editing (not simply bracket-matching in a text-editor, but direct manipulation of Clojure data structures (including code). I've been trying out some ideas in this area would be happy to help out. On Friday, August 2, 2013 11:03:03 PM UTC+10, Zach Oakes wrote: I’ve been working on a simple IDE for the past few months. It started as an attempt to add Leiningen integration to Clooj, but eventually I decided to start a new project from scratch. It is very alpha-quality, so please be gentle: http://nightcode.info/ Here’s what it has: -Written in Clojure (the UI is written with seesaw) -Built-in copy of Leiningen to build Clojure and pure-Java projects -Built-in templates for several common types of Clojure and Java projects -Always-on REPL in the corner to try Clojure commands -Android integration (includes the lein-droid plugin, LogCat output, etc) -ClojureScript integration (includes the lein-cljsbuild plugin) -Cool looking dark theme, because that’s trendy these days Here’s what it’s missing: -Fast build times (it launches Leiningen in a separate process, which is slw...I plan on fixing this and would love any help) -Important editing features (code completion, text replace, etc) -Quick switching between recent files -Jump to definition, built-in documentation -Integration between editor and REPL (eval form or entire file) -Integration with git -Many other things -- please give me your thoughts! -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [ANN] Nightcode, an IDE for Clojure and Java
Zach, I just want to say THANK YOU for doing what you are doing. Your work is very much needed! Take care! On Sun, Aug 4, 2013 at 11:19 PM, Matthew Chadwick mathn...@gmail.comwrote: this is great! please please add structural editing (not simply bracket-matching in a text-editor, but direct manipulation of Clojure data structures (including code). I've been trying out some ideas in this area would be happy to help out. On Friday, August 2, 2013 11:03:03 PM UTC+10, Zach Oakes wrote: I’ve been working on a simple IDE for the past few months. It started as an attempt to add Leiningen integration to Clooj, but eventually I decided to start a new project from scratch. It is very alpha-quality, so please be gentle: http://nightcode.info/ Here’s what it has: -Written in Clojure (the UI is written with seesaw) -Built-in copy of Leiningen to build Clojure and pure-Java projects -Built-in templates for several common types of Clojure and Java projects -Always-on REPL in the corner to try Clojure commands -Android integration (includes the lein-droid plugin, LogCat output, etc) -ClojureScript integration (includes the lein-cljsbuild plugin) -Cool looking dark theme, because that’s trendy these days Here’s what it’s missing: -Fast build times (it launches Leiningen in a separate process, which is slw...I plan on fixing this and would love any help) -Important editing features (code completion, text replace, etc) -Quick switching between recent files -Jump to definition, built-in documentation -Integration between editor and REPL (eval form or entire file) -Integration with git -Many other things -- please give me your thoughts! -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups Clojure group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.