#include "commons.hpp" #include "fun.hpp" #include "macro.hpp" extern "C" void lib(Module& mod) { mod.register_function("assert=", fkstd::assert_eq); mod.register_function("println", fkstd::println); mod.register_function("+", fkstd::add_int); mod.register_function("-", fkstd::sub_int); mod.register_function("*", fkstd::mul_int); mod.register_function("/", fkstd::div_int); mod.register_function("%", fkstd::mod_int); mod.register_function("^", fkstd::pow_int); mod.register_function("+.", fkstd::add_float); mod.register_function("-.", fkstd::sub_float); mod.register_function("*.", fkstd::mul_float); mod.register_function("/.", fkstd::div_float); mod.register_function("%.", fkstd::mod_float); mod.register_function("^.", fkstd::pow_float); mod.register_function("<", fkstd::lt); mod.register_function("<=", fkstd::le); mod.register_function(">", fkstd::gt); mod.register_function(">=", fkstd::ge); mod.register_function("=", fkstd::eq); mod.register_function("<>", fkstd::ne); mod.register_function("not", fkstd::bool_not); mod.register_function("ref", fkstd::array_ref); mod.register_function("ref!", fkstd::array_set); mod.register_function("cat", fkstd::string_cat); mod.register_function("dup", fkstd::string_dup); mod.register_function("char-at", fkstd::char_at); mod.register_macro("!", fkstd::set_addr); mod.register_macro("assert-static-fail", fkstd::assert_static_fail); mod.register_macro(":", fkstd::block); mod.register_macro("if", fkstd::if_macro); mod.register_macro("and", fkstd::and_macro); mod.register_macro("or", fkstd::or_macro); }