ok we are getting somewhere...is it easy to post the source of your 'retract-fact' & 'fact_id' fns?

Jim


On 08/11/13 13:17, ru wrote:
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 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.

Reply via email to