Solution have found:
(remove ...) => (doall (remove ...))
Full source of 'retract-fact' function is:
(defn retract-fact [fid]
"Retract fact for given fact-id by removing it from alpha, beta and fact
memory,
and also by removing from conflict set activations, containing this
fact-id"
;;(println [:RETRACT-FACT fid])
(if-let [frame (remove-fmem fid)]
(let [[typ mp] frame
ais (a-indices typ mp)]
(if TRACE (println [:<== [typ mp] :id fid]))
(doseq [ai ais]
(set-amem ai (doall (remove #(= (fact-id %) fid) (amem ai)) ) ))
(retract-b fid (.get =FIDS= fid))
(def =CFSET=
(filter #(not (some #{fid} (:FIDS (second %)))) =CFSET=))
(.remove =FIDS= fid)
frame)))
Thank you very much once more!
Best regards,
Ru
пятница, 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.