Liking cljdoc? Tell your friends :D

skeptic.analysis.origin


apply-assumption-to-root-typeclj

(apply-assumption-to-root-type type assumption)

Inputs: [type :- ats/SemanticType assumption :- aos/Assumption] Returns: ats/SemanticType

Inputs: [type :- ats/SemanticType assumption :- aos/Assumption]
Returns: ats/SemanticType
raw docstring

apply-guard-assumptionclj

(apply-guard-assumption ctx assumption)

Inputs: [ctx :- s/Any assumption :- (s/maybe aos/Assumption)] Returns: s/Any

Inputs: [ctx :- s/Any assumption :- (s/maybe aos/Assumption)]
Returns: s/Any
raw docstring

assumption-base-typeclj

(assumption-base-type assumption assumptions)

Inputs: [assumption :- aos/RootedAssumption assumptions :- [aos/Assumption]] Returns: ats/SemanticType

Inputs: [assumption :- aos/RootedAssumption assumptions :- [aos/Assumption]]
Returns: ats/SemanticType
raw docstring

assumption-root?clj

(assumption-root? assumption root)

Inputs: [assumption :- aos/Assumption root :- aos/RootOrigin] Returns: s/Bool

Inputs: [assumption :- aos/Assumption root :- aos/RootOrigin]
Returns: s/Bool
raw docstring

assumption-truthclj

(assumption-truth assumption assumptions)

Inputs: [assumption :- aos/Assumption assumptions :- [aos/Assumption]] Returns: aos/AssumptionTruth

Inputs: [assumption :- aos/Assumption assumptions :- [aos/Assumption]]
Returns: aos/AssumptionTruth
raw docstring

blank-check-assumptionclj

(blank-check-assumption root polarity)

Inputs: [root :- s/Any polarity :- s/Bool] Returns: aos/BlankCheckAssumption

Inputs: [root :- s/Any polarity :- s/Bool]
Returns: aos/BlankCheckAssumption
raw docstring

branch-local-envsclj

(branch-local-envs ctx locals assumptions conjuncts)

Inputs: [ctx :- s/Any locals :- s/Any assumptions :- [aos/Assumption] conjuncts :- aos/Conjuncts] Returns: aos/BranchEnvs

Inputs: [ctx :- s/Any locals :- s/Any assumptions :- [aos/Assumption] conjuncts :- aos/Conjuncts]
Returns: aos/BranchEnvs
raw docstring

branch-originclj

(branch-origin test then-origin else-origin)

Inputs: [test :- s/Any then-origin :- s/Any else-origin :- s/Any] Returns: aos/BranchOrigin

Inputs: [test :- s/Any then-origin :- s/Any else-origin :- s/Any]
Returns: aos/BranchOrigin
raw docstring

call-arg-contract-assumptionsclj

(call-arg-contract-assumptions node)

Inputs: [node :- (s/maybe aas/AnnotatedNode)] Returns: [aos/TypePredicateAssumption]

Inputs: [node :- (s/maybe aas/AnnotatedNode)]
Returns: [aos/TypePredicateAssumption]
raw docstring

conjunction-assumptionclj

(conjunction-assumption parts)

Inputs: [parts :- s/Any] Returns: aos/ConjunctionAssumption

Inputs: [parts :- s/Any]
Returns: aos/ConjunctionAssumption
raw docstring

contains-key-assumptionclj

(contains-key-assumption root key polarity)

Inputs: [root :- s/Any key :- s/Any polarity :- s/Bool] Returns: aos/ContainsKeyAssumption

Inputs: [root :- s/Any key :- s/Any polarity :- s/Bool]
Returns: aos/ContainsKeyAssumption
raw docstring

contains-key-test-assumptionclj

(contains-key-test-assumption ctx target-node key)

Inputs: [ctx :- s/Any target-node :- s/Any key :- s/Any] Returns: (s/maybe aos/Assumption)

Inputs: [ctx :- s/Any target-node :- s/Any key :- s/Any]
Returns: (s/maybe aos/Assumption)
raw docstring

disjunction-assumptionclj

(disjunction-assumption parts)

Inputs: [parts :- s/Any] Returns: aos/DisjunctionAssumption

Inputs: [parts :- s/Any]
Returns: aos/DisjunctionAssumption
raw docstring

effective-typeclj

(effective-type ctx sym entry assumptions)

Inputs: [ctx :- s/Any sym :- s/Any entry :- s/Any assumptions :- [aos/Assumption]] Returns: ats/SemanticType

Inputs: [ctx :- s/Any sym :- s/Any entry :- s/Any assumptions :- [aos/Assumption]]
Returns: ats/SemanticType
raw docstring

guard-assumptionclj

(guard-assumption stmt-node)

Inputs: [stmt-node :- s/Any] Returns: (s/maybe aos/Assumption)

Inputs: [stmt-node :- s/Any]
Returns: (s/maybe aos/Assumption)
raw docstring

if-test-conjunctsclj

(if-test-conjuncts ctx test-node locals)

Inputs: [ctx :- s/Any test-node :- s/Any locals :- s/Any] Returns: aos/Conjuncts

Inputs: [ctx :- s/Any test-node :- s/Any locals :- s/Any]
Returns: aos/Conjuncts
raw docstring

invert-assumptionclj

(invert-assumption assumption)

Inputs: [assumption :- aos/Assumption] Returns: (s/maybe aos/Assumption)

Inputs: [assumption :- aos/Assumption]
Returns: (s/maybe aos/Assumption)
raw docstring

local-binding-init-assumptionclj

(local-binding-init-assumption ctx test-node locals)

Inputs: [ctx :- s/Any test-node :- s/Any locals :- s/Any] Returns: (s/maybe aos/Assumption)

Inputs: [ctx :- s/Any test-node :- s/Any locals :- s/Any]
Returns: (s/maybe aos/Assumption)
raw docstring

local-root-originclj

(local-root-origin ctx node)

Inputs: [ctx :- s/Any node :- s/Any] Returns: (s/maybe aos/RootOrigin)

Inputs: [ctx :- s/Any node :- s/Any]
Returns: (s/maybe aos/RootOrigin)
raw docstring

map-key-lookup-originclj

(map-key-lookup-origin root path defaults)

Inputs: [root :- s/Any path :- s/Any defaults :- s/Any] Returns: aos/MapKeyLookupOrigin

Inputs: [root :- s/Any path :- s/Any defaults :- s/Any]
Returns: aos/MapKeyLookupOrigin
raw docstring

map-key-lookup-origin-valueclj

(map-key-lookup-origin-value origin)

Inputs: [origin :- s/Any] Returns: s/Any

Inputs: [origin :- s/Any]
Returns: s/Any
raw docstring

node-originclj

(node-origin node)

Inputs: [node :- s/Any] Returns: (s/maybe aos/Origin)

Inputs: [node :- s/Any]
Returns: (s/maybe aos/Origin)
raw docstring

opaque-originclj

(opaque-origin type)

Inputs: [type :- ats/SemanticType] Returns: aos/Origin

Inputs: [type :- ats/SemanticType]
Returns: aos/Origin
raw docstring

opposite-assumption?clj

(opposite-assumption? left right)

Inputs: [left :- aos/Assumption right :- aos/Assumption] Returns: s/Bool

Inputs: [left :- aos/Assumption right :- aos/Assumption]
Returns: s/Bool
raw docstring

opposite-polarityclj

(opposite-polarity assumption)

Inputs: [assumption :- aos/Assumption] Returns: (s/maybe aos/Assumption)

Inputs: [assumption :- aos/Assumption]
Returns: (s/maybe aos/Assumption)
raw docstring

origin-typeclj

(origin-type origin assumptions)

Inputs: [origin :- aos/Origin assumptions :- [aos/Assumption]] Returns: ats/SemanticType

Inputs: [origin :- aos/Origin assumptions :- [aos/Assumption]]
Returns: ats/SemanticType
raw docstring

path-type-predicate-assumptionclj

(path-type-predicate-assumption root path pred-info polarity)

Inputs: [root :- s/Any path :- s/Any pred-info :- aos/PredInfo polarity :- s/Bool] Returns: aos/PathTypePredicateAssumption

Inputs: [root :- s/Any path :- s/Any pred-info :- aos/PredInfo polarity :- s/Bool]
Returns: aos/PathTypePredicateAssumption
raw docstring

path-value-equality-assumptionclj

(path-value-equality-assumption root path values polarity)

Inputs: [root :- s/Any path :- s/Any values :- [s/Any] polarity :- s/Bool] Returns: aos/PathValueEqualityAssumption

Inputs: [root :- s/Any path :- s/Any values :- [s/Any] polarity :- s/Bool]
Returns: aos/PathValueEqualityAssumption
raw docstring

refine-locals-for-assumptionclj

(refine-locals-for-assumption ctx locals assumptions)

Inputs: [ctx :- s/Any locals :- s/Any assumptions :- [aos/Assumption]] Returns: s/Any

Inputs: [ctx :- s/Any locals :- s/Any assumptions :- [aos/Assumption]]
Returns: s/Any
raw docstring

refine-root-typeclj

(refine-root-type root assumptions)

Inputs: [root :- aos/RootOrigin assumptions :- [aos/Assumption]] Returns: ats/SemanticType

Inputs: [root :- aos/RootOrigin assumptions :- [aos/Assumption]]
Returns: ats/SemanticType
raw docstring

region-conjunctsclj

(region-conjuncts ctx node locals)
(region-conjuncts ctx node locals alias-map)

Inputs: ([ctx :- s/Any node :- s/Any locals :- s/Any] [ctx :- s/Any node :- s/Any locals :- s/Any alias-map :- s/Any]) Returns: aos/Conjuncts

Return {:then-conjuncts [...] :else-conjuncts [...]} of conjuncts known true in each region (truthy/falsy) of node, derived structurally from let+if shapes. No and/or vocabulary: the only signal is which branch of an if carries the test-local. Truth tables: (if g g y) — false-region: ¬g ∧ ¬y (conjunction); true-region: ¬g ∨ ¬y (disjunction) (if g y g) — true-region: g ∧ y (conjunction); false-region: ¬g ∨ ¬y (disjunction) alias-map maps let-bound syms to their init expressions so when a let-bound local appears as the if-test we narrow on the underlying expression.

Inputs: ([ctx :- s/Any node :- s/Any locals :- s/Any] [ctx :- s/Any node :- s/Any locals :- s/Any alias-map :- s/Any])
Returns: aos/Conjuncts

Return {:then-conjuncts [...] :else-conjuncts [...]} of conjuncts known
 true in each region (truthy/falsy) of node, derived structurally from
 let+if shapes. No and/or vocabulary: the only signal is which branch of
 an `if` carries the test-local. Truth tables:
   (if g g y) — false-region: ¬g ∧ ¬y (conjunction); true-region: ¬g ∨ ¬y (disjunction)
   (if g y g) — true-region:  g ∧ y  (conjunction); false-region: ¬g ∨ ¬y (disjunction)
 `alias-map` maps let-bound syms to their init expressions so when a
 let-bound local appears as the if-test we narrow on the underlying expression.
raw docstring

root-originclj

(root-origin sym type)

Inputs: [sym :- s/Any type :- ats/SemanticType] Returns: aos/RootOrigin

Inputs: [sym :- s/Any type :- ats/SemanticType]
Returns: aos/RootOrigin
raw docstring

root-origin-valueclj

(root-origin-value origin)

Inputs: [origin :- s/Any] Returns: s/Any

Inputs: [origin :- s/Any]
Returns: s/Any
raw docstring

same-assumption-proposition?clj

(same-assumption-proposition? a b)

Inputs: [a :- aos/Assumption b :- aos/Assumption] Returns: s/Bool

Same narrowed fact on the same root, ignoring branch polarity.

Inputs: [a :- aos/Assumption b :- aos/Assumption]
Returns: s/Bool

Same narrowed fact on the same root, ignoring branch polarity.
raw docstring

same-assumption?clj

(same-assumption? left right)

Inputs: [left :- aos/Assumption right :- aos/Assumption] Returns: s/Bool

Inputs: [left :- aos/Assumption right :- aos/Assumption]
Returns: s/Bool
raw docstring

simplify-assumptionsclj

(simplify-assumptions assumptions)

Inputs: [assumptions :- [aos/Assumption]] Returns: [aos/Assumption]

Simplify environment assumptions. This is a pure query pass: it asks assumption-truth, which may reach type refinement, but it does not mutate state or recursively invoke simplification.

Inputs: [assumptions :- [aos/Assumption]]
Returns: [aos/Assumption]

Simplify environment assumptions. This is a pure query pass: it asks
`assumption-truth`, which may reach type refinement, but it does not mutate
state or recursively invoke simplification.
raw docstring

test->assumptionclj

(test->assumption ctx test-node)

Inputs: [ctx :- s/Any test-node :- s/Any] Returns: (s/maybe aos/Assumption)

Inputs: [ctx :- s/Any test-node :- s/Any]
Returns: (s/maybe aos/Assumption)
raw docstring

truthy-local-assumptionclj

(truthy-local-assumption root polarity)

Inputs: [root :- s/Any polarity :- s/Bool] Returns: aos/TruthyLocalAssumption

Inputs: [root :- s/Any polarity :- s/Bool]
Returns: aos/TruthyLocalAssumption
raw docstring

type-predicate-assumptionclj

(type-predicate-assumption root pred-info polarity)

Inputs: [root :- s/Any pred-info :- aos/PredInfo polarity :- s/Bool] Returns: aos/TypePredicateAssumption

Inputs: [root :- s/Any pred-info :- aos/PredInfo polarity :- s/Bool]
Returns: aos/TypePredicateAssumption
raw docstring

value-equality-assumptionclj

(value-equality-assumption root values polarity)

Inputs: [root :- s/Any values :- [s/Any] polarity :- s/Bool] Returns: aos/ValueEqualityAssumption

Inputs: [root :- s/Any values :- [s/Any] polarity :- s/Bool]
Returns: aos/ValueEqualityAssumption
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close