hara.lang.book

*dep-types*

dynamic

*skip-check*

dynamic

assert-compatible-lang

added in 4.0

(assert-compatible-lang book lang)

asserts that the lang is compatible

assert-entry

added in 4.0

(assert-entry book module-id section symbol-id)

asserts that module exists

assert-module

added in 4.0

(assert-module book module-id)

asserts that module exists

book

added in 4.0

(book {:keys [lang meta grammar modules parent merged], :as m})

creates a book

book-entry

added in 4.0

(book-entry {:keys [lang id module section form form-input deps deps-native xtalk-ops xtalk-profiles polyfill-modules namespace template standalone declared], :as m})

creates a book entry

book-entry?

added in 4.0

(book-entry? x)

checks if object is a book entry

book-from

added in 4.0

(book-from snapshot lang)

returns the merged book given snapshot

book-merge

added in 4.0

(book-merge book parent)

merges a book with it’s parent

book-meta

added in 4.0

(book-meta {:keys [bootstrap module-import module-export module-link has-module setup-module teardows-module has-ptr setup-ptr teardown-ptr], :as m})

creates a book meta

(book-meta {:module-export (fn [{:keys as} opts] (h/$ (return ~as))) :module-import (fn [name {:keys as} opts]
(h/$ (var ~as := (require ~(str name))))) :has-ptr (fn ptr (list ’not= (ut/sym-full ptr) nil)) :teardown-ptr (fn ptr (list := (ut/sym-full ptr) nil))}) => book-meta?

book-meta?

added in 4.0

(book-meta? x)

checks if object is a book meta

book-module

added in 4.0

(book-module {:keys [lang id alias link internal native native-lu require-impl implements specialize fragment code includes static display], :as m})

creates a book module

book-module?

added in 4.0

(book-module? x)

checks of object is a book module

book-string

added in 4.0

(book-string {:keys [lang meta grammar modules parent scope]})

shows the book string

book?

added in 4.0

(book? obj)

checks that object is a book

check-compatible-lang

added in 4.0

(check-compatible-lang book lang)

checks if the lang is compatible with the book

delete-entry

added in 4.0

(delete-entry book module-id section symbol-id)

deletes an entry

delete-module

added in 4.0

(delete-module book module-id)

deletes a module given a book

delete-modules

added in 4.0

(delete-modules book module-ids)

deletes all modules

get-base-entry

added in 4.0

(get-base-entry {:keys [modules], :as book} module-id id section)

gets an entry in the book

get-code-deps

added in 4.0

(get-code-deps book id)

gets code dependencies via the per-language restaging cache

get-code-entry

added in 4.0

(get-code-entry {:keys [modules], :as book} id)

gets a code entry in the book

get-code-entry-view

added in 4.1

(get-code-entry-view book id)

gets a code entry materialized for the current book language

get-deps

added in 4.0

(get-deps {:keys [modules], :as book} id)

get dependencies for a given id

get-deps-native

added in 4.0

(get-deps-native {:keys [modules], :as book} id)

get dependencies for a given id

get-entry

added in 4.0

(get-entry {:keys [modules], :as book} id)

gets either the module or code entry

get-fragment-entry

added in 4.0

(get-fragment-entry {:keys [modules], :as book} id)

gets a code entry in the book

get-module

added in 4.0

(get-module {:keys [modules], :as book} id)

gets the module

has-entry?

added in 4.0

(has-entry? book module-id section symbol-id)

checks that book has an entry

has-module?

added in 4.0

(has-module? book module-id)

checks that a books has a given module

list-entries

added in 4.0

(list-entries book)(list-entries {:keys [modules]} dep-types)

lists entries for a given symbol

module-create

added in 4.0

(module-create {:keys [lang], :as book} module-id options)

creates a module given book and options

module-create-check

added in 4.0

(module-create-check {:keys [modules], :as book} module-id link)

checks that bundles are available

module-create-filename

added in 4.0

(module-create-filename book module-id)

creates a filename for module

module-create-requires

added in 4.0

(module-create-requires require)

creates a map for the requires

module-export-imports

added in 4.1

(module-export-imports module)

reconstructs native imports from stored module metadata

module-export-requires

added in 4.1

(module-export-requires module)

reconstructs module requires from stored link metadata

module-normalize-implements

added in 4.1

(module-normalize-implements implements)

normalizes module contracts into a vector of symbols

module-specialize

added in 4.1

(module-specialize {:keys [lang], :as book} source-id target-id & [{:keys [bindings], :as _opts}])

clones a module under a new module id with rewritten link metadata

module-specialize-bindings

added in 4.1

(module-specialize-bindings module bindings)

normalizes specialization bindings keyed by alias or module id

module-specialize-entry

added in 4.1

(module-specialize-entry source-id target-id entry)

clones an entry into a new module

module-specialize-form

added in 4.1

(module-specialize-form source-id target-id form)

rewrites self references inside an entry form

module-specialize-symbol

added in 4.1

(module-specialize-symbol source-id target-id sym)

rewrites self references from one module to another

put-entry

added in 4.0

(put-entry book entry)

updates entry value in the book

put-module

added in 4.0

(put-module book module)

adds or updates a module

set-entry

added in 4.0

(set-entry book entry)

sets entry in the book

set-module

added in 4.0

(set-module book module)

adds an addional module to the book