Thank you, all, for the very useful information.
Stacktrace after StackOverflowError turns out:
StackOverflowError clojure.lang.RT.nth (RT.java:764)
rete.core=> (clojure.stacktrace/e)
java.lang.StackOverflowError: null
at clojure.lang.RT.nth (RT.java:764)
rete.core$fact_id.invoke (core.clj:403)
rete.core$retract_fact$fn__1902.invoke (core.clj:633)
clojure.core$complement$fn__4048.invoke (core.clj:1357)
clojure.core$filter$fn__4226.invoke (core.clj:2533)
clojure.lang.LazySeq.sval (LazySeq.java:42)
clojure.lang.LazySeq.seq (LazySeq.java:60)
clojure.lang.RT.seq (RT.java:484)
nil
rete.core=>
This list with a problem *ofacts* was been intensively updated by *cons*
and *remove* operations (more precisely, *rete.core/retract-fact* function
visible in stacktrace contains a call to *remove*). Thus, probably, John is
nearer then others to solution. So, the question is: What can I do to avoid
recursive *remove* operation? May be I should rewrite it using *loop*? Does
this help? Or recursion remains inside *loop*?
пятница, 8 ноября 2013 г., 13:17:28 UTC+4 пользователь ru написал:
>
> Dear clojure-users,
>
> StackOverflowError clojure.lang.RT.nthFrom (RT.java:789)
>
> I got this error message during evaluation of "count" function call on a
> quite short list (about 200 elements). What can be reasons of the error.
> Any hints would be greatly appreciated.
>
> Sincerely,
> Ru
>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.