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
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
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.
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
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();
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,
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
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"
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
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]
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
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
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
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
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
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
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
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
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
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
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.
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
+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
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
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
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
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
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
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,
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
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
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
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,
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
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
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
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
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
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
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
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
+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
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
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.
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
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
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
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.
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
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
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
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
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,
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
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
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:
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
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
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.
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
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
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
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
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
--
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
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
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
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.
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
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
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
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
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
73 matches
Mail list logo