src/basilisp/lang/runtime.py
def bootstrap(ns_var_name: str = NS_VAR_NAME, core_ns_name: str = CORE_NS) -> None:
    """Bootstrap the environment with functions that are are difficult to
    express with the very minimal lisp environment."""
    core_ns_sym = sym.symbol(core_ns_name)
    ns_var_sym = sym.symbol(ns_var_name, ns=core_ns_name)
    __NS = Maybe(Var.find(ns_var_sym)).or_else_raise(
        lambda: RuntimeException(f"Dynamic Var {ns_var_sym} not bound!")
    )

    def in_ns(s: sym.Symbol):
        ns = Namespace.get_or_create(s)
        __NS.value = ns
        return ns

    Var.intern_unbound(core_ns_sym, sym.symbol("unquote"))
    Var.intern_unbound(core_ns_sym, sym.symbol("unquote-splicing"))
    Var.intern(
        core_ns_sym, sym.symbol("in-ns"), in_ns, meta=lmap.map({_REDEF_META_KEY: True})
    )
    Var.intern(
        core_ns_sym,
        sym.symbol(_PRINT_GENERATED_PY_VAR_NAME),
        False,
        dynamic=True,
        meta=lmap.map({_PRIVATE_META_KEY: True}),
    )
    Var.intern(
        core_ns_sym,
        sym.symbol(_GENERATED_PYTHON_VAR_NAME),
        "",
        dynamic=True,
        meta=lmap.map({_PRIVATE_META_KEY: True}),
    )

    # Dynamic Vars for controlling printing
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_DUP_VAR_NAME), lobj.PRINT_DUP, dynamic=True
    )
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_LENGTH_VAR_NAME), lobj.PRINT_LENGTH, dynamic=True
    )
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_LEVEL_VAR_NAME), lobj.PRINT_LEVEL, dynamic=True
    )
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_META_VAR_NAME), lobj.PRINT_META, dynamic=True
    )
    Var.intern(
        core_ns_sym,
        sym.symbol(_PRINT_READABLY_VAR_NAME),
        lobj.PRINT_READABLY,
        dynamic=True,
    )
def bootstrap(ns_var_name: str = NS_VAR_NAME, core_ns_name: str = CORE_NS) -> None:
    core_ns_sym = sym.symbol(core_ns_name)
    ns_var_sym = sym.symbol(ns_var_name, ns=core_ns_name)
    __NS = Maybe(Var.find(ns_var_sym)).or_else_raise(
        lambda: RuntimeException(f"Dynamic Var {ns_var_sym} not bound!")
    )

    def in_ns(s: sym.Symbol):
        ns = Namespace.get_or_create(s)
        __NS.value = ns
        return ns

    Var.intern_unbound(core_ns_sym, sym.symbol("unquote"))
    Var.intern_unbound(core_ns_sym, sym.symbol("unquote-splicing"))
    Var.intern(
        core_ns_sym, sym.symbol("in-ns"), in_ns, meta=lmap.map({_REDEF_META_KEY: True})
    )
    Var.intern(
        core_ns_sym,
        sym.symbol(_PRINT_GENERATED_PY_VAR_NAME),
        False,
        dynamic=True,
        meta=lmap.map({_PRIVATE_META_KEY: True}),
    )
    Var.intern(
        core_ns_sym,
        sym.symbol(_GENERATED_PYTHON_VAR_NAME),
        "",
        dynamic=True,
        meta=lmap.map({_PRIVATE_META_KEY: True}),
    )

    # Dynamic Vars for controlling printing
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_DUP_VAR_NAME), lobj.PRINT_DUP, dynamic=True
    )
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_LENGTH_VAR_NAME), lobj.PRINT_LENGTH, dynamic=True
    )
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_LEVEL_VAR_NAME), lobj.PRINT_LEVEL, dynamic=True
    )
    Var.intern(
        core_ns_sym, sym.symbol(_PRINT_META_VAR_NAME), lobj.PRINT_META, dynamic=True
    )
    Var.intern(
        core_ns_sym,
        sym.symbol(_PRINT_READABLY_VAR_NAME),
        lobj.PRINT_READABLY,
        dynamic=True,
    )
def bootstrap ( ns_var_name : str = NS_VAR_NAME , core_ns_name : str = CORE_NS ) -> None : core_ns_sym = sym . symbol ( core_ns_name ) ns_var_sym = sym . symbol ( ns_var_name , ns = core_ns_name ) __NS = Maybe ( Var . find ( ns_var_sym ) ) . or_else_raise ( lambda : RuntimeException ( f"Dynamic Var {ns_var_sym} not bound!" ) ) def in_ns ( s : sym . Symbol ) : ns = Namespace . get_or_create ( s ) __NS . value = ns return ns Var . intern_unbound ( core_ns_sym , sym . symbol ( "unquote" ) ) Var . intern_unbound ( core_ns_sym , sym . symbol ( "unquote-splicing" ) ) Var . intern ( core_ns_sym , sym . symbol ( "in-ns" ) , in_ns , meta = lmap . map ( { _REDEF_META_KEY : True } ) ) Var . intern ( core_ns_sym , sym . symbol ( _PRINT_GENERATED_PY_VAR_NAME ) , False , dynamic = True , meta = lmap . map ( { _PRIVATE_META_KEY : True } ) , ) Var . intern ( core_ns_sym , sym . symbol ( _GENERATED_PYTHON_VAR_NAME ) , "" , dynamic = True , meta = lmap . map ( { _PRIVATE_META_KEY : True } ) , ) # Dynamic Vars for controlling printing Var . intern ( core_ns_sym , sym . symbol ( _PRINT_DUP_VAR_NAME ) , lobj . PRINT_DUP , dynamic = True ) Var . intern ( core_ns_sym , sym . symbol ( _PRINT_LENGTH_VAR_NAME ) , lobj . PRINT_LENGTH , dynamic = True ) Var . intern ( core_ns_sym , sym . symbol ( _PRINT_LEVEL_VAR_NAME ) , lobj . PRINT_LEVEL , dynamic = True ) Var . intern ( core_ns_sym , sym . symbol ( _PRINT_META_VAR_NAME ) , lobj . PRINT_META , dynamic = True ) Var . intern ( core_ns_sym , sym . symbol ( _PRINT_READABLY_VAR_NAME ) , lobj . PRINT_READABLY , dynamic = True , )
Bootstrap the environment with functions that are are difficult to
    express with the very minimal lisp environment.
Bootstrap the environment with functions that are are difficult to express with the very minimal lisp environment .