(typed.clojure/fn ...) as symbolic closure if unannotateddefmulticlojure.core.async/pipeclojure.core.typed/{for,doseq}
clojure.core/{for,doseq}clojure.core.typed.deprecated-wrapper-macros=true to add them backt/ann, t/ann-protocol etc., are now removed from the
global type environment if the (Clojure JVM) namespace in which those macros occur is removed or reloaded.
t/ann simply by correcting it, then refreshing the namespace via tools.namespace.
the underlying annotation for the misspelled version is removed as if it were a var in the old namespace.:collect-only feature
typed.spec.clojure.core/atom-spec:forms documentation for core aliases(merge) as nilt/Merge
clojure.core/merge but at the type level(t/Merge '{:a t/Int :b t/Bool} '{:a t/Bool :c t/Str}) => '{:a t/Bool :b t/Bool :c t/Str}^:typed.clojure/ignore or ^{:typed.clojure {:ignore true}} meta
(ns ^:typed.clojure/ignore foo)typed.clojure/check-dir-clj{s} for type checking directories of codetyped.clojure.main for command line usage^::t/dbg output[:maybe] case in Malli schema to static type translation[:and s1 s2 s3 ...] to s1 in type translation to avoid tricky subtyping cases^:fake-quote 'TYPE <=> TYPE^{::t/- TYPE} EXP <=> (t/ann-form EXP TYPE)^{::t/inst [...]} EXP <=> (t/inst EXP ...)^{::t/unsafe-cast TYPE} EXP checks EXP with no expected type and unsafely infers type TYPE^::t/ignore EXP <=> (t/tc-ignore EXP)^::t/dbg EXP prints type info on EXPtyped.clojure/doc-clj{s} for documentation snippets and type lookupclojure.core.typed/envs[Foo Bar :+ :-> Baz] <=> [Foo Bar Bar :* :-> Baz][Foo Bar :? :-> Baz] <=> (IFn [Foo :-> Baz] [Foo Bar :-> Baz]){min,max}-keydisjclojure.test/run-all-testsmerge is a map, rest can be nilable and still returns a map:.. keyword syntax for dotted rest argument (along with ... and :...)t/All parsing: allow combining :.. with keyword args: (t/All [a :.. :named [b])(t/Assoc c ... c) type syntax to (t/Assoc c :.. c):{?,*,+}:* function types
(-> (fn ([] 0)
([a] (+ a))
([a b & more] (apply + a b more)))
(ann-form [t/Int :* :-> t/Int]))
(ann-form (fn [& rst] (first rst)) [t/Int :+ :-> t/Int])set!clojure.core.typed/envs
sort-by, method-sig, partitionclojure.core/fn
(t/fn [a :- t/Int]) <=> (cc/fn [^{:typed.clojure/- t/Int} a])(t/fn [] :- t/Bool) <=> (cc/fn ^{:typed.clojure/- t/Bool} [])(t/ann-form (t/fn [a] a) (t/All [x] [x :-> x])) <=> (cc/fn ^{:typed.clojure/- (t/All [x] [x :-> x])} _id [a] a)(fn [p :- [[t/Int :-> t/Int] :-> t/Int]] (p #(inc %)))typed.clojure/Associative now takes 2 type arguments (before, 3)
cljs.core/IAssociative, clojure.lang.Associativecc/reduce-kv annotationseqable?, indexed?, findt/MapEntry to t/AMapEntry for fn outputs, change t/MapEntry for fn inputstyped.clojure/cnstyped.clojure/check-ns-cljs from macro to functionclojure.core and cljs.core type rulesminimal-clj example project to test typed.clj.checker in isolation without cljs depsclojure.core/defprotocol rule for clj{s}cljs.core/implements? rule for cljs(defn sym-or-kw? [a] (or (symbol? a) (keyword? a))):flow filters
:filters around 2015.typed.clojure.jvm for jvm annotations
override-class -- see typed.ann.clojure.jvm for base environment usingclojure.core/reify in Clojure checkerclojure.core/satisfies? in Clojure checker:extend-via-metadata (and other kw options) in defprotocol wrappertyped.clojure/check-nstyped.clojure/check-ns{,-clj,cljs} no longer require the namespaces being checked to depend on a Typed Clojure namespacetyped.malli.schema-to-type/register-malli->type-extensionclojure.java.io annotations{pos,neg,nat}-int? annotationstyped.clj.malli submodule to typed.mallit/def and t/defn never infer their types, and use t/ann to register global annotation
typed.clojure namespacelib.spec.alpha lib for spec.alpha annotations
s/def and s/fdeftyped.cljs.analyzertyped.clojure namespace for cross-platform useclojure.core.typed.special-vars=true to restore:refering these vars is not cross-platform. type resolution can
work without these varsclojure.core.typed.intern-defaliases=true to restoreclojure.core/seqable?, so now we can annotate as (t/Pred (t/Seqable t/Any))clojure.core/boolean? annotationclojure.core/inc is appears in error messages instead of clojure.lang.RT/inctyped.clj.malli projectclojure.core/for typing rule with destructuringclojure.core/let typing ruletyped.clj.generators namespace to typed.clj.checkerCan you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |