The reason "and" is a macro is that it's designed to short-circuit - ie if
the first result is false the rest shouldn't even be evaluated.
Using it on raw booleans works, because booleans evaluate to themselves,
but it's really designed to be given forms.
The absence of a pure function for conjun
Thanks everyone for your replies, in particular:
Mikera: Glad to hear we're along the right lines, and thanks for the
extra advice. I've found your blog series on Alchemy very helpful while
considering this stuff. This game is a little different, and I'm mainly
concerned with what's going on ser
On Wednesday, 22 May 2013 16:46:54 UTC+8, Daniel Wright wrote:
> Thanks everyone for your replies, in particular:
>
> Mikera: Glad to hear we're along the right lines, and thanks for the
> extra advice. I've found your blog series on Alchemy very helpful while
> considering this stuff. This g
Ah, okay, I see the idea. I'm not sure why it doesn't work.
For now, I think, using an atom and reset! seems to do the job!
Phil
atkaaz writes:
> The following idea came to me in the shower, sort of out of the blue, and I
> don't know why I didn't think of it before(I'm disappointed with mys
concurrency-wise, you might find useful Rich Hickey's ants simulation
https://github.com/juliangamble/clojure-ants-simulation/
the relevant video where he explains it:
https://www.youtube.com/watch?v=dGVqrGmwOAw
(if you want the slides too, see in the comments: someone suggested google
for "Must w
On Wed, May 22, 2013 at 3:06 AM, Peter Mancini wrote:
> I noticed that '(nil nil true) will cause "and" to produce false, so I am
> aware of that edge case. Anything else I should be aware of?
>
> What about the other edge?
user=> (reduce #(and %1 %2) '(1 true 2))
2
user=> (eval (conj '(1 true
I find the wording of this confusing "otherwise it returns the value
of the last
expr. (and) returns true."
I mean, I know it returns the last true value, but that's because I've
tested it not because the doc is trying(failing) to tell me so with that
phrase.
On Wed, May 22, 2013 at 1:28 PM, atk
On May 22, 2013 5:35 AM, "atkaaz" wrote:
>
> I find the wording of this confusing "otherwise it returns the value of
the last expr. (and) returns true."
> I mean, I know it returns the last true value, but that's because I've
tested it not because the doc is trying(failing) to tell me so with that
I'm pleased to announce the release of tawny-owl 0.11.
What is it?
==
This package allows users to construct OWL ontologies in a fully programmatic
environment, namely Clojure. This means the user can take advantage of
programmatic language to automate and abstract the ontology over the
Oh i see now, thank you!
so it's like this:
"otherwise it returns the value of the last expression.
(and) returns true."
i though "expr." is the short for of the word "expression" which requires a
dot, but the dot was in fact an end of sentence.
On Wed, May 22, 2013 at 2:40 PM, John D. Hume wr
For those who don't know the concepts (aka me) can we get a working example
of what can be done ? I'm having a strange feeling that ontologies(although
I've never heard the word/idea before except from you) might be something
similar to what I am searching for...
Possibly an example that showcases
One more thought on the broader ideas of LISPy languages and ASM. One of
the versions of Crash Bandicoot was developed in Game Oriented Assembly
LISP (GOAL) - which was a common LISP DSL that generated assembler.
I recalled this today because Michael Fogus tweeted about it:
https://twitter.com/
My aim is to enable Clojure programming directly on an Android device.. so,
as I understand, I can use lein-droid to make the pre-compiled JAR to work
on the device? I seen Clojure 1.4.0 REPL for Android and I wanted to get
the compiler itself, preferably for 1.5.1, so that I can integrate it in
thank you very much, my search has lead me to seeking a lisp that could
compile to machine code (mainly because i cannot accept the 20-22 sec `lein
repl` startup time and eclipse/ccw memory consumptions - so I was hoping
for something fast even though the cost is portability and all else)
On Wed,
On 22 May 2013 08:09, Baishampayan Ghose wrote:
> Using a lambda seems to be a sane approach -
>
> (reduce #(and %1 %2) '(false false true))
> ;=> false
Note that this will always traverse the entire input collection,
whereas every? stops at the first false value.
Same thing goes for reducing wi
I went looking for the same thing. There are a few partial examples in the
docs directory that might be worth looking at.
On Wed, May 22, 2013 at 8:06 AM, atkaaz wrote:
> For those who don't know the concepts (aka me) can we get a working
> example of what can be done ? I'm having a strange fee
It's a good question; the library is more intended for people who know
ontologies and don't care, or have never heard about, clojure. So the
documentation is biased in that way.
In this setting, an ontology is essentially a set of facts, that you can
test with a computational reasoner; so, it's
Thank you very much for this! I find it very interesting, I shall keep
reading
On Wed, May 22, 2013 at 4:24 PM, Phillip Lord
wrote:
>
>
> It's a good question; the library is more intended for people who know
> ontologies and don't care, or have never heard about, clojure. So the
> documentation
I'm studying for an interview and thought it might be nice to know the time
complexity of primitive operations on collections in Clojure. A quick
googling didn't turn up a definitive resource. I would be happy to put one
together. What I had in mind was something like:
Collections: strings,
Would you say that ontologies can be modeled on top of graphs? so in a way
they can be seen as a specific use case for graphs? (maybe directed acyclic
graphs), that's what I am getting the sense of so far
On Wed, May 22, 2013 at 4:47 PM, atkaaz wrote:
> Thank you very much for this! I find it
A few corrections:
Lists are single linked lists, so nth on them (as well as last) is O(n).
Get on lists is unsupported.
Cons on a vector is O(1) since cons converts things to seqs (O(1)) before
constructing the cons.
Count on everything but Cons and LazySeq is O(1). For those two it's O(n)
unti
I should probably also have added sorted-map to the table, though the
complexity for each operation is less clear to me.
--
--
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
On 22/05/13 15:11, atkaaz wrote:
Would you say that ontologies can be modeled on top of graphs? so in a
way they can be seen as a specific use case for graphs? (maybe
directed acyclic graphs), that's what I am getting the sense of so far
I am certainly not an ontology guru but I can confirm th
Thanks everyone for the help. The nil behavior of the 'or' version breaks
what I wanted, but I may create functions that return just true or false
though the odd edge case where "and" will return a value will mean I'll
have to handle that. My preference would be to throw an exception but thats
On 22/05/13 15:54, Peter Mancini wrote:
The nil behavior of the 'or' version breaks what I wanted, but I may
create functions that return just true or false though the odd edge
case where "and" will return a value will mean I'll have to handle that.
wrap that call in a 'boolean' call (e.g. (bo
You'll need to provide more details about exactly which Clojure JARs
you use and the stack trace for the exception (at least telling us
which class is not found and enough of the stack trace for us to see
where the reference is coming from).
My suspicion is you're using the Clojure 1.2 contrib lib
You might also want to switch "cons" to "conj". This is a super ugly part
of the Java api that no one really ever sees. PersistentVector.cons is
actually called by clojure.core/conj. clojure.core/cons is something else
completely. When talking about how the java code performs it might be best
to sp
Hi Sean,
Thanks for your reply. I use Clojure.Jar version 1.2.0 and the
contrib.jar is also the same version.
Copied below is the stack trace of the Error:
Caused by: java.lang.NoClassDefFoundError:
com/gargoylesoftware/htmlunit/html/BaseFrameElement (agent.clj:1)
at clojure.lang
I'll be more blunt than Sean was :-)
Is there a reason why you *must* use Clojure 1.2? If so, what is it?
If there isn't such a reason, you will likely get much better support from
other Clojure users if you use Clojure 1.4 or 1.5.1 (1.5.1 was released a
couple of months ago, so many are still u
Hi Andy,
I inherited the code written by some one who is no longer with us.
First, I would like to migrate to new version of HTMLUnit and then
look at migrating the clojure to the new version.
Regards
Vasu
On Wednesday, May 22, 2013 9:03:03 PM UTC+5:30, Andy Fingerhut wrote:
>
> I'll
On Wednesday, 22 May 2013 20:35:01 UTC+8, atkaaz wrote:
> thank you very much, my search has lead me to seeking a lisp that could
> compile to machine code (mainly because i cannot accept the 20-22 sec `lein
> repl` startup time and eclipse/ccw memory consumptions - so I was hoping
> for someth
Well, excepts that it is not correct. It will return false when really
there was a faulty collection handed to it. I'd rather catch an error like
that than to pretend it didn't happen and give a result that isn't correct
while also being hard to detect. If you can guarantee it won't get a bad
c
On Wed, May 22, 2013 at 12:14 AM, Chris Ford wrote:
> The reason "and" is a macro is that it's designed to short-circuit - ie if
> the first result is false the rest shouldn't even be evaluated.
>
> Using it on raw booleans works, because booleans evaluate to themselves,
> but it's really designed
I am indeed confused. I have both cons and conj operations in my table.
Are you saying (conj coll item) and (cons item coll) are implemented the
same way under the hood? That wasn't my understanding. Can you clarify?
On Wednesday, May 22, 2013 10:05:22 AM UTC-5, tbc++ wrote:
>
> You might al
Updated draft of table in more readable form
here: http://bit.ly/big-o-clojure
Thanks to Timothy for corrections/additions! Will keep updating as other
replies come in.
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, sen
No, what I'm saying is that in each persistent collection there is a method
called "cons":
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentVector.java#L167
However, this is the function called by clojure.core/conj:
https://github.com/clojure/clojure/blob/master/src/
So I did some coding and came up with this but it is broken;
(= java.lang.Boolean (type false)) ;;evaluates to true
(defn all-true?
[coll]
(every? (cond (= java.lang.Boolean (type identity)) identity :else false)
coll)) ;;compiles
(all-true? '(true true true)) ;; throws java.lang.ClassCas
=> (type identity)
clojure.core$identity
On Wed, May 22, 2013 at 7:17 PM, Peter Mancini wrote:
> So I did some coding and came up with this but it is broken;
>
> (= java.lang.Boolean (type false)) ;;evaluates to true
>
> (defn all-true?
> [coll]
> (every? (cond (= java.lang.Boolean (type i
On Wed, May 22, 2013 at 9:24 AM, Phillip Lord
wrote:
>
>
> It's a good question; the library is more intended for people who know
> ontologies and don't care, or have never heard about, clojure. So the
> documentation is biased in that way.
>
This message originally confused me. For some reason I
Try:
user=> (every? #(= Boolean (type %)) [true false false])
true
user=> (every? #(= Boolean (type %)) [true false false 1])
false
On 22 May 2013 18:20, atkaaz wrote:
> => (type identity)
> clojure.core$identity
>
>
>
> On Wed, May 22, 2013 at 7:17 PM, Peter Mancini wrote:
>
>> So I did some c
Duh never mind - simplified it and it works like a charm now.
(defn all-true?
[coll]
(every? (fn [x] (= x true)) coll))
(all-true? '(true true true))
(all-true? '(true true false))
(all-true? '(true true 3))
(all-true? '(3 \# !))
No exception on bad input data but if I really need to do that
I think the exception is thrown because you basically called (every? false
coll) however on my clojure version I cannot reproduce it oh wait there we
go, some bug here with empty collection (maybe someone can pick it up):
=> (every? false [1 2 3])
ClassCastException java.lang.Boolean cannot be cas
there's another edge case when using and/or :
getting passed an unbound var where for example `nil?` and `str` applied
to it don't throw, and of course also `or` and `and`, ie.:
=> (def a)
#'cgws.notcore/a
=> a
#
=> (nil? a)
false
=> (str a)
"Unbound: #'cgws.notcore/a"
=> (or a)
#
=> (or 1 2 a)
Is "the ground truth" your spec or your code?
Here is an interesting read:
http://shanecelis.github.io/2013/05/20/why-im-trying-literate-programming
Shane started with a co-worker, working from a spec, to create a program.
He eventually found that only he could make changes because only he
unders
Looks like I forgot to enable the paging file (windows virtual memory was
disabled) and that is why my eclipse/firefox would crash when running out
of memory and also had much eclipse.ini memory allocated -Xms228m -Xmx712m
; and because of all these I was unable to start repl most of the time in
c
emacs does this navigation stuff.. M-. and M-, . For uses of a function,
try grep -R or rgrep.
On Wed, May 22, 2013 at 1:30 PM, atkaaz wrote:
> Looks like I forgot to enable the paging file (windows virtual memory was
> disabled) and that is why my eclipse/firefox would crash when running out
>
On Wed, May 22, 2013 at 9:32 AM, Peter Mancini wrote:
> (defn all-true?
> [coll]
> (every? (fn [x] (= x true)) coll))
(defn all-true?
[coll]
(every? true? coll))
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com
I don't know about the emacs stuff, but I consider the latter to be a
"nice" workaround/hack :)
On Wed, May 22, 2013 at 8:35 PM, Gary Trakhman wrote:
> emacs does this navigation stuff.. M-. and M-, . For uses of a function,
> try grep -R or rgrep.
>
>
> On Wed, May 22, 2013 at 1:30 PM, atkaaz
On Wed May 22 05:10 2013, Alex Fowler wrote:
> My aim is to enable Clojure programming directly on an Android device.. so,
> as I understand, I can use lein-droid to make the pre-compiled JAR to work
> on the device? I seen Clojure 1.4.0 REPL for Android and I wanted to get
> the compiler itself
Jim writes:
> I am certainly not an ontology guru but I can confirm that what you describe
> is sort of valid...Ontologies will indeed help you find predicate-argument
> structures of the form subject->predicate->object (i.e "John likes pizza"),
> but in order to do that you have to build the doma
Ah, now, that is a complicated question with a long history. If I may
duck the question slightly, and just answer about OWL (it's not the only
ontology representation language).
Trivially, of course, the answer is yes. An ontology is representable as
a graph, but then a graph is a rich enough da
Paul Gearon writes:
> On Wed, May 22, 2013 at 9:24 AM, Phillip Lord
> wrote:
>>
>>
>> It's a good question; the library is more intended for people who know
>> ontologies and don't care, or have never heard about, clojure. So the
>> documentation is biased in that way.
>>
>
> This message origina
Hey Antonio, thanks for responding.
I guess I'm a bit annoyed that *lein-haml-sass*, isn't managing it's own
3rd party tools itself. I'll check out the links you mentioned.
Cheers
Tim
On Tue, May 21, 2013 at 3:59 PM, Antonio Terreno
wrote:
> I never used that lein plugin but the output is qui
On May 22, 2013, at 04:41, Phillip Lord wrote:
> I'm pleased to announce the release of tawny-owl 0.11.
>
> What is it?
> ==
>
> This package allows users to construct OWL ontologies ...
Not surprisingly, most Clojurists are not familiar with ontologies
in general or OWL ontologies in p
On 22 May 2013 18:34, atkaaz wrote:
> I think the exception is thrown because you basically called (every? false
> coll) however on my clojure version I cannot reproduce it oh wait there we
> go, some bug here with empty collection (maybe someone can pick it up):
> => (every? false [1 2 3])
> Cla
Well, seems to me more like this:
if [] is empty then return true
otherwise check (pred everyx in coll)
however this allows for any pred especially(in this case) invalid preds:
`false` is not a function/pred
=> (false 1)
ClassCastException java.lang.Boolean cannot be cast to clojure.lang.IFn
cgws.n
56 matches
Mail list logo