core.logic CLP(Set)

2013-06-18 Thread cig
Is CLP(Set) for core.logic available for use? It does not seem like core.logic 0.8.3 contains this feature. How should I access it if it is available? -- -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to

Re: Graph API

2013-06-18 Thread Stephen Kockentiedt
My bad. I did only find the original repository of loom and thought it was abandoned. I should have taken more care while looking at it. My approach was apparently the same in abstracting multiple graph implementations under one API. However, I see some problems with Loom's API, namely: 1. The

What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Hussein B.
Hi, I know we usually use 'proxy' macro when we want to create an instance of a concrete class and override some of its methods. But do we have now a recommended approach? AFAIK, reify only works with protocols and interfaces, can't be used to create an instance and override its methods.

Re: First day with Macros

2013-06-18 Thread Hussein B.
I don't get why we have to use a second 'back tick'. I thought one backtick at the beginning and then we use ~ and ~@ when needed. On Tuesday, June 18, 2013 2:09:44 AM UTC+2, Carlo wrote: I can't speak to the issues that Gary raised, but I can help you with your macro. (defmacro servlet

Re: 'foldcat' slower than 'mapv' even for 10,000 elements

2013-06-18 Thread Jim
Yes , coll is a vector...I can provide the actual code as soon as I get home this afternoon :) Jim On 18/06/13 02:01, Herwig Hochleitner wrote: Interesting. A possibly stupid question: the input coll is a vector, right? Can you provide a representative example? 2013/6/17 Jim - FooBar();

Re: Graph API

2013-06-18 Thread Niels van Klaveren
As a user of the old version of Loom (thanks for the link to aysylu's fork !) it'd be great if there was a well maintained pure Clojure graph library. The ideas and improvements on Loom you put forward are pretty sensible, and I hope you and Aysylu can find a way to collaborate ! On Tuesday,

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread James Reeves
I somewhat disagree with the coding standards in certain cases. If you have a large number of options, you may find yourself creating the option map programmatically. In which case: (release-sharks 2 options) Is preferable to: (apply release-sharks 2 (apply concat options)) - James On

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Kelker Ryan
 The code for dmirylenka's release-sharks form tdsl.search (defn release-sharks [n {:keys [laser-beams]}]       (if (boolean laser-beams) (repeat (int n) :shark)))#'tdsl.search/release-sharkstdsl.search (release-sharks 2 :laser-beams 1)(:shark :shark)  18.06.2013, 14:32, "dmirylenka"

Re: In what OS do you code?

2013-06-18 Thread Kelker Ryan
Arch Linux, but moving to Manjaro for a more stable and simple version of the distro. The editor is Emacs + nrepl.el + clojure-mode + ritz + rainbow parens + eldoc + ac. 18.06.2013, 14:47, "dmirylenka" daniilmirile...@gmail.com:OS X on the working machine, Ubuntu on the servers.For my project it

Re: [GSOC] Constructing Algebraic Expressions - User api

2013-06-18 Thread Stephen Kockentiedt
I couldn't comment in your blog, so I'll write it here. I would prefer the following solution: (let [matrix [[1 0 1] [0 1 0] [1 0 1]]] (simplify `(* 5 (determinant ~matrix with the option of using a macro construct-expression: (let [matrix [[1 0 1]

Re: What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Jim
On 18/06/13 08:45, Hussein B. wrote: I know we usually use 'proxy' macro when we want to create an instance of a concrete class and override some of its methods. But do we have now a recommended approach? 'proxy' is the recommended approach unless you have some weird overriding requirements

Re: What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Hussein B.
Since reify allows us to override methods of an object, it is better to do: (def meh-object (MehClass.)) (reify meh-object ;; override methods) than: (proxy MehClass[] ;; override methods) Thanks. On Tuesday, June 18, 2013 1:16:40 PM UTC+2, Jim foo.bar wrote: On 18/06/13 08:45, Hussein

Re: core.logic CLP(Set)

2013-06-18 Thread David Nolen
CLP(Set) has not been implemented yet. On Tue, Jun 18, 2013 at 2:36 AM, cig clifford.goldb...@gmail.com wrote: Is CLP(Set) for core.logic available for use? It does not seem like core.logic 0.8.3 contains this feature. How should I access it if it is available? -- -- You received this

Re: New CSS library - Garden

2013-06-18 Thread JeremyS
Hi Joel, I have a quick and dirty implementation of a 960-ish grid systemhttps://github.com/JeremS/cljss-gridusing a DSL similar to garden If you want to take a look. On Friday, April 26, 2013 1:01:44 AM UTC+2, Joel Holdbrooks wrote: It's funny you should bring that up! I've actually been

Re: What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Jim
On 18/06/13 12:34, Hussein B. wrote: Since reify allows us to override methods of an object, it is better to do: 'reify' allows you to*implement*/*satisfy* interface-methods - not to override concrete ones. user= (reify String #_= (length [this] (count this))) user= CompilerException

Re: What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Hussein B.
Hmm, then why Clojure docs http://clojuredocs.org/clojure_core/clojure.core/reify mentions 'object': protocol-or-interface-or-Object (methodName [args+] body)* On Tuesday, June 18, 2013 1:41:57 PM UTC+2, Jim foo.bar wrote: On 18/06/13 12:34, Hussein B. wrote: Since reify allows us to

Re: What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Cedric Greevey
That's the *class* Object, with a capital O. It's the one concrete class that can be extended and its methods overridden using reify (or deftype). On Tue, Jun 18, 2013 at 7:43 AM, Hussein B. hubaghd...@gmail.com wrote: Hmm, then why Clojure docs

Re: What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Jim
as Cedric pointed out, it means the java.lang.Object class...not any object Jim On 18/06/13 12:47, Cedric Greevey wrote: That's the *class* Object, with a capital O. It's the one concrete class that can be extended and its methods overridden using reify (or deftype). On Tue, Jun 18, 2013

core logic

2013-06-18 Thread Josh Kamau
Hi ; I am trying to learn clojure core.logic. I have gone through some documentation on github by David Nolen. I am now trying to solve this problem: Anyone willing to do some practice can try and share the solution. *SOLVE THIS PROBLEM.* *The Diplomats at Muthaiga Estate* The facts

Re: core logic

2013-06-18 Thread David Nolen
This is a variant of the Zebra/Einstein Puzzle. You can probably Google for miniKanren core.logic zebra and find a solution if you get stuck ;) David On Tue, Jun 18, 2013 at 7:57 AM, Josh Kamau joshnet2...@gmail.com wrote: Hi ; I am trying to learn clojure core.logic. I have gone through

Re: Graph API

2013-06-18 Thread Justin Kramer
As Rob mentioned, I won't be doing further development Loom anytime in the near future. However, if critical mass forms around a fork or alterate project, I'd be happy to add a prominent link in the readme. Justin On Tuesday, June 18, 2013 3:10:23 AM UTC-4, Stephen Kockentiedt wrote: My bad.

Re: Heroku Clojure scheduled tasks versus worker threads

2013-06-18 Thread Jonathon McKitrick
You are correct, I meant to say 'worker process type' as opposed to 'web process type'. So, the question then, is what would be the difference between a heroku scheduled command (which I currently am running, wakes up, does some work, etc) and a 'worker process' type? Does the latter need a

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Colin Jones
+1 James. I can't count the number of times I've found myself unrolling an options map with a dance like this apply / apply concat. And don't forget that the function itself then has to roll this options map back up to operate on it, which syntactically isn't all that bad, but it usually

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Rich Hickey
Could you please try your tests against master? Here, I went from 145ms to 85ms going from 1.5.1 to 1.6.0 master. If it's the same for you, someone can git bisect and figure out what's up. Thanks, Rich On Thursday, June 13, 2013 3:02:56 PM UTC-4, Leon Barrett wrote: Hi. I've been working

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Softaddicts
I use destructuring most of the time, the main benefits I see are runtime validation of typo errors in the option names, better doc strings and the ability to provide defaults where nil does not make any sense. Of course you may need to use apply to pass options in turn to another fn but I

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Herwig Hochleitner
The keyword arguments vs. (apply (apply)) issue has come up before: https://groups.google.com/d/topic/clojure-dev/9ctJC-LXNps/discussion My take is: Use keyword arguments wherever appropriate and keep apply-kw handy: http://dev.clojure.org/jira/browse/CINCU-3 2013/6/18 Softaddicts

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread James Reeves
On 18 June 2013 14:38, Softaddicts lprefonta...@softaddicts.ca wrote: I use destructuring most of the time, the main benefits I see are runtime validation of typo errors in the option names, better doc strings and the ability to provide defaults where nil does not make any sense. You can

Re: Clojure in production

2013-06-18 Thread Alexander Kehayias
We're using Clojure at Shareablee, http://www.shareablee.com, a funded startup in the competitive social analytics space. Currently it powers data collection, an API proxy for maximizing data extraction from external APIs, and MapReduce jobs (via cascalog). AK On Monday, June 10, 2013 5:47:25

Re: Clojure in production

2013-06-18 Thread Hussein B.
According to their Jobs page, Doo is using Clojure to implement their backend and web application: https://doo.net/en/ On Monday, June 10, 2013 11:47:25 PM UTC+2, Plinio Balduino wrote: Hi there I'm writing a talk about Clojure in the real world and I would like to know, if possible,

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Softaddicts
I was not aware of this, we used a macro I think in a few places, mainly to avoid adding an extra call. Luc P. The keyword arguments vs. (apply (apply)) issue has come up before: https://groups.google.com/d/topic/clojure-dev/9ctJC-LXNps/discussion My take is: Use keyword arguments wherever

Re: Newbie dependency loading issue

2013-06-18 Thread P Martin
Ok, it looks like it was more of a CCW loading/refreshing error. I re-opened eclipse today and the math.numeric-tower library is loaded and there is no issue. I used this in my project.clj file: [org.clojure/math.numeric-tower 0.0.2] Sorry to bother! On Tuesday, June 18, 2013 1:02:44 AM

Re: What the recommended way now to create an instance and override its methods?

2013-06-18 Thread Gary Trakhman
I think you need to read something comprehensive before any of these replies start to make sense, I would recommend Joy Of Clojure, or some good blog posts. This might be a good starting point with some links for further reading: http://tech.puredanger.com/2011/08/12/subclassing-in-clojure/ To

Re: Clojure in production

2013-06-18 Thread Dave Ray
My team at Netflix is using Clojure for all new development these days. Dave On Tue, Jun 18, 2013 at 7:12 AM, Hussein B. hubaghd...@gmail.com wrote: According to their Jobs page, Doo is using Clojure to implement their backend and web application: https://doo.net/en/ On Monday, June 10,

[ANN] clj-wamp : a WebSocket sub-protocol for HTTP Kit

2013-06-18 Thread Christopher Martin
Hi all, I've been working on a WebSocket project recently while learning Clojure, and thought I'd share my port of the WAMP spec (for use with HTTP Kit). WAMP is an open WebSocket subprotocol that provides two asynchronous messaging patterns: RPC http://wamp.ws/faq#rpc and

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Max Penet
My rule of thumb for this is if that's something that will be static (as in, set once in the source and never changes) kw options are fine, if it is likely to be manipulated, is the result of some previous computation, then a map fits better. apply also has a performance cost that's not

Re: ANN: core.match 0.2.0-beta2

2013-06-18 Thread David Nolen
Growing documentation on the core.match wiki: http://github.com/clojure/core.match/wiki In particular people should find the sections on basic usage http://github.com/clojure/core.match/wiki/Basic-usage and advanced usage http://github.com/clojure/core.match/wiki/Advanced-usage helpful. David

Re: First day with Macros

2013-06-18 Thread Gary Trakhman
Here are some talks I really liked for understanding macros: http://www.infoq.com/presentations/Clojure-Macros http://www.youtube.com/watch?v=0JXhJyTo5V8 On Tue, Jun 18, 2013 at 3:47 AM, Hussein B. hubaghd...@gmail.com wrote: I don't get why we have to use a second 'back tick'. I thought one

Re: Need to render some entities moving across a grid

2013-06-18 Thread Gary Johnson
Hi there, I have an IMO fairly straightforward method for doing this that I wrote for use in my own flow modelling code. The idea is that you create a matrix (vector of vectors in my case) containing refs all initialized to some base value (e.g., 0). Then I wrap my with-animation macro

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Softaddicts
I think it's more a matter of taste at this point and what choices were made earlier. I chose the explicit destructuring route on optional args in the fn definition a while ago. Nothing prevents us from dealing with anonymous option maps when appropriate, merging, sub-selecting keys, ... (:or

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Softaddicts
I agree, this approach fits with our code base. Apply induces a significant hit and should be avoided when performance is critical. I tend to let the computer do its job and free my brain estate for more useful things until performance becomes critical. A kind of laziness :)) Luc P. My rule

Re: First day with Macros

2013-06-18 Thread Colin Jones
As Carlo said, we need to keep track of when things are running. Within the context of any given unquote, for instance ~@(for [meth meths] ...), we're actually executing code. So if you don't quote the expression `(~method-name ~args ~@body), you (1) will try to execute the function

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Steven Degutis
+10 If the library provided (this :arg style) just to be a convenience for me, then that purpose completely backfired the moment I had to type (apply your-fn (apply concat my-args)). That unnecessary dance was the inspiration for me buying applyconcat.com (empty; site ideas welcome). -Steven

ANN Introducing Cassaforte, a Clojure client for Cassandra built around CQL 3.0

2013-06-18 Thread Michael Klishin
Cassaforte [1] is a Clojure client for Cassandra built around CQL 3.0 and focusing on ease of use. It's built on top of the new DataStax Java driver [2] and supports all the major features you'd expect from a data store client: * Connection to a single node or a cluster * All CQL 3.0 operations

Re: Graph API

2013-06-18 Thread Aysylu Biktimirova
Stephen, thanks for reaching out to me! I really like your ideas and agree with the issues you pointed out in Loom's API. I'd like to incorporate your ideas into Loom to improve its API and have 1 graph library in Clojure. I'm actively working on it and would be happy to combine our efforts.

Re: Clojure in production

2013-06-18 Thread Dennis Roberts
Hi Plínio, We're using clojure for most of our back-end services at iPlant (http://www.iplantcollaborative.org). You can find our source code at https://github.com/organizations/iPlantCollaborativeOpenSource. Dennis On Monday, June 10, 2013 2:47:25 PM UTC-7, Plinio Balduino wrote: Hi there

Re: Clojure in production

2013-06-18 Thread Igor Hercowitz
Hi Plinio, We're using clojure to develop our back-end. We're using Rest, Compojure and Cheshire. To test we're using Midje and Kibit to validate the code. Unfortunately we have use some Java Legacy code... :) Regards IHF Em segunda-feira, 10 de junho de 2013 18h47min25s UTC-3, Plinio

Re: Clojure in production

2013-06-18 Thread Plinio Balduino
Hi there It's good too see brazilians working with the language. Igor, I'm waiting for your post about 'how Clojure saved the project'. The Netflix case would be awesome to present. daveray, could you tell me more about it? It can be in pvt or even here if our fellows don't mind. I would like

Re: Performance optimizations dealing with java collections

2013-06-18 Thread Michael Klishin
2013/6/18 Tim Jones timothy.jo...@hp.com How do I get to near-java performance? Start by providing a snippet of your code and profiling. Most likely you are hitting either boxing or extra method calls that are not obvious from the code. But nobody can tell if that's really the case, esp.

Re: A* Graphe implementation

2013-06-18 Thread Alan Thompson
There is a nice example using the A* algorithm on page 149-154 of The Joy of Clojure by Fogus Houser. Alan Thompson On Sun, Jun 16, 2013 at 11:00 PM, Marc Haemmerle vonhan...@gmail.comwrote: There's also: http://nakkaya.com/2010/06/01/path-finding-using-astar-in-clojure/ Sent from my

Re: Performance optimizations dealing with java collections

2013-06-18 Thread Tim Jones
Let's try this again. Maybe the question is what is the most performant way to consume a native java collection (List, array, or other) in clojure? What I've tried so far hits clojure-imposed performance issues. How do I get to near-java performance? I'm trying to create a polemic for

Re: Graph API

2013-06-18 Thread Stephen Kockentiedt
That sounds great! I'll mail you my complete code in case you want to take a look at it or want to use parts of it. And in case I can help in any other way, feel free to ask. Am Dienstag, 18. Juni 2013 18:44:33 UTC+2 schrieb Aysylu Biktimirova: Stephen, thanks for reaching out to me! I really

Re: core.logic CLP(Set)

2013-06-18 Thread cig
Hi David Did you not make use of it for solving this puzzle? https://gist.github.com/swannodette/5127150 On Tuesday, 18 June 2013 13:38:48 UTC+2, David Nolen wrote: CLP(Set) has not been implemented yet. On Tue, Jun 18, 2013 at 2:36 AM, cig clifford...@gmail.com javascript:wrote: Is

Re: core.logic CLP(Set)

2013-06-18 Thread David Nolen
No that was to illustrate an idealized solution not working code. On Tue, Jun 18, 2013 at 1:47 PM, cig clifford.goldb...@gmail.com wrote: Hi David Did you not make use of it for solving this puzzle? https://gist.github.com/swannodette/5127150 On Tuesday, 18 June 2013 13:38:48 UTC+2,

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Stuart Sierra
One has to be very careful with this kind of micro-benchmarking on the JVM. Dead-code elimination can easily make something seem fast simply because it's not doing anything. For example, in Java: https://gist.github.com/stuartsierra/5807356 Being careful not to have dead code, I get about the

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Jason Wolfe
Hi Rich, I don't see any difference between 1.5.1 and 1.6.0 master. The good news is that Stuart Sierra nailed the problem above -- I had no idea that leiningen messed with jvm-opts in the host process, and that seems to have been solely responsible for the performance issues (so we're at

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Jason Wolfe
Hi Stuart, On Tuesday, June 18, 2013 11:12:28 AM UTC-7, Stuart Sierra wrote: One has to be very careful with this kind of micro-benchmarking on the JVM. Dead-code elimination can easily make something seem fast simply because it's not doing anything. For example, in Java:

Re: In what OS do you code?

2013-06-18 Thread Alan Thompson
Windoze 7 with Cygwin on desktop, AIX in production (mostly PL/1 Java). Alan On Tue, Jun 18, 2013 at 4:08 AM, Kelker Ryan theinter...@yandex.com wrote: Arch Linux, but moving to Manjaro for a more stable and simple version of the distro. The editor is Emacs + nrepl.el + clojure-mode + ritz

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Stuart Sierra
For the record, it was Rich who discovered, and told me, that Leiningen was adding extra JVM args. :) -S On Tuesday, June 18, 2013 2:29:00 PM UTC-4, Jason Wolfe wrote: The good news is that Stuart Sierra nailed the problem above -- -- You received this message because you are subscribed to

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Leon Barrett
Holy crap, the ^:replace seems to improve my example to the performance of Java! I'm looking further, but that may be the key. On Tue, Jun 18, 2013 at 11:12 AM, Stuart Sierra the.stuart.sie...@gmail.com wrote: One has to be very careful with this kind of micro-benchmarking on the JVM.

Re: In what OS do you code?

2013-06-18 Thread Moritz Ulrich
NixOS, a linux distribution built on a purely functional package manager at work and at home. Emacs with package.el and ~/.emacs.d/ in a git repository. On Fri, Jun 14, 2013 at 3:46 PM, Erlis Vidal er...@erlisvidal.com wrote: Hi, I'm a bit curious to know in what OS do you code. Do you prefer

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Stuart Sierra
Great. Glad we found it! Since this was so confusing, I've filed an issue with Leiningen to make :jvm-opts in a project.clj override any Leiningen defaults: https://github.com/technomancy/leiningen/pull/1230 -S -- -- You received this message because you are subscribed to the Google Groups

Re: Multiple args: opts map vs inline arguments

2013-06-18 Thread Sean Corfield
What I tend to do when I run into this situation is to split my function in two and provide: 1. an API function that accepts the key/value pairs as named arguments - per the library coding guidelines 2. an implementation function that accepts a map of args as its last argument (and destructures

Re: Clojure generates unnecessary and slow type-checks

2013-06-18 Thread Jason Wolfe
Yes, I agree that this is very confusing behavior -- I just chimed in on the pull request. Thanks again for your help and this follow-up. On Tue, Jun 18, 2013 at 12:03 PM, Stuart Sierra the.stuart.sie...@gmail.com wrote: Great. Glad we found it! Since this was so confusing, I've filed an

[ANN] edn-java 0.4.3 released

2013-06-18 Thread Ben Smith-Mannschott
edn-java [1] is a parser and printer for edn [2]. This release fixes issue #35 [3] Allow Symbols to contain $ % =. It should be available on Maven Central within a day. // Ben [1] http://edn-java.bpsm.us [2] https://github.com/edn-format/edn [3] https://github.com/bpsm/edn-java/issues/35 --

Re: Performance optimizations dealing with java collections

2013-06-18 Thread Tim Jones
On Tuesday, June 18, 2013 9:58:20 AM UTC-7, Michael Klishin wrote: 2013/6/18 Tim Jones timoth...@hp.com javascript: How do I get to near-java performance? Start by providing a snippet of your code and profiling. Great. Here's the context: iterate through a list of Product, and for

Re: Making cryptograms, my first Clojure function. Feedback welcome.

2013-06-18 Thread Shannon Severance
Dan, Good point in general. However, in this case, the function returned is used to make cryptograms, simple cryptographic word puzzles. Characters outside a-z, A-Z, 0-9 are passed through by design to leave punctuation and whitespace in place to provide structure to aid the person solving

Re: Performance optimizations dealing with java collections

2013-06-18 Thread John D. Hume
Offhand it looks like the only RestFn you call from filter-link is clojure.core/format. Have you tried replacing that with something like this? (String/format (.get link 1) (doto (make-array String 1) (aset 0 (.get link 2))) I'm not suggesting that's idiomatic, but if it addresses the issue then

Re: Making cryptograms, my first Clojure function. Feedback welcome.

2013-06-18 Thread Shannon Severance
My wife informed me that cryptograms typically use the same substitutions for upper and lower case letters. If a becomes h, then A becomes H. Changes: 1. Revert to explicit strings for characters to shuffle, without using range and what not. 2. a-z mapping matches A-Z mapping 3.

Re: Clojure in production

2013-06-18 Thread Moocar
We're using Clojure at Walmart mobile for some of our services. We've been in production for six months. On Monday, June 10, 2013 2:47:25 PM UTC-7, Plinio Balduino wrote: Hi there I'm writing a talk about Clojure in the real world and I would like to know, if possible, which companies are

Re: Clojure in production

2013-06-18 Thread Russell Whitaker
But... is it also the bee's knees? Russell Whitaker Sent from my iPhone On Jun 13, 2013, at 5:38 PM, Travis Vachon travis.vac...@gmail.com wrote: We've used Clojure at Copious (http://copious.com) to build our activity feed (http://www.youtube.com/watch?v=0l7Va3-wXeI) and a number of backend

Re: Clojure in production

2013-06-18 Thread Sean Corfield
It's the dog's b*ll*cks! :) (since we're doing cultural slang, let's get some Britishness in there!) Sean On Tue, Jun 18, 2013 at 9:04 PM, Russell Whitaker russell.whita...@gmail.com wrote: But... is it also the bee's knees? Russell Whitaker Sent from my iPhone On Jun 13, 2013, at 5:38

Re: [ANN] clj-wamp : a WebSocket sub-protocol for HTTP Kit

2013-06-18 Thread martin_clausen
Excellent job Christopher. The examples look great and so does the rest of the documentation. A tutorial or walk-through of one of the examples would be great. Cheers Martin On Tuesday, June 18, 2013 5:29:52 PM UTC+2, Christopher Martin wrote: Hi all, I've been working on a WebSocket

Re: Heroku Clojure scheduled tasks versus worker threads

2013-06-18 Thread danneu
As you suspect, the Heroku cron job launches, executes code, and bills you for its time and the 'worker' process, like the 'web' process, runs at all times. web:lein run -m myapp.web worker: lein run -m myapp.worker I imagine myapp.worker can just be (while true (println Working)) for all