Skip to content

Instantly share code, notes, and snippets.

View patham9's full-sized avatar

Patrick Hammer patham9

View GitHub Profile
(defn use-counter-increment []
(do
(dosync (ref-set use-counter (inc (deref use-counter))))
@use-counter))
;Adjusted shuffle given a seed, "shuffle-with-seed", from sloth:
;http://stackoverflow.com/questions/24553212/how-to-take-n-random-items-from-a-collection-in-clojure
;(since we don't want non-deterministic testcases)
(defn shuffle-random
"Return a random permutation of coll with a seed"
(conclusions "<[smart] --> [bright]>."
"[smart].")
=>
#{{:statement [&| [[int-set smart]] [--> [int-set smart] [int-set bright]]],
:task-type :belief,
:occurrence 0,
:truth [1.0 0.81]}
{:statement [=|> [[int-set smart]] [--> [int-set smart] [int-set bright]]],
:task-type :belief,
:occurrence 0,
(conclusions "<[smart] --> [bright]>." "[bright].")
=>
#{{:statement [<|> [[int-set bright]] [--> [int-set smart] [int-set bright]]],
:task-type :belief,
:occurrence 0,
:truth [1.0 0.44751381215469616]}
{:statement [=|> [[int-set bright]] [--> [int-set smart] [int-set bright]]],
:task-type :belief,
:occurrence 0,
:truth [1.0 0.44751381215469616]}
(A =/> B), A |- ((B,A) --> imp_after), (Truth:Identity)
(A =/> B), B |- ((B,A) --> imp_after), (Truth:Identity)
(A =\> B), A |- ((B,A) --> imp_before), (Truth:Identity)
(A =\> B), B |- ((B,A) --> imp_before), (Truth:Identity)
(A =|> B), A |- ((B,A) --> imp_concurrent), (Truth:Identity)
(A =|> B), B |- ((B,A) --> imp_concurrent), (Truth:Identity)
((B,A) --> imp_concurrent), A |- (A =|> B), (Truth:Identity)
((B,A) --> imp_concurrent), B |- (A =|> B), (Truth:Identity)
(generate-conclusions
(r/rules :belief)
'{:action :belief,
:lvars [],
:truth (1.0 0.9),
:budget (0.5 0.8 0.5),
:statement [--> [* a1 a2] m],
:occurrence :eternal}
(defmethod precondition-transformation :substitute-from-list
[[_ el1 el2] conclusion]
`(mapv (fn [k#]
(if (= k# ~el1)
k#
(walk k# (= :el ~el1) ~el2)))
~conclusion))
(= '[==> [--> [ind-var 1] bird] [--> [ind-var 1] swimmer]]
'[==> [--> [ind-var 1] bird] [--> [ind-var 1] swimmer]])
=> true
(= '[==> [--> [ind-var 1] bird] [--> [ind-var 1] swimmer]]
(:statement (parse2 "<<$1 --> bird> ==> <$1 --> swimmer>>. %0.80;0.45%")))
=> false
(:statement (parse2 "<<$1 --> bird> ==> <$1 --> swimmer>>. %0.80;0.45%"))
=> [==> [--> [ind-var 1] bird] [--> [ind-var 1] swimmer]]
(ns narjure.general-inference.concept-selector
(:require
[co.paralleluniverse.pulsar.actors :refer [self ! whereis cast! Server gen-server register! shutdown! unregister! set-state! state]]
[narjure.actor.utils :refer [defactor]]
[narjure.memory-management.concept-manager :refer [c-bag]]
[narjure.bag :as b]
[clojure.math.numeric-tower :as math]
[taoensso.timbre :refer [debug info]]
[narjure.debug-util :refer :all])
(:refer-clojure :exclude [promise await]))
(defn concept-selector []
(gen-server
(reify Server
(init [_] (initialise aname @self))
(terminate [_ cause] #_(info (str aname " terminated.")))
(handle-cast [_ from id message] (msg-handler from message)))))
(let [[left right] (case '-->
'ext-set ["{" "}"]
'int-set ["[" "]"]
:else ["(" ")"])])
Result:
CompilerException java.lang.IllegalArgumentException: Duplicate case test constant: quote
Expected: left="(" right=")"