using Function2 = Result(*)(Environment *env, List *args)using kernel_ptr = sbn::pointer< Kernel >using Cpp_function = Result(*)(Environment *env, Object *args)Void = 0Integer = 1Cell = 2Symbol = 3Primitive = 4Function = 5Macro = 6Environment = 7Boolean = 8Float = 9Async = 10public sbn::kernelindex(size_t rhs) -> voidindex() const -> size_texpression(Object * rhs) -> voidexpression() const -> const Object *expression() -> Object *environment(Environment * rhs) -> voidenvironment() const -> const Environment *environment() -> Environment *result(Object * rhs) -> voidresult() const -> const Object *result() -> Object *read(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualreact(sbn::kernel_ptr && child) -> voidvirtual
Collects the output from the task from subordinate kernel child.
act() -> voidvirtualPerforms the task or launches subordinate kernels to do so.
Kernel(Environment * env, Object * expr, size_t index)Kernel(Environment * env, Object * expr)Kernel()public lisp::ObjectEnvironment * envObject * bodyCell * paramsoperator=(Function &&) -> Function &Function(Function &&)operator=(const Function &) -> Function &Function(const Function &)~Function()operator!=(const Function & rhs) const -> booloperator==(const Function & rhs) const -> boolequals(Object * rhs) const -> boolvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualFunction()Function(Type t)explicitFunction(Cell * params, Object * body, Environment * env)explicitpublic lisp::Objectoperator=(Primitive &&) -> Primitive &Primitive(Primitive &&)operator=(const Primitive &) -> Primitive &Primitive(const Primitive &)~Primitive()operator!=(const Primitive & rhs) const -> booloperator==(const Primitive & rhs) const -> boolequals(Object * rhs) const -> boolvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualPrimitive()Primitive(Cpp_function f, Cpp_function_id id)explicitpublic lisp::Objectoperator=(Environment &&) -> Environment &Environment(Environment &&)operator=(const Environment &) -> Environment &Environment(const Environment &)~Environment()operator!=(const Environment & rhs) const -> booloperator==(const Environment & rhs) const -> boolequals(Object * rhs) const -> boolvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualadd(Symbol * symbol, Object * value) -> voidfind(Symbol * symbol) -> Object *Environment(Cell * symbols, Object * values, Environment * parent)Environment(Object * variables, Environment * parent)Environment()public lisp::Objectoperator=(Boolean &&) -> Boolean &Boolean(Boolean &&)operator=(const Boolean &) -> Boolean &Boolean(const Boolean &)~Boolean()operator!=(const Boolean & rhs) const -> booloperator==(const Boolean & rhs) const -> boolequals(Object * rhs) const -> boolvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualBoolean()Boolean(bool v)explicitlisp::Booleanlisp::Celllisp::Environmentlisp::Floatlisp::Functionlisp::Integerlisp::Listlisp::Primitivelisp::Symboloperator delete[](void * ptr) -> voidoperator delete(void * ptr) -> voidoperator new[](std::size_t size) -> void *operator new(std::size_t size) -> void *operator=(Object &&) -> Object &Object(Object &&)operator=(const Object &) -> Object &Object(const Object &)~Object()virtualObject()empty() const -> boolequals(Object * rhs) const -> boolvirtualeval(Environment * env) -> Resultvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualObject(Type t)explicitpublic lisp::Objectoperator=(Cell &&) -> Cell &Cell(Cell &&)operator=(const Cell &) -> Cell &Cell(const Cell &)~Cell()operator!=(const Cell & rhs) const -> booloperator==(const Cell & rhs) const -> boolequals(Object * rhs) const -> boolvirtualeval(Environment * env) -> Resultvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualCell()Cell(Object * a, Object * b)explicitpublic lisp::Objectoperator=(Symbol &&) -> Symbol &Symbol(Symbol &&)operator=(const Symbol &) -> Symbol &Symbol(const Symbol &)~Symbol()operator!=(const Symbol & rhs) const -> booloperator==(const Symbol & rhs) const -> boolequals(Object * rhs) const -> boolvirtualeval(Environment * env) -> Resultvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualSymbol()Symbol(string_view s)public lisp::Objectoperator=(Integer &&) -> Integer &Integer(Integer &&)operator=(const Integer &) -> Integer &Integer(const Integer &)~Integer()operator!=(const Integer & rhs) const -> booloperator==(const Integer & rhs) const -> boolequals(Object * rhs) const -> boolvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualInteger()Integer(int64_t v)explicitpublic lisp::Kernelreact(sbn::kernel_ptr && child) -> voidvirtual
Collects the output from the task from subordinate kernel child.
act() -> voidvirtualPerforms the task or launches subordinate kernels to do so.
Main(int argc, char ** argv, Environment * env)Main()public lisp::Objectoperator=(Float &&) -> Float &Float(Float &&)operator=(const Float &) -> Float &Float(const Float &)~Float()operator!=(const Float & rhs) const -> booloperator==(const Float & rhs) const -> boolequals(Object * rhs) const -> boolvirtualread(sbn::kernel_buffer & in) -> voidvirtualwrite(sbn::kernel_buffer & out) const -> voidvirtualwrite(std::ostream & out) const -> voidvirtualFloat()Float(float v)explicitusing size_type = size_tusing iterator = const_iteratorusing const_iterator = const value_type *using value_type = charoperator=(string_view &&) -> string_view &string_view(string_view &&)operator=(const string_view &) -> string_view &string_view(const string_view &)~string_view()string_view()operator!=(string_view rhs) const -> booloperator==(string_view rhs) const -> boolis_symbol() const -> boolis_real() const -> boolis_integer() const -> boolread_atom() -> Object *read_list() -> Object *scan_for_matching_bracket() const -> iteratorskip_until_the_next_white_space() -> voidskip_until_the_end_of_the_line() -> voidtrim_left() -> voidtrim() -> voidfront() const -> charempty() const -> boolsize() const -> size_typedata() const -> iteratorstring_view(iterator a, iterator b, iterator orig)string_view(iterator a, iterator b)string_view(const std::string & s)string_view(const char * s)read(sbn::kernel_buffer & in) -> Object *make_main_kernel() -> Kernel *to_string(const Object * obj) -> std::stringmake_top_environment() -> Environment *define(Environment * env, const char * name, Cpp_function function, Cpp_function_id id) -> voidto_boolean(Object * object) -> booloperator<<(std::ostream & out, const Object * obj) -> std::ostream &template <class Target> cast(Object * object) -> Target *operator<<(std::ostream & out, const Result & result) -> std::ostream &operator>>(sbn::kernel_buffer & in, Object *& rhs) -> sbn::kernel_buffer &make(Type type) -> Object *eval(Environment * env, Object * obj) -> Resultdefine(Environment * env, const char * name, Function2 function, Cpp_function_id function_id) -> voidoperator<<(sbn::kernel_buffer & out, const Object * obj) -> sbn::kernel_buffer &define(Environment * env, const char * name, Object * value) -> voidread(const char * string) -> Object *read(string_view & s) -> Object *intern(lisp::string_view name) -> Symbol *operator<<(std::ostream & out, const string_view & rhs) -> std::ostream &