hara.typed.xtalk-common

*type-registry*

dynamic

+bool-type+

+int-type+

+kw-type+

+nil-type+

+num-type+

+primitive-types+

+str-type+

+unknown-type+

clear-registry!

(clear-registry!)

current-function-symbol

(current-function-symbol fn-def)

declaration-kind

(declaration-kind x)

entry-declarations

(entry-declarations entry)

entry-kinds

(entry-kinds entry)

entry-primary

(entry-primary entry)

entry-primary-kind

(entry-primary-kind entry)

field-key

(field-key field)

fn-def?

(fn-def? x)

fn-type

(fn-type fn-def)

generator-def?

(generator-def? x)

get-declaration

(get-declaration sym kind)

get-entry

(get-entry sym)

get-function

(get-function sym)

get-macro

(get-macro sym)

get-spec

(get-spec sym)

get-type

(get-type sym)

get-value

(get-value sym)

likely-type-symbol?

(likely-type-symbol? sym)

list-entries

(list-entries)

list-functions

(list-functions)

list-macros

(list-macros)

list-specs

(list-specs)

list-values

(list-values)

macro-def?

(macro-def? x)

make-arg

(make-arg name type modifiers)

make-fn-def

(make-fn-def ns-sym fn-name inputs output body-meta raw-body spec loc)(make-fn-def ns-sym fn-name inputs output body-meta raw-body spec)

make-registry-entry

(make-registry-entry sym)

make-spec-def

(make-spec-def ns-sym type-name type spec-meta loc)(make-spec-def ns-sym type-name type spec-meta)

make-value-def

(make-value-def ns-sym value-name type body-meta raw-value spec loc)(make-value-def ns-sym value-name type body-meta raw-value spec)

maybe-type

(maybe-type type)

normalize-apply-target

(normalize-apply-target target ctx)

normalize-record-field

(normalize-record-field [field-name field-type] ctx)

normalize-return-meta

(normalize-return-meta ret ctx)

normalize-type

(normalize-type form ctx)

primitive-type

(primitive-type kw)

register-entry!

(register-entry! sym key value)

register-function!

(register-function! sym fn-def)

register-macro!

(register-macro! sym macro-def)

register-spec!

(register-spec! sym spec)

register-value!

(register-value! sym value-def)

resolve-type-symbol

(resolve-type-symbol sym {:keys [ns aliases]})

snake-case-string

(snake-case-string s)

source-loc

(source-loc form)(source-loc form file)

spec-def?

(spec-def? x)

type->data

(type->data type)

type-key

(type-key ns-sym type-name)

type-string

(type-string type)

union-type

(union-type types)

valid-key?

(valid-key? key)

value-def?

(value-def? x)