SYMBOL INDEX (5504 symbols across 376 files) FILE: docs/graph/collect_data.js constant VERBOSE (line 13) | const VERBOSE = process.env['VERBOSE'] || false constant BASE_PATH (line 14) | const BASE_PATH = process.env['BASE_PATH'] || 'base_data.yaml' constant README_PATH (line 15) | const README_PATH = process.env['README_PATH'] || '../../README.md' constant MAL_PATH (line 16) | const MAL_PATH = process.env['MAL_PATH'] || '../../' constant SO_TAGS_PATH (line 19) | const SO_TAGS_PATH = process.env['SO_TAGS_PATH'] || 'so-tags.csv' constant GITHUT_PULL_URL (line 22) | const GITHUT_PULL_URL = process.env['GITHUT_PULL_URL'] || 'https://raw.g... constant GITHUT_PUSH_URL (line 24) | const GITHUT_PUSH_URL = process.env['GITHUT_PUSH_URL'] || 'https://raw.g... constant GITHUT_STAR_URL (line 26) | const GITHUT_STAR_URL = process.env['GITHUT_STAR_URL'] || 'https://raw.g... function vlog (line 95) | function vlog(...args) { function die (line 101) | function die(code, ...args) { function main (line 106) | async function main() { FILE: docs/graph/graph_languages.js function malExtent (line 48) | function malExtent(data, key) { function malScale (line 65) | function malScale(log) { function malTickValues (line 69) | function malTickValues(key, log) { function malCircleSize (line 77) | function malCircleSize(key, min, max, val) { function ctlChange (line 113) | function ctlChange(evt) { function updateGraphData (line 151) | function updateGraphData() { FILE: docs/web/mal.js function jq_load_history (line 3) | function jq_load_history(jq) { function jq_save_history (line 13) | function jq_save_history(jq) { function _obj_type (line 32) | function _obj_type(obj) { function _sequential_Q (line 51) | function _sequential_Q(lst) { return _list_Q(lst) || _vector_Q(lst); } function _equal_Q (line 54) | function _equal_Q (a, b) { function _clone (line 80) | function _clone (obj) { function _nil_Q (line 111) | function _nil_Q(a) { return a === null ? true : false; } function _true_Q (line 112) | function _true_Q(a) { return a === true ? true : false; } function _false_Q (line 113) | function _false_Q(a) { return a === false ? true : false; } function _number_Q (line 114) | function _number_Q(obj) { return typeof obj === 'number'; } function _string_Q (line 115) | function _string_Q(obj) { function Symbol (line 121) | function Symbol(name) { function _symbol (line 126) | function _symbol(name) { return new Symbol(name); } function _symbol_Q (line 127) | function _symbol_Q(obj) { return obj instanceof Symbol; } function _keyword (line 131) | function _keyword(obj) { function _keyword_Q (line 138) | function _keyword_Q(obj) { function _function (line 144) | function _function(Eval, Env, ast, env, params) { function _function_Q (line 154) | function _function_Q(obj) { return typeof obj == "function"; } function _fn_Q (line 163) | function _fn_Q(obj) { return _function_Q(obj) && !obj._ismacro_; } function _macro_Q (line 164) | function _macro_Q(obj) { return _function_Q(obj) && !!obj._ismacro_; } function _list (line 168) | function _list() { return Array.prototype.slice.call(arguments, 0); } function _list_Q (line 169) | function _list_Q(obj) { return Array.isArray(obj) && !obj.__isvector__; } function _vector (line 173) | function _vector() { function _vector_Q (line 178) | function _vector_Q(obj) { return Array.isArray(obj) && !!obj.__isvector_... function _hash_map (line 183) | function _hash_map() { function _hash_map_Q (line 190) | function _hash_map_Q(hm) { function _assoc_BANG (line 197) | function _assoc_BANG(hm) { function _dissoc_BANG (line 211) | function _dissoc_BANG(hm) { function Atom (line 221) | function Atom(val) { this.val = val; } function _atom (line 222) | function _atom(val) { return new Atom(val); } function _atom_Q (line 223) | function _atom_Q(atm) { return atm instanceof Atom; } function Reader (line 261) | function Reader(tokens) { function tokenize (line 269) | function tokenize(str) { function read_atom (line 279) | function read_atom (reader) { function read_list (line 306) | function read_list(reader, start, end) { function read_vector (line 325) | function read_vector(reader) { function read_hash_map (line 331) | function read_hash_map(reader) { function read_form (line 336) | function read_form(reader) { function BlankException (line 372) | function BlankException(msg) { function read_str (line 375) | function read_str(str) { function _pr_str (line 395) | function _pr_str(obj, print_readably) { function resolve_js (line 442) | function resolve_js(str) { function js_to_mal (line 452) | function js_to_mal(obj) { function Env (line 481) | function Env(outer, binds, exprs) { function mal_throw (line 534) | function mal_throw(exc) { throw exc; } function pr_str (line 538) | function pr_str() { function str (line 544) | function str() { function prn (line 550) | function prn() { function println (line 556) | function println() { function slurp (line 562) | function slurp(f) { function time_ms (line 579) | function time_ms() { return new Date().getTime(); } function assoc (line 583) | function assoc(src_hm) { function dissoc (line 589) | function dissoc(src_hm) { function get (line 595) | function get(hm, key) { function contains_Q (line 603) | function contains_Q(hm, key) { function keys (line 607) | function keys(hm) { return Object.keys(hm); } function vals (line 608) | function vals(hm) { return Object.keys(hm).map(function(k) { return hm[k... function cons (line 612) | function cons(a, b) { return [a].concat(b); } function concat (line 614) | function concat(lst) { function nth (line 619) | function nth(lst, idx) { function first (line 624) | function first(lst) { return (lst === null) ? null : lst[0]; } function rest (line 626) | function rest(lst) { return (lst == null) ? [] : lst.slice(1); } function empty_Q (line 628) | function empty_Q(lst) { return lst.length === 0; } function count (line 630) | function count(s) { function conj (line 636) | function conj(lst) { function seq (line 646) | function seq(obj) { function apply (line 661) | function apply(f) { function map (line 666) | function map(f, lst) { function with_meta (line 672) | function with_meta(obj, m) { function meta (line 678) | function meta(obj) { function deref (line 690) | function deref(atm) { return atm.val; } function reset_BANG (line 691) | function reset_BANG(atm, val) { return atm.val = val; } function swap_BANG (line 692) | function swap_BANG(atm, f) { function js_eval (line 698) | function js_eval(str) { function js_method_call (line 702) | function js_method_call(object_method_str) { function READ (line 787) | function READ(str) { function is_pair (line 792) | function is_pair(x) { function quasiquote (line 796) | function quasiquote(ast) { function is_macro_call (line 812) | function is_macro_call(ast, env) { function macroexpand (line 819) | function macroexpand(ast, env) { function eval_ast (line 827) | function eval_ast(ast, env) { function _EVAL (line 847) | function _EVAL(ast, env) { function EVAL (line 926) | function EVAL(ast, env) { function PRINT (line 932) | function PRINT(exp) { FILE: get-ci-matrix.py function eprint (line 15) | def eprint(*args, **kwargs): function impl_text (line 18) | def impl_text(impl): FILE: impls/basic/basicpp.py function debug (line 8) | def debug(*args, **kwargs): function parse_args (line 11) | def parse_args(): function resolve_includes (line 39) | def resolve_includes(orig_lines, args): function resolve_mode (line 62) | def resolve_mode(orig_lines, args): function drop_blank_lines (line 73) | def drop_blank_lines(orig_lines): function drop_rems (line 81) | def drop_rems(orig_lines): function remove_indent (line 93) | def remove_indent(orig_lines): function misc_fixups (line 100) | def misc_fixups(orig_lines): function finalize (line 129) | def finalize(lines, args): FILE: impls/c.2/core.c type ns_s (line 107) | struct ns_s function ns_make_core (line 197) | void ns_make_core(ns* core, size_t* size) { function MalType (line 250) | MalType mal_equals(list args) { function MalType (line 257) | MalType mal_nth(list args) { function MalType (line 288) | MalType mal_first(list args) { function MalType (line 312) | MalType mal_rest(list args) { function MalType (line 338) | MalType mal_cons(list args) { function MalType (line 359) | MalType mal_concat(list args) { function MalType (line 388) | MalType mal_count(list args) { function MalType (line 406) | MalType mal_empty_questionmark(list args) { function MalType (line 423) | MalType mal_pr_str(list args) { function MalType (line 428) | MalType mal_str(list args) { function MalType (line 433) | MalType mal_prn(list args) { function MalType (line 439) | MalType mal_println(list args) { function MalType (line 445) | MalType mal_read_string(list args) { function MalType (line 457) | MalType mal_slurp(list args) { function MalType (line 488) | MalType mal_atom(list args) { function MalType (line 492) | MalType mal_deref(list args) { function MalType (line 500) | MalType mal_reset_bang(list args) { function MalType (line 509) | MalType mal_swap_bang(list args) { function MalType (line 531) | MalType mal_throw(list args) { function MalType (line 541) | MalType mal_apply(list args) { function MalType (line 577) | MalType mal_map(list args) { function MalType (line 607) | MalType mal_symbol(list args) { function MalType (line 617) | MalType mal_keyword(list args) { function MalType (line 633) | MalType mal_vector(list args) { function MalType (line 645) | MalType mal_vec(list args) { function MalType (line 664) | MalType map_assoc_mutate(const char* context, struct map* new_lst, list ... function MalType (line 675) | MalType mal_hash_map(list args) { function MalType (line 679) | MalType mal_get(list args) { function MalType (line 702) | MalType mal_contains_questionmark(list args) { function MalType (line 721) | MalType mal_assoc(list args) { function MalType (line 733) | MalType mal_dissoc(list args) { function MalType (line 760) | MalType mal_keys(list args) { function MalType (line 779) | MalType mal_vals(list args) { function MalType (line 798) | MalType mal_time_ms(list args) { function MalType (line 809) | MalType mal_conj(list args) { function MalType (line 849) | MalType mal_seq(list args) { function MalType (line 891) | MalType mal_meta(list args) { function MalType (line 898) | MalType mal_with_meta(list args) { function MalType (line 917) | MalType mal_readline(list args) { function MalType (line 933) | inline MalType make_boolean(bool x) { type mal_type_t (line 941) | enum mal_type_t function core_ffi_find (line 954) | size_t core_ffi_find(const char *type) { function MalType (line 964) | MalType mal_dot(list args) { FILE: impls/c.2/core.h type ns_s (line 6) | struct ns_s type ns_s (line 8) | struct ns_s { FILE: impls/c.2/env.c type Env_s (line 6) | struct Env_s { function Env (line 11) | Env* env_make(const Env* outer) { function env_set (line 18) | inline void env_set(Env* current, MalType symbol, MalType value) { function MalType (line 22) | MalType env_get(const Env* current, MalType symbol) { function hashmap (line 32) | hashmap env_as_map(const Env* current) { FILE: impls/c.2/hashmap.c type map (line 30) | struct map { type map (line 47) | struct map type map (line 48) | struct map type bucket (line 48) | struct bucket type map (line 54) | struct map type bucket (line 55) | struct bucket type map (line 56) | struct map function search (line 61) | size_t search(hashmap map, MalType key) { function put (line 105) | void put(struct map* map, MalType key, void* value) { type map (line 115) | struct map type map (line 115) | struct map type map (line 120) | struct map type bucket (line 120) | struct bucket function map_dissoc_mutate (line 138) | void map_dissoc_mutate(struct map* map, MalType key) { function map_count (line 145) | inline size_t map_count(hashmap map) { function map_cursor (line 149) | map_cursor next_valid(hashmap map, size_t i) { function map_cursor (line 156) | inline map_cursor map_iter(hashmap map) { function map_cont (line 160) | inline bool map_cont(hashmap map, map_cursor position) { function MalType (line 164) | inline MalType map_key(hashmap map, map_cursor position) { function map_cursor (line 180) | inline map_cursor map_next(hashmap map, map_cursor position) { FILE: impls/c.2/hashmap.h type map (line 10) | struct map type map (line 13) | struct map type map (line 15) | struct map type map (line 15) | struct map type map (line 22) | struct map type map_cursor (line 26) | typedef size_t map_cursor; FILE: impls/c.2/linked_list.c function list (line 5) | list list_push(list lst, MalType data_ptr) { function list_count (line 14) | size_t list_count(list lst) { FILE: impls/c.2/linked_list.h type pair_s (line 8) | struct pair_s { FILE: impls/c.2/printer.c type printf_info (line 17) | struct printf_info function print_M (line 27) | int print_M(FILE *stream, const struct printf_info *i, const void *const... function print_L (line 130) | int print_L(FILE* stream, const struct printf_info *i, const void *const... function pr_str_vector (line 140) | int pr_str_vector(FILE* stream, const struct printf_info *i, vector_t v) { function pr_str_map (line 153) | int pr_str_map(FILE* stream, const struct printf_info *i, const void *co... function escape_string (line 164) | int escape_string(FILE *stream, const char* str) { function print_T (line 213) | int print_T(FILE *stream, const struct printf_info *, const void *const ... function printer_init (line 242) | void printer_init() { FILE: impls/c.2/reader.c function skip_spaces (line 40) | void skip_spaces(Reader reader) { function MalType (line 56) | MalType read_str(const char* source) { function MalType (line 103) | MalType read_form(Reader reader) { function MalType (line 173) | MalType read_number(Reader reader) { function MalType (line 207) | MalType read_with_meta(Reader reader) { function MalType (line 232) | MalType read_list(Reader reader) { function MalType (line 258) | MalType read_vector(Reader reader) { function MalType (line 278) | MalType read_map(Reader reader) { function MalType (line 308) | MalType make_symbol_list(Reader reader, MalType symbol) { function MalType (line 324) | MalType read_string(Reader reader) { FILE: impls/c.2/step0_repl.c function PRINT (line 18) | void PRINT(const char* str) { function rep (line 23) | void rep(const char* str) { function main (line 28) | int main() { FILE: impls/c.2/step1_read_print.c function MalType (line 12) | MalType READ(const char* str) { function MalType (line 18) | MalType EVAL(MalType ast) { function PRINT (line 23) | void PRINT(MalType val) { function rep (line 28) | void rep(const char* str) { function main (line 40) | int main() { FILE: impls/c.2/step2_eval.c function MalType (line 43) | MalType READ(const char* str) { function MalType (line 49) | MalType EVAL(MalType ast, hashmap env) { function PRINT (line 96) | void PRINT(MalType val) { function rep (line 101) | void rep(const char* str, hashmap env) { function main (line 116) | int main() { function list (line 142) | list evaluate_list(list lst, hashmap env) { function MalType (line 161) | MalType evaluate_vector(vector_t lst, hashmap env) { function MalType (line 173) | MalType evaluate_hashmap(hashmap lst, hashmap env) { function MalType (line 185) | MalType apply(MalType fn, list args) { FILE: impls/c.2/step3_env.c type MalType (line 24) | typedef MalType (*special_t)(list, Env*); type map (line 25) | struct map function MalType (line 49) | MalType READ(const char* str) { function MalType (line 55) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 113) | void PRINT(MalType val) { function rep (line 118) | void rep(const char* str, Env* env) { function main (line 133) | int main() { function MalType (line 163) | MalType eval_defbang(list lst, Env* env) { function MalType (line 176) | MalType eval_letstar(list lst, Env* env) { function list (line 209) | list evaluate_list(list lst, Env* env) { function MalType (line 228) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 240) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 252) | MalType apply(MalType fn, list args) { FILE: impls/c.2/step4_if_fn_do.c type MalType (line 28) | typedef MalType (*special_t)(list, Env*); type map (line 29) | struct map function MalType (line 31) | MalType READ(const char* str) { function Env (line 37) | Env* env_apply(MalClosure closure, list args) { function MalType (line 70) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 135) | void PRINT(MalType val) { function rep (line 140) | void rep(const char* str, Env* env) { function re (line 156) | void re(const char *str, Env* env) { function main (line 170) | int main() { function MalType (line 210) | MalType eval_defbang(list lst, Env* env) { function MalType (line 223) | MalType eval_letstar(list lst, Env* env) { function MalType (line 256) | MalType eval_if(list lst, Env* env) { function MalType (line 300) | MalType eval_do(list lst, Env* env) { function list (line 322) | list evaluate_list(list lst, Env* env) { function MalType (line 341) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 353) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 365) | MalType eval_fnstar(list lst, const Env* env) { function MalType (line 403) | MalType apply(MalType fn, list args) { FILE: impls/c.2/step5_tco.c type MalType (line 28) | typedef MalType (*special_t)(list, Env**); type map (line 29) | struct map function MalType (line 31) | MalType READ(const char* str) { function Env (line 37) | Env* env_apply(MalClosure closure, list args) { function MalType (line 70) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 145) | void PRINT(MalType val) { function rep (line 150) | void rep(const char* str, Env* env) { function re (line 166) | void re(const char *str, Env* env) { function main (line 180) | int main() { function MalType (line 220) | MalType eval_defbang(list lst, Env** env) { function MalType (line 234) | MalType eval_letstar(list lst, Env** env) { function MalType (line 268) | MalType eval_if(list lst, Env** env) { function MalType (line 313) | MalType eval_do(list lst, Env** env) { function list (line 335) | list evaluate_list(list lst, Env* env) { function MalType (line 354) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 366) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 378) | MalType eval_fnstar(list lst, Env** env) { function MalType (line 418) | MalType apply(MalType fn, list args) { FILE: impls/c.2/step6_file.c type MalType (line 28) | typedef MalType (*special_t)(list, Env**); type map (line 29) | struct map function MalType (line 31) | MalType READ(const char* str) { function Env (line 37) | Env* env_apply(MalClosure closure, list args) { function MalType (line 70) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 145) | void PRINT(MalType val) { function rep (line 150) | void rep(const char* str, Env* env) { function re (line 166) | void re(const char *str, Env* env) { function MalType (line 183) | MalType mal_eval(list args) { function main (line 190) | int main(int argc, char** argv) { function MalType (line 250) | MalType eval_defbang(list lst, Env** env) { function MalType (line 264) | MalType eval_letstar(list lst, Env** env) { function MalType (line 298) | MalType eval_if(list lst, Env** env) { function MalType (line 343) | MalType eval_do(list lst, Env** env) { function list (line 365) | list evaluate_list(list lst, Env* env) { function MalType (line 384) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 396) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 408) | MalType eval_fnstar(list lst, Env** env) { function MalType (line 448) | MalType apply(MalType fn, list args) { FILE: impls/c.2/step7_quote.c type MalType (line 34) | typedef MalType (*special_t)(list, Env**); type map (line 35) | struct map function MalType (line 37) | MalType READ(const char* str) { function Env (line 43) | Env* env_apply(MalClosure closure, list args) { function MalType (line 76) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 151) | void PRINT(MalType val) { function rep (line 156) | void rep(const char* str, Env* env) { function re (line 172) | void re(const char *str, Env* env) { function MalType (line 189) | MalType mal_eval(list args) { function main (line 196) | int main(int argc, char** argv) { function MalType (line 258) | MalType eval_defbang(list lst, Env** env) { function MalType (line 272) | MalType eval_letstar(list lst, Env** env) { function MalType (line 306) | MalType eval_if(list lst, Env** env) { function MalType (line 351) | MalType eval_do(list lst, Env** env) { function MalType (line 373) | MalType eval_quote(list lst, Env** env) { function MalType (line 380) | MalType eval_quasiquote(list lst, Env**) { function MalType (line 386) | MalType quasiquote(MalType ast) { function MalType (line 427) | MalType quasiquote_vector(vector_t vec) { function MalType (line 442) | MalType quasiquote_list(list args) { function MalType (line 459) | MalType quasiquote_folder(MalType first, MalType qq_rest) { function list (line 483) | list evaluate_list(list lst, Env* env) { function MalType (line 502) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 514) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 526) | MalType eval_fnstar(list lst, Env** env) { function MalType (line 566) | MalType apply(MalType fn, list args) { FILE: impls/c.2/step8_macros.c type MalType (line 35) | typedef MalType (*special_t)(list, Env**); type map (line 36) | struct map function MalType (line 38) | MalType READ(const char* str) { function Env (line 44) | Env* env_apply(MalClosure closure, list args) { function MalType (line 77) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 157) | void PRINT(MalType val) { function rep (line 162) | void rep(const char* str, Env* env) { function re (line 178) | void re(const char *str, Env* env) { function MalType (line 195) | MalType mal_eval(list args) { function main (line 202) | int main(int argc, char** argv) { function MalType (line 266) | MalType eval_defbang(list lst, Env** env) { function MalType (line 280) | MalType eval_letstar(list lst, Env** env) { function MalType (line 314) | MalType eval_if(list lst, Env** env) { function MalType (line 359) | MalType eval_do(list lst, Env** env) { function MalType (line 381) | MalType eval_quote(list lst, Env** env) { function MalType (line 388) | MalType eval_quasiquote(list lst, Env**) { function MalType (line 394) | MalType quasiquote(MalType ast) { function MalType (line 435) | MalType quasiquote_vector(vector_t vec) { function MalType (line 450) | MalType quasiquote_list(list args) { function MalType (line 467) | MalType quasiquote_folder(MalType first, MalType qq_rest) { function MalType (line 491) | MalType eval_defmacrobang(list lst, Env** env) { function list (line 510) | list evaluate_list(list lst, Env* env) { function MalType (line 529) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 541) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 553) | MalType eval_fnstar(list lst, Env** env) { function MalType (line 593) | MalType apply(MalType fn, list args) { FILE: impls/c.2/step9_try.c type MalType (line 36) | typedef MalType (*special_t)(list, Env**); type map (line 37) | struct map function MalType (line 39) | MalType READ(const char* str) { function Env (line 45) | Env* env_apply(MalClosure closure, list args) { function MalType (line 78) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 158) | void PRINT(MalType val) { function rep (line 163) | void rep(const char* str, Env* env) { function re (line 179) | void re(const char *str, Env* env) { function MalType (line 196) | MalType mal_eval(list args) { function main (line 203) | int main(int argc, char** argv) { function MalType (line 268) | MalType eval_defbang(list lst, Env** env) { function MalType (line 282) | MalType eval_letstar(list lst, Env** env) { function MalType (line 316) | MalType eval_if(list lst, Env** env) { function MalType (line 361) | MalType eval_do(list lst, Env** env) { function MalType (line 383) | MalType eval_quote(list lst, Env** env) { function MalType (line 390) | MalType eval_quasiquote(list lst, Env**) { function MalType (line 396) | MalType quasiquote(MalType ast) { function MalType (line 437) | MalType quasiquote_vector(vector_t vec) { function MalType (line 452) | MalType quasiquote_list(list args) { function MalType (line 469) | MalType quasiquote_folder(MalType first, MalType qq_rest) { function MalType (line 493) | MalType eval_defmacrobang(list lst, Env** env) { function MalType (line 512) | MalType eval_try(list lst, Env** env) { function list (line 560) | list evaluate_list(list lst, Env* env) { function MalType (line 579) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 591) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 603) | MalType eval_fnstar(list lst, Env** env) { function MalType (line 643) | MalType apply(MalType fn, list args) { FILE: impls/c.2/stepA_mal.c type MalType (line 36) | typedef MalType (*special_t)(list, Env**); type map (line 37) | struct map function MalType (line 39) | MalType READ(const char* str) { function Env (line 45) | Env* env_apply(MalClosure closure, list args) { function MalType (line 78) | MalType EVAL(MalType ast, Env* env) { function PRINT (line 158) | void PRINT(MalType val) { function rep (line 163) | void rep(const char* str, Env* env) { function re (line 179) | void re(const char *str, Env* env) { function MalType (line 196) | MalType mal_eval(list args) { function main (line 203) | int main(int argc, char** argv) { function MalType (line 272) | MalType eval_defbang(list lst, Env** env) { function MalType (line 286) | MalType eval_letstar(list lst, Env** env) { function MalType (line 320) | MalType eval_if(list lst, Env** env) { function MalType (line 365) | MalType eval_do(list lst, Env** env) { function MalType (line 387) | MalType eval_quote(list lst, Env** env) { function MalType (line 394) | MalType eval_quasiquote(list lst, Env**) { function MalType (line 400) | MalType quasiquote(MalType ast) { function MalType (line 441) | MalType quasiquote_vector(vector_t vec) { function MalType (line 456) | MalType quasiquote_list(list args) { function MalType (line 473) | MalType quasiquote_folder(MalType first, MalType qq_rest) { function MalType (line 497) | MalType eval_defmacrobang(list lst, Env** env) { function MalType (line 516) | MalType eval_try(list lst, Env** env) { function list (line 564) | list evaluate_list(list lst, Env* env) { function MalType (line 583) | MalType evaluate_vector(vector_t lst, Env* env) { function MalType (line 595) | MalType evaluate_hashmap(hashmap lst, Env* env) { function MalType (line 607) | MalType eval_fnstar(list lst, Env** env) { function MalType (line 647) | MalType apply(MalType fn, list args) { FILE: impls/c.2/types.c type MalType_s (line 17) | struct MalType_s { type MalType_s (line 51) | struct MalType_s type MalType_s (line 52) | struct MalType_s type MalType_s (line 53) | struct MalType_s function is_nil (line 55) | bool is_nil(MalType val) { return val == &THE_NIL; } function is_false (line 56) | bool is_false(MalType val) { return val == &THE_FALSE; } function is_true (line 57) | bool is_true(MalType val) { return val == &THE_TRUE; } function is_integer (line 59) | inline bool is_integer(MalType val, long* result) { function MalType (line 64) | MalType make_integer(long value) { function is_float (line 70) | inline bool is_float(MalType val, double* result) { function MalType (line 75) | MalType make_float(double value) { function hash (line 83) | size_t hash(const char* s) { function MalType (line 104) | MalType make_string(const char* value) { function MalType (line 113) | MalType make_keyword(const char* value) { function MalType (line 122) | MalType make_symbol(const char* value) { function is_list (line 128) | inline bool is_list(MalType val, list* result) { function MalType (line 133) | MalType make_list_m(list value, MalType metadata) { function MalType (line 138) | inline MalType make_list(list value) { function vector_t (line 142) | inline vector_t is_vector(MalType val) { function MalType (line 145) | MalType make_vector_m(vector_t value, MalType metadata) { function MalType (line 150) | inline MalType make_vector(vector_t value) { function hashmap (line 154) | inline hashmap is_hashmap(MalType val) { function MalType (line 157) | MalType make_hashmap_m(hashmap value, MalType metadata) { function MalType (line 162) | inline MalType make_hashmap(hashmap value) { function function_t (line 166) | inline function_t is_function(MalType val) { function MalType (line 169) | MalType make_function_m(function_t value, MalType metadata) { function MalType (line 174) | inline MalType make_function(function_t value) { function MalClosure (line 178) | inline MalClosure is_closure(MalType val) { function MalType (line 181) | MalType make_closure_m(const Env* env, list fnstar_args, MalType metadat... function MalType (line 186) | inline MalType make_closure(const Env* env, list fnstar_args) { function MalClosure (line 190) | inline MalClosure is_macro(MalType val) { function MalType (line 193) | MalType make_macro(const Env* env, list fnstar_args) { function MalType (line 199) | inline MalType* is_atom(MalType val) { function MalType (line 202) | MalType make_atom(MalType value) { function MalType (line 208) | MalType meta(MalType form) { function type (line 219) | inline enum mal_type_t type(MalType val) { function get_hash (line 223) | inline size_t get_hash(MalType form) { function equal_forms (line 246) | bool equal_forms(MalType first, MalType second) { function types_init (line 316) | void types_init() { function MalType (line 339) | inline MalType make_true() { function MalType (line 343) | inline MalType make_false() { function MalType (line 347) | inline MalType make_nil() { FILE: impls/c.2/types.h type mal_type_t (line 7) | enum mal_type_t { type MalType_s (line 25) | struct MalType_s type MalClosure_s (line 26) | struct MalClosure_s type pair_s (line 27) | struct pair_s type MalType (line 28) | typedef MalType(*function_t)(list); type Env (line 29) | typedef struct Env_s Env; type map (line 30) | struct map type vector (line 31) | struct vector type MalClosure_s (line 33) | struct MalClosure_s { type mal_type_t (line 81) | enum mal_type_t FILE: impls/c.2/vector.c type vector (line 8) | struct vector type vector (line 9) | struct vector function vector_append (line 14) | void vector_append(size_t* capacity, struct vector** v, MalType new_item) { function seq_cursor (line 23) | seq_cursor seq_iter(MalType container) { function seq_cont (line 34) | bool seq_cont(MalType container, seq_cursor position) { function seq_cursor (line 45) | seq_cursor seq_next(MalType container, seq_cursor position) { function MalType (line 57) | MalType seq_item(MalType container, seq_cursor position) { FILE: impls/c.2/vector.h type vector (line 9) | struct vector { type vector (line 14) | struct vector type vector (line 17) | struct vector type seq_cursor (line 23) | typedef union seq_cursor { FILE: impls/c/core.c function throw (line 16) | void throw(MalVal *obj) { function MalVal (line 23) | MalVal *equal_Q(MalVal *a, MalVal *b) { function MalVal (line 31) | MalVal *nil_Q(MalVal *seq) { return seq->type & MAL_NIL ? &mal_true : &m... function MalVal (line 32) | MalVal *true_Q(MalVal *seq) { return seq->type & MAL_TRUE ? &mal_true : ... function MalVal (line 33) | MalVal *false_Q(MalVal *seq) { return seq->type & MAL_FALSE ? &mal_true ... function MalVal (line 34) | MalVal *string_Q(MalVal *seq) { function MalVal (line 41) | MalVal *number_Q(MalVal *obj) { function MalVal (line 46) | MalVal *fn_Q(MalVal *obj) { function MalVal (line 52) | MalVal *macro_Q(MalVal *obj) { return obj->ismacro ? &mal_true : &mal_fa... function MalVal (line 58) | MalVal *symbol(MalVal *args) { function MalVal (line 65) | MalVal *symbol_Q(MalVal *seq) { function MalVal (line 71) | MalVal *keyword(MalVal *args) { function MalVal (line 81) | MalVal *keyword_Q(MalVal *seq) { function MalVal (line 92) | MalVal *pr_str(MalVal *args) { function MalVal (line 100) | MalVal *str(MalVal *args) { function MalVal (line 108) | MalVal *prn(MalVal *args) { function MalVal (line 119) | MalVal *println(MalVal *args) { function MalVal (line 128) | MalVal *mal_readline(MalVal *str) { function MalVal (line 135) | MalVal *read_string(MalVal *str) { type stat (line 142) | struct stat function MalVal (line 159) | MalVal *slurp(MalVal *path) { type timeval (line 181) | struct timeval function MalVal (line 216) | MalVal *dissoc(MalVal* args) { function MalVal (line 222) | MalVal *keys(MalVal *obj) { function MalVal (line 239) | MalVal *vals(MalVal *obj) { function MalVal (line 257) | MalVal *get(MalVal *obj, MalVal *key) { function MalVal (line 277) | MalVal *contains_Q(MalVal *obj, MalVal *key) { function MalVal (line 299) | MalVal *sequential_Q(MalVal *seq) { function MalVal (line 303) | MalVal *cons(MalVal *x, MalVal *seq) { function MalVal (line 316) | MalVal *concat(MalVal *args) { function MalVal (line 333) | MalVal *vec(MalVal *seq) { function MalVal (line 351) | MalVal *nth(MalVal *seq, MalVal *idx) { function MalVal (line 355) | MalVal *empty_Q(MalVal *seq) { function MalVal (line 361) | MalVal *count(MalVal *seq) { function MalVal (line 365) | MalVal *apply(MalVal *args) { function MalVal (line 386) | MalVal *map(MalVal *mvf, MalVal *lst) { function MalVal (line 411) | MalVal *sconj(MalVal *args) { function MalVal (line 435) | MalVal *seq(MalVal *obj) { function MalVal (line 470) | MalVal *with_meta(MalVal *obj, MalVal *meta) { function MalVal (line 476) | MalVal *meta(MalVal *obj) { function MalVal (line 490) | MalVal *atom(MalVal *val) { function MalVal (line 494) | MalVal *atom_Q(MalVal *exp) { return _atom_Q(exp) ? &mal_true : &mal_fal... function MalVal (line 496) | MalVal *deref(MalVal *atm) { function MalVal (line 502) | MalVal *reset_BANG(MalVal *atm, MalVal *val) { function MalVal (line 509) | MalVal *swap_BANG(MalVal *args) { FILE: impls/c/core.h type core_ns_entry (line 7) | typedef struct { FILE: impls/c/env.c function Env (line 6) | Env *new_env(Env *outer, MalVal* binds, MalVal *exprs) { function MalVal (line 38) | MalVal *env_get(Env *env, const char *key) { function env_set (line 49) | void env_set(Env *env, char *key, MalVal *val) { FILE: impls/c/interop.c function get_byte_size (line 14) | int get_byte_size(char *type) { type Raw64 (line 18) | typedef struct Raw64 { function ffi_type (line 28) | ffi_type *_get_ffi_type(char *type) { function MalVal (line 49) | MalVal *_malval_new_by_type(char *type) { function MalVal (line 74) | MalVal *invoke_native(MalVal *call_data) { FILE: impls/c/reader.c function Reader (line 15) | Reader *reader_new() { function reader_append (line 22) | int reader_append(Reader *reader, char* token) { function reader_free (line 39) | void reader_free(Reader *reader) { function Reader (line 48) | Reader *tokenize(char *line) { function MalVal (line 81) | MalVal *read_atom(Reader *reader) { function MalVal (line 131) | MalVal *read_list(Reader *reader, MalType type, char start, char end) { function MalVal (line 157) | MalVal *read_hash_map(Reader *reader) { function MalVal (line 166) | MalVal *read_form(Reader *reader) { function MalVal (line 249) | MalVal *read_str (char *str) { FILE: impls/c/reader.h type Reader (line 9) | typedef struct { FILE: impls/c/readline.c function load_history (line 17) | void load_history() { function append_to_history (line 40) | void append_to_history() { FILE: impls/c/step0_repl.c function main (line 28) | int main() FILE: impls/c/step1_read_print.c function MalVal (line 11) | MalVal *READ(char prompt[], char *str) { function MalVal (line 29) | MalVal *EVAL(MalVal *ast, GHashTable *env) { function MalVal (line 45) | MalVal *RE(GHashTable *env, char *prompt, char *str) { function main (line 56) | int main() FILE: impls/c/step2_eval.c function MalVal (line 14) | MalVal *READ(char prompt[], char *str) { function MalVal (line 32) | MalVal *EVAL(MalVal *ast, GHashTable *env) { function MalVal (line 92) | MalVal *RE(GHashTable *env, char *prompt, char *str) { FILE: impls/c/step3_env.c function MalVal (line 14) | MalVal *READ(char prompt[], char *str) { function MalVal (line 32) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 124) | MalVal *RE(Env *env, char *prompt, char *str) { FILE: impls/c/step4_if_fn_do.c function MalVal (line 15) | MalVal *READ(char prompt[], char *str) { function MalVal (line 33) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 161) | MalVal *RE(Env *env, char *prompt, char *str) { function init_repl_env (line 175) | void init_repl_env() { function main (line 189) | int main() FILE: impls/c/step5_tco.c function MalVal (line 15) | MalVal *READ(char prompt[], char *str) { function MalVal (line 33) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 174) | MalVal *RE(Env *env, char *prompt, char *str) { function init_repl_env (line 188) | void init_repl_env() { function main (line 202) | int main() FILE: impls/c/step6_file.c function MalVal (line 15) | MalVal *READ(char prompt[], char *str) { function MalVal (line 33) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 174) | MalVal *RE(Env *env, char *prompt, char *str) { function MalVal (line 188) | MalVal *do_eval(MalVal *ast) { return EVAL(ast, repl_env); } function init_repl_env (line 190) | void init_repl_env(int argc, char *argv[]) { function main (line 215) | int main(int argc, char *argv[]) FILE: impls/c/step7_quote.c function MalVal (line 16) | MalVal *READ(char prompt[], char *str) { function starts_with (line 34) | int starts_with(MalVal *ast, const char *sym) { function MalVal (line 41) | MalVal *qq_iter(GArray *xs) { function MalVal (line 54) | MalVal *quasiquote(MalVal *ast) { function MalVal (line 71) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 222) | MalVal *RE(Env *env, char *prompt, char *str) { function MalVal (line 236) | MalVal *do_eval(MalVal *ast) { return EVAL(ast, repl_env); } function init_repl_env (line 238) | void init_repl_env(int argc, char *argv[]) { function main (line 263) | int main(int argc, char *argv[]) FILE: impls/c/step8_macros.c function MalVal (line 16) | MalVal *READ(char prompt[], char *str) { function starts_with (line 34) | int starts_with(MalVal *ast, const char *sym) { function MalVal (line 41) | MalVal *qq_iter(GArray *xs) { function MalVal (line 54) | MalVal *quasiquote(MalVal *ast) { function MalVal (line 71) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 240) | MalVal *RE(Env *env, char *prompt, char *str) { function MalVal (line 254) | MalVal *do_eval(MalVal *ast) { return EVAL(ast, repl_env); } function init_repl_env (line 256) | void init_repl_env(int argc, char *argv[]) { function main (line 282) | int main(int argc, char *argv[]) FILE: impls/c/step9_try.c function MalVal (line 17) | MalVal *READ(char prompt[], char *str) { function starts_with (line 35) | int starts_with(MalVal *ast, const char *sym) { function MalVal (line 42) | MalVal *qq_iter(GArray *xs) { function MalVal (line 55) | MalVal *quasiquote(MalVal *ast) { function MalVal (line 72) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 265) | MalVal *RE(Env *env, char *prompt, char *str) { function MalVal (line 279) | MalVal *do_eval(MalVal *ast) { return EVAL(ast, repl_env); } function init_repl_env (line 281) | void init_repl_env(int argc, char *argv[]) { function main (line 307) | int main(int argc, char *argv[]) FILE: impls/c/stepA_mal.c function MalVal (line 17) | MalVal *READ(char prompt[], char *str) { function starts_with (line 35) | int starts_with(MalVal *ast, const char *sym) { function MalVal (line 42) | MalVal *qq_iter(GArray *xs) { function MalVal (line 55) | MalVal *quasiquote(MalVal *ast) { function MalVal (line 72) | MalVal *EVAL(MalVal *ast, Env *env) { function MalVal (line 271) | MalVal *RE(Env *env, char *prompt, char *str) { function MalVal (line 285) | MalVal *do_eval(MalVal *ast) { return EVAL(ast, repl_env); } function init_repl_env (line 287) | void init_repl_env(int argc, char *argv[]) { function main (line 314) | int main(int argc, char *argv[]) FILE: impls/c/types.c function nop_free (line 9) | void nop_free(void* ptr) { function GC_setup (line 22) | void GC_setup() { function _error (line 43) | void _error(const char *fmt, ...) { function g_hash_table_print (line 60) | void g_hash_table_print(GHashTable *hash_table) { function GHashTable (line 71) | GHashTable *g_hash_table_copy(GHashTable *src_table) { function min (line 83) | int min(int a, int b) { return a < b ? a : b; } function max (line 84) | int max(int a, int b) { return a > b ? a : b; } function _count (line 86) | int _count(MalVal *obj) { function MalVal (line 100) | MalVal *malval_new(MalType type, MalVal *metadata) { function malval_free (line 107) | void malval_free(MalVal *mv) { function MalVal (line 114) | MalVal *malval_new_integer(gint64 val) { function MalVal (line 120) | MalVal *malval_new_float(gdouble val) { function MalVal (line 126) | MalVal *malval_new_string(char *val) { function MalVal (line 132) | MalVal *malval_new_symbol(char *val) { function MalVal (line 138) | MalVal *malval_new_keyword(char *val) { function MalVal (line 144) | MalVal *malval_new_list(MalType type, GArray *val) { function MalVal (line 150) | MalVal *malval_new_hash_map(GHashTable *val) { function MalVal (line 156) | MalVal *malval_new_atom(MalVal *val) { function MalVal (line 163) | MalVal *malval_new_function(void *(*func)(void *), int arg_cnt) { function MalVal (line 227) | MalVal *_apply(MalVal *f, MalVal *args) { function _equal_Q (line 300) | int _equal_Q(MalVal *a, MalVal *b) { function MalVal (line 368) | MalVal *_listX(int count, ...) { function MalVal (line 383) | MalVal *_list(MalVal *args) { function _list_Q (line 390) | int _list_Q(MalVal *seq) { function MalVal (line 396) | MalVal *_vector(MalVal *args) { function _vector_Q (line 403) | int _vector_Q(MalVal *seq) { function MalVal (line 409) | MalVal *_hash_map(MalVal *args) { function _hash_map_Q (line 417) | int _hash_map_Q(MalVal *seq) { function MalVal (line 421) | MalVal *_assoc_BANG(MalVal* hm, MalVal *args) { function MalVal (line 437) | MalVal *_dissoc_BANG(MalVal* hm, MalVal *args) { function _atom_Q (line 452) | int _atom_Q(MalVal *exp) { function MalVal (line 458) | MalVal *_slice(MalVal *seq, int start, int end) { function _sequential_Q (line 470) | int _sequential_Q(MalVal *seq) { function MalVal (line 474) | MalVal *_nth(MalVal *seq, int idx) { function MalVal (line 483) | MalVal *_first(MalVal *seq) { function MalVal (line 492) | MalVal *_last(MalVal *seq) { function MalVal (line 502) | MalVal *_rest(MalVal *seq) { function MalVal (line 507) | MalVal *_map2(MalVal *(*func)(void*, void*), MalVal *lst, void *arg2) { FILE: impls/c/types.h type MalVal (line 27) | struct MalVal type Env (line 32) | typedef struct Env { type MalVal (line 37) | struct MalVal type MalVal (line 37) | struct MalVal type MalVal (line 38) | struct MalVal type MalVal (line 40) | struct MalVal type MalVal (line 50) | struct MalVal type MalType (line 69) | typedef enum { type MalVal (line 85) | typedef struct MalVal { FILE: impls/cpp/Core.cpp function installCore (line 536) | void installCore(malEnvPtr env) { function String (line 543) | static String printValues(malValueIter begin, malValueIter end, FILE: impls/cpp/Environment.cpp function malEnvPtr (line 38) | malEnvPtr malEnv::find(const String& symbol) function malValuePtr (line 48) | malValuePtr malEnv::get(const String& symbol) function malValuePtr (line 59) | malValuePtr malEnv::set(const String& symbol, malValuePtr value) function malEnvPtr (line 65) | malEnvPtr malEnv::getRoot() FILE: impls/cpp/Environment.h function class (line 8) | class malEnv : public RefCounted { FILE: impls/cpp/MAL.h type RefCountedPtr (line 12) | typedef RefCountedPtr malValuePtr; type std (line 13) | typedef std::vector malValueVec; type malValueVec (line 14) | typedef malValueVec::iterator malValueIter; type RefCountedPtr (line 17) | typedef RefCountedPtr malEnvPtr; FILE: impls/cpp/ReadLine.h function class (line 6) | class ReadLine { FILE: impls/cpp/Reader.cpp class Tokeniser (line 19) | class Tokeniser method String (line 24) | String peek() const { method String (line 29) | String next() { method eof (line 36) | bool eof() const { function malValuePtr (line 121) | malValuePtr readStr(const String& input) function malValuePtr (line 130) | static malValuePtr readForm(Tokeniser& tokeniser) function malValuePtr (line 159) | static malValuePtr readAtom(Tokeniser& tokeniser) function readList (line 212) | static void readList(Tokeniser& tokeniser, malValueVec* items, function malValuePtr (line 225) | static malValuePtr processMacro(Tokeniser& tokeniser, const String& symbol) FILE: impls/cpp/RefCountedPtr.h function class (line 8) | class RefCounted { function m_object (line 32) | RefCountedPtr(const RefCountedPtr& rhs) : m_object(0) function operator (line 40) | bool operator == (const RefCountedPtr& rhs) const { function operator (line 44) | bool operator != (const RefCountedPtr& rhs) const { function T (line 57) | T* ptr() const { return m_object; } function release (line 68) | void release() { FILE: impls/cpp/StaticList.h function Iterator (line 11) | Iterator begin() { return Iterator(m_head); } function Iterator (line 12) | Iterator end() { return Iterator(NULL); } function class (line 14) | class Node { function class (line 27) | class Iterator { FILE: impls/cpp/String.cpp function String (line 10) | String stringPrintf(const char* fmt, ...) { function String (line 31) | String copyAndFree(char* mallocedString) function String (line 38) | String escape(const String& in) function unescape (line 57) | static char unescape(char c) function String (line 67) | String unescape(const String& in) FILE: impls/cpp/String.h type std (line 7) | typedef std::string String; type std (line 8) | typedef std::vector StringVec; FILE: impls/cpp/Types.cpp type mal (line 9) | namespace mal { function malValuePtr (line 10) | malValuePtr atom(malValuePtr value) { function malValuePtr (line 14) | malValuePtr boolean(bool value) { function malValuePtr (line 18) | malValuePtr builtin(const String& name, malBuiltIn::ApplyFunc handler) { function malValuePtr (line 22) | malValuePtr falseValue() { function malValuePtr (line 28) | malValuePtr hash(const malHash::Map& map) { function malValuePtr (line 32) | malValuePtr hash(malValueIter argsBegin, malValueIter argsEnd, function malValuePtr (line 37) | malValuePtr integer(int64_t value) { function malValuePtr (line 41) | malValuePtr integer(const String& token) { function malValuePtr (line 45) | malValuePtr keyword(const String& token) { function malValuePtr (line 49) | malValuePtr lambda(const StringVec& bindings, function malValuePtr (line 54) | malValuePtr list(malValueVec* items) { function malValuePtr (line 58) | malValuePtr list(malValueIter begin, malValueIter end) { function malValuePtr (line 62) | malValuePtr list(malValuePtr a) { function malValuePtr (line 68) | malValuePtr list(malValuePtr a, malValuePtr b) { function malValuePtr (line 75) | malValuePtr list(malValuePtr a, malValuePtr b, malValuePtr c) { function malValuePtr (line 83) | malValuePtr macro(const malLambda& lambda) { function malValuePtr (line 87) | malValuePtr nilValue() { function malValuePtr (line 92) | malValuePtr string(const String& token) { function malValuePtr (line 96) | malValuePtr symbol(const String& token) { function malValuePtr (line 100) | malValuePtr trueValue() { function malValuePtr (line 105) | malValuePtr vector(malValueVec* items) { function malValuePtr (line 109) | malValuePtr vector(malValueIter begin, malValueIter end) { function malValuePtr (line 114) | malValuePtr malBuiltIn::apply(malValueIter argsBegin, function String (line 120) | static String makeHashKey(malValuePtr key) function addToMap (line 131) | static malHash::Map addToMap(malHash::Map& map, function createMap (line 143) | static malHash::Map createMap(malValueIter argsBegin, malValueIter argsEnd) function malValuePtr (line 166) | malValuePtr function malValuePtr (line 182) | malValuePtr function malValuePtr (line 193) | malValuePtr malHash::eval(malEnvPtr env) function malValuePtr (line 206) | malValuePtr malHash::get(malValuePtr key) const function malValuePtr (line 212) | malValuePtr malHash::keys() const function malValuePtr (line 227) | malValuePtr malHash::values() const function String (line 237) | String malHash::print(bool readably) const function malValuePtr (line 303) | malValuePtr malLambda::apply(malValueIter argsBegin, function malValuePtr (line 309) | malValuePtr malLambda::doWithMeta(malValuePtr meta) const function malEnvPtr (line 314) | malEnvPtr malLambda::makeEnv(malValueIter argsBegin, malValueIter argsEn... function malValuePtr (line 319) | malValuePtr malList::conj(malValueIter argsBegin, function malValuePtr (line 332) | malValuePtr malList::eval(malEnvPtr env) function String (line 346) | String malList::print(bool readably) const function malValuePtr (line 351) | malValuePtr malValue::eval(malEnvPtr env) function malValuePtr (line 373) | malValuePtr malValue::meta() const function malValuePtr (line 378) | malValuePtr malValue::withMeta(malValuePtr meta) const function malValueVec (line 425) | malValueVec* malSequence::evalItems(malEnvPtr env) const function malValuePtr (line 435) | malValuePtr malSequence::first() const function String (line 440) | String malSequence::print(bool readably) const function malValuePtr (line 456) | malValuePtr malSequence::rest() const function String (line 462) | String malString::escapedValue() const function String (line 467) | String malString::print(bool readably) const function malValuePtr (line 472) | malValuePtr malSymbol::eval(malEnvPtr env) function malValuePtr (line 477) | malValuePtr malVector::conj(malValueIter argsBegin, function malValuePtr (line 490) | malValuePtr malVector::eval(malEnvPtr env) function String (line 495) | String malVector::print(bool readably) const FILE: impls/cpp/Types.h function class (line 9) | class malEmptyInputException : public std::exception { } function class (line 11) | class malValue : public RefCounted { function class (line 76) | class malInteger : public malValue { function virtual (line 88) | virtual bool doIsEqualTo(const malValue* rhs) const { function class (line 98) | class malStringBase : public malValue { function class (line 113) | class malString : public malStringBase { function class (line 131) | class malKeyword : public malStringBase { function class (line 145) | class malSymbol : public malStringBase { function malValuePtr (line 173) | malValuePtr item(int index) const { return (*m_items)[index]; } function malValuePtr (line 183) | malValuePtr first() const; function class (line 207) | class malVector : public malSequence { function class (line 224) | class malApplicable : public malValue { function class (line 233) | class malHash : public malValue { function namespace (line 348) | namespace mal { FILE: impls/cpp/Validation.cpp function checkArgsIs (line 3) | int checkArgsIs(const char* name, int expected, int got) function checkArgsBetween (line 11) | int checkArgsBetween(const char* name, int min, int max, int got) function checkArgsAtLeast (line 19) | int checkArgsAtLeast(const char* name, int min, int got) function checkArgsEven (line 27) | int checkArgsEven(const char* name, int got) FILE: impls/cpp/step0_repl.cpp function main (line 14) | int main(int argc, char* argv[]) function String (line 24) | String rep(const String& input) function String (line 29) | String READ(const String& input) function String (line 34) | String EVAL(const String& ast) function String (line 39) | String PRINT(const String& ast) FILE: impls/cpp/step1_read_print.cpp function main (line 17) | int main(int argc, char* argv[]) function String (line 37) | static String rep(const String& input) function malValuePtr (line 42) | malValuePtr READ(const String& input) function malValuePtr (line 47) | static malValuePtr EVAL(malValuePtr ast) function String (line 52) | String PRINT(malValuePtr ast) function malValuePtr (line 58) | malValuePtr EVAL(malValuePtr ast, malEnvPtr) function malValuePtr (line 63) | malValuePtr APPLY(malValuePtr ast, malValueIter, malValueIter) FILE: impls/cpp/step2_eval.cpp function main (line 17) | int main(int argc, char* argv[]) function String (line 42) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 47) | malValuePtr READ(const String& input) function malValuePtr (line 52) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 59) | String PRINT(malValuePtr ast) function malValuePtr (line 64) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function malValuePtr (line 82) | static malValuePtr builtIn_add(const String& name, function malValuePtr (line 91) | static malValuePtr builtIn_sub(const String& name, function malValuePtr (line 103) | static malValuePtr builtIn_mul(const String& name, function malValuePtr (line 112) | static malValuePtr builtIn_div(const String& name, FILE: impls/cpp/step3_env.cpp function main (line 17) | int main(int argc, char* argv[]) function String (line 38) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 43) | malValuePtr READ(const String& input) function malValuePtr (line 48) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 97) | String PRINT(malValuePtr ast) function malValuePtr (line 102) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function malValuePtr (line 112) | malValuePtr readline(const String& prompt) FILE: impls/cpp/step4_if_fn_do.cpp function main (line 18) | int main(int argc, char* argv[]) function String (line 40) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 45) | malValuePtr READ(const String& input) function malValuePtr (line 50) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 139) | String PRINT(malValuePtr ast) function malValuePtr (line 144) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function installFunctions (line 157) | static void installFunctions(malEnvPtr env) { function malValuePtr (line 164) | malValuePtr readline(const String& prompt) FILE: impls/cpp/step5_tco.cpp function main (line 18) | int main(int argc, char* argv[]) function String (line 40) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 45) | malValuePtr READ(const String& input) function malValuePtr (line 50) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 146) | String PRINT(malValuePtr ast) function malValuePtr (line 151) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function installFunctions (line 164) | static void installFunctions(malEnvPtr env) { function malValuePtr (line 171) | malValuePtr readline(const String& prompt) FILE: impls/cpp/step6_file.cpp function main (line 21) | int main(int argc, char* argv[]) function String (line 41) | static String safeRep(const String& input, malEnvPtr env) function makeArgv (line 54) | static void makeArgv(malEnvPtr env, int argc, char* argv[]) function String (line 63) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 68) | malValuePtr READ(const String& input) function malValuePtr (line 73) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 169) | String PRINT(malValuePtr ast) function malValuePtr (line 174) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function installFunctions (line 189) | static void installFunctions(malEnvPtr env) { function malValuePtr (line 196) | malValuePtr readline(const String& prompt) FILE: impls/cpp/step7_quote.cpp function main (line 22) | int main(int argc, char* argv[]) function String (line 42) | static String safeRep(const String& input, malEnvPtr env) function makeArgv (line 55) | static void makeArgv(malEnvPtr env, int argc, char* argv[]) function String (line 64) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 69) | malValuePtr READ(const String& input) function malValuePtr (line 74) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 181) | String PRINT(malValuePtr ast) function malValuePtr (line 186) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function isSymbol (line 195) | static bool isSymbol(malValuePtr obj, const String& text) function malValuePtr (line 202) | static malValuePtr starts_with(const malValuePtr ast, const char* sym) function malValuePtr (line 211) | static malValuePtr quasiquote(malValuePtr obj) function installFunctions (line 244) | static void installFunctions(malEnvPtr env) { function malValuePtr (line 251) | malValuePtr readline(const String& prompt) FILE: impls/cpp/step8_macros.cpp function main (line 23) | int main(int argc, char* argv[]) function String (line 43) | static String safeRep(const String& input, malEnvPtr env) function makeArgv (line 56) | static void makeArgv(malEnvPtr env, int argc, char* argv[]) function String (line 65) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 70) | malValuePtr READ(const String& input) function malValuePtr (line 75) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 196) | String PRINT(malValuePtr ast) function malValuePtr (line 201) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function isSymbol (line 210) | static bool isSymbol(malValuePtr obj, const String& text) function malValuePtr (line 217) | static malValuePtr starts_with(const malValuePtr ast, const char* sym) function malValuePtr (line 226) | static malValuePtr quasiquote(malValuePtr obj) function installFunctions (line 260) | static void installFunctions(malEnvPtr env) { function malValuePtr (line 267) | malValuePtr readline(const String& prompt) FILE: impls/cpp/step9_try.cpp function main (line 23) | int main(int argc, char* argv[]) function String (line 43) | static String safeRep(const String& input, malEnvPtr env) function makeArgv (line 59) | static void makeArgv(malEnvPtr env, int argc, char* argv[]) function String (line 68) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 73) | malValuePtr READ(const String& input) function malValuePtr (line 78) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 245) | String PRINT(malValuePtr ast) function malValuePtr (line 250) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function isSymbol (line 259) | static bool isSymbol(malValuePtr obj, const String& text) function malValuePtr (line 266) | static malValuePtr starts_with(const malValuePtr ast, const char* sym) function malValuePtr (line 275) | static malValuePtr quasiquote(malValuePtr obj) function installFunctions (line 309) | static void installFunctions(malEnvPtr env) { function malValuePtr (line 316) | malValuePtr readline(const String& prompt) FILE: impls/cpp/stepA_mal.cpp function main (line 23) | int main(int argc, char* argv[]) function String (line 44) | static String safeRep(const String& input, malEnvPtr env) function makeArgv (line 60) | static void makeArgv(malEnvPtr env, int argc, char* argv[]) function String (line 69) | String rep(const String& input, malEnvPtr env) function malValuePtr (line 74) | malValuePtr READ(const String& input) function malValuePtr (line 79) | malValuePtr EVAL(malValuePtr ast, malEnvPtr env) function String (line 246) | String PRINT(malValuePtr ast) function malValuePtr (line 251) | malValuePtr APPLY(malValuePtr op, malValueIter argsBegin, malValueIter a... function isSymbol (line 260) | static bool isSymbol(malValuePtr obj, const String& text) function malValuePtr (line 267) | static malValuePtr starts_with(const malValuePtr ast, const char* sym) function malValuePtr (line 276) | static malValuePtr quasiquote(malValuePtr obj) function installFunctions (line 311) | static void installFunctions(malEnvPtr env) { function malValuePtr (line 318) | malValuePtr readline(const String& prompt) FILE: impls/cs/core.cs class core (line 16) | public class core { FILE: impls/cs/env.cs class env (line 8) | public class env { class Env (line 9) | public class Env { method Env (line 13) | public Env(Env outer) { method Env (line 16) | public Env(Env outer, MalList binds, MalList exprs) { method get (line 29) | public MalVal get(string key) { method set (line 39) | public Env set(MalSymbol key, MalVal value) { FILE: impls/cs/getline.cs class LineEditor (line 35) | public class LineEditor { class Completion (line 37) | public class Completion { method Completion (line 41) | public Completion (string prefix, string [] result) type Handler (line 99) | struct Handler { method Handler (line 103) | public Handler (ConsoleKey key, KeyHandler h) method Handler (line 109) | public Handler (char c, KeyHandler h) method Handler (line 116) | public Handler (ConsoleKeyInfo cki, KeyHandler h) method Control (line 122) | public static Handler Control (char c, KeyHandler h) method Alt (line 127) | public static Handler Alt (char c, ConsoleKey k, KeyHandler h) method LineEditor (line 150) | public LineEditor (string name) : this (name, 10) { } method LineEditor (line 152) | public LineEditor (string name, int histsize) method CmdDebug (line 201) | void CmdDebug () method Render (line 208) | void Render () method UpdateHomeRow (line 226) | void UpdateHomeRow (int screenpos) method RenderFrom (line 236) | void RenderFrom (int pos) method ComputeRendered (line 253) | void ComputeRendered () method TextToRenderPos (line 271) | int TextToRenderPos (int pos) method TextToScreenPos (line 292) | int TextToScreenPos (int pos) method ForceCursor (line 308) | void ForceCursor (int newpos) method UpdateCursor (line 324) | void UpdateCursor (int newpos) method InsertChar (line 332) | void InsertChar (char c) method CmdDone (line 352) | void CmdDone () method CmdTabOrComplete (line 357) | void CmdTabOrComplete () method CmdHome (line 422) | void CmdHome () method CmdEnd (line 427) | void CmdEnd () method CmdLeft (line 432) | void CmdLeft () method CmdBackwardWord (line 440) | void CmdBackwardWord () method CmdForwardWord (line 448) | void CmdForwardWord () method CmdRight (line 456) | void CmdRight () method RenderAfter (line 464) | void RenderAfter (int p) method CmdBackspace (line 471) | void CmdBackspace () method CmdDeleteChar (line 481) | void CmdDeleteChar () method WordForward (line 498) | int WordForward (int p) method WordBackward (line 524) | int WordBackward (int p) method CmdDeleteWord (line 556) | void CmdDeleteWord () method CmdDeleteBackword (line 575) | void CmdDeleteBackword () method HistoryUpdateLine (line 596) | void HistoryUpdateLine () method CmdHistoryPrev (line 601) | void CmdHistoryPrev () method CmdHistoryNext (line 611) | void CmdHistoryNext () method CmdKillToEOF (line 621) | void CmdKillToEOF () method CmdYank (line 629) | void CmdYank () method InsertTextAtCursor (line 634) | void InsertTextAtCursor (string str) method SetSearchPrompt (line 652) | void SetSearchPrompt (string s) method ReverseSearch (line 657) | void ReverseSearch () method CmdReverseSearch (line 695) | void CmdReverseSearch () method SearchAppend (line 717) | void SearchAppend (char c) method CmdRefresh (line 734) | void CmdRefresh () method InterruptEdit (line 742) | void InterruptEdit (object sender, ConsoleCancelEventArgs a) method HandleChar (line 751) | void HandleChar (char c) method EditLoop (line 759) | void EditLoop () method InitText (line 806) | void InitText (string initial) method SetText (line 815) | void SetText (string newtext) method SetPrompt (line 821) | void SetPrompt (string newprompt) method Edit (line 829) | public string Edit (string prompt, string initial) method SaveHistory (line 873) | public void SaveHistory () class History (line 886) | class History { method History (line 892) | public History (string app, int size) method Close (line 927) | public void Close () method Append (line 948) | public void Append (string s) method Update (line 965) | public void Update (string s) method RemoveLast (line 970) | public void RemoveLast () method Accept (line 977) | public void Accept (string s) method PreviousAvailable (line 986) | public bool PreviousAvailable () method NextAvailable (line 1001) | public bool NextAvailable () method Previous (line 1016) | public string Previous () method Next (line 1028) | public string Next () method CursorToEnd (line 1037) | public void CursorToEnd () method Dump (line 1045) | public void Dump () method SearchBackward (line 1054) | public string SearchBackward (string term) class Demo (line 1075) | class Demo { method Main (line 1076) | static void Main () FILE: impls/cs/interop.cs class EvalProvider (line 8) | public static class EvalProvider method CreateEvalMethod (line 10) | public static Func CreateEvalMethod(string cod... method GetUsing (line 56) | private static string GetUsing(HashSet usingStatements) FILE: impls/cs/printer.cs class printer (line 9) | public class printer { method join (line 10) | public static string join(List value, method join (line 19) | public static string join(Dictionary value, method _pr_str (line 35) | public static string _pr_str(MalVal mv, bool print_readably) { method _pr_str_args (line 39) | public static string _pr_str_args(MalList args, String sep, method escapeString (line 44) | public static string escapeString(string str) { FILE: impls/cs/reader.cs class reader (line 15) | public class reader { class ParseError (line 16) | public class ParseError : MalThrowable { method ParseError (line 17) | public ParseError(string msg) : base(msg) { } class Reader (line 20) | public class Reader { method Reader (line 23) | public Reader(List t) { method peek (line 28) | public string peek() { method next (line 35) | public string next() { method tokenize (line 40) | public static List tokenize(string str) { method read_atom (line 54) | public static MalVal read_atom(Reader rdr) { method read_list (line 90) | public static MalVal read_list(Reader rdr, MalList lst, char start, ch... method read_hash_map (line 108) | public static MalVal read_hash_map(Reader rdr) { method read_form (line 114) | public static MalVal read_form(Reader rdr) { method read_str (line 155) | public static MalVal read_str(string str) { FILE: impls/cs/readline.cs class readline (line 5) | public class readline { type Mode (line 6) | public enum Mode { Terminal, Raw }; method Readline (line 11) | public static string Readline(string prompt) { FILE: impls/cs/step0_repl.cs class step0_repl (line 6) | class step0_repl { method READ (line 8) | static string READ(string str) { method EVAL (line 13) | static string EVAL(string ast, string env) { method PRINT (line 18) | static string PRINT(string exp) { method RE (line 23) | static string RE(string env, string str) { method Main (line 27) | static void Main(string[] args) { FILE: impls/cs/step1_read_print.cs class step1_read_print (line 7) | class step1_read_print { method READ (line 9) | static MalVal READ(string str) { method EVAL (line 14) | static MalVal EVAL(MalVal ast, string env) { method PRINT (line 19) | static string PRINT(MalVal exp) { method Main (line 24) | static void Main(string[] args) { FILE: impls/cs/step2_eval.cs class step2_eval (line 15) | class step2_eval { method READ (line 17) | static MalVal READ(string str) { method EVAL (line 22) | static MalVal EVAL(MalVal orig_ast, Dictionary env) { method PRINT (line 63) | static string PRINT(MalVal exp) { method Main (line 68) | static void Main(string[] args) { FILE: impls/cs/step3_env.cs class step3_env (line 16) | class step3_env { method READ (line 18) | static MalVal READ(string str) { method EVAL (line 23) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 92) | static string PRINT(MalVal exp) { method Main (line 97) | static void Main(string[] args) { FILE: impls/cs/step4_if_fn_do.cs class step4_if_fn_do (line 16) | class step4_if_fn_do { method READ (line 18) | static MalVal READ(string str) { method EVAL (line 23) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 117) | static string PRINT(MalVal exp) { method Main (line 122) | static void Main(string[] args) { FILE: impls/cs/step5_tco.cs class step5_tco (line 16) | class step5_tco { method READ (line 18) | static MalVal READ(string str) { method EVAL (line 23) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 130) | static string PRINT(MalVal exp) { method Main (line 135) | static void Main(string[] args) { FILE: impls/cs/step6_file.cs class step6_file (line 17) | class step6_file { method READ (line 19) | static MalVal READ(string str) { method EVAL (line 24) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 131) | static string PRINT(MalVal exp) { method Main (line 136) | static void Main(string[] args) { FILE: impls/cs/step7_quote.cs class step7_quote (line 17) | class step7_quote { method READ (line 19) | static MalVal READ(string str) { method starts_with (line 24) | public static bool starts_with(MalVal ast, string sym) { method qq_loop (line 35) | public static MalVal qq_loop(MalList ast) { method quasiquote (line 47) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 62) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 174) | static string PRINT(MalVal exp) { method Main (line 179) | static void Main(string[] args) { FILE: impls/cs/step8_macros.cs class step8_macros (line 17) | class step8_macros { method READ (line 19) | static MalVal READ(string str) { method starts_with (line 24) | public static bool starts_with(MalVal ast, string sym) { method qq_loop (line 35) | public static MalVal qq_loop(MalList ast) { method quasiquote (line 47) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 62) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 186) | static string PRINT(MalVal exp) { method Main (line 191) | static void Main(string[] args) { FILE: impls/cs/step9_try.cs class step9_try (line 17) | class step9_try { method READ (line 19) | static MalVal READ(string str) { method starts_with (line 24) | public static bool starts_with(MalVal ast, string sym) { method qq_loop (line 35) | public static MalVal qq_loop(MalList ast) { method quasiquote (line 47) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 62) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 207) | static string PRINT(MalVal exp) { method Main (line 212) | static void Main(string[] args) { FILE: impls/cs/stepA_mal.cs class stepA_mal (line 17) | class stepA_mal { method READ (line 19) | static MalVal READ(string str) { method starts_with (line 24) | public static bool starts_with(MalVal ast, string sym) { method qq_loop (line 35) | public static MalVal qq_loop(MalList ast) { method quasiquote (line 47) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 62) | static MalVal EVAL(MalVal orig_ast, Env env) { method PRINT (line 207) | static string PRINT(MalVal exp) { method Main (line 212) | static void Main(string[] args) { FILE: impls/cs/types.cs class types (line 6) | public class types { class MalThrowable (line 10) | public class MalThrowable : Exception { method MalThrowable (line 11) | public MalThrowable() : base() { } method MalThrowable (line 12) | public MalThrowable(string msg) : base(msg) { } class MalError (line 14) | public class MalError : MalThrowable { method MalError (line 15) | public MalError(string msg) :base(msg) { } class MalContinue (line 17) | public class MalContinue : MalThrowable { } class MalException (line 20) | public class MalException : MalThrowable { method MalException (line 23) | public MalException(MalVal value) { method MalException (line 26) | public MalException(string value) :base(value) { method getValue (line 29) | public MalVal getValue() { return value; } method _equal_Q (line 36) | public static bool _equal_Q(MalVal a, MalVal b) { class MalVal (line 81) | public abstract class MalVal { method copy (line 83) | public virtual MalVal copy() { method ToString (line 88) | public virtual string ToString(bool print_readably) { method getMeta (line 91) | public MalVal getMeta() { return meta; } method setMeta (line 92) | public MalVal setMeta(MalVal m) { meta = m; return this; } method list_Q (line 93) | public virtual bool list_Q() { return false; } class MalConstant (line 96) | public class MalConstant : MalVal { method MalConstant (line 98) | public MalConstant(string name) { value = name; } method copy (line 99) | public new MalConstant copy() { return this; } method ToString (line 101) | public override string ToString() { method ToString (line 104) | public override string ToString(bool print_readably) { class MalInt (line 113) | public class MalInt : MalVal { method MalInt (line 115) | public MalInt(Int64 v) { value = v; } method copy (line 116) | public new MalInt copy() { return this; } method getValue (line 118) | public Int64 getValue() { return value; } method ToString (line 119) | public override string ToString() { method ToString (line 122) | public override string ToString(bool print_readably) { class MalSymbol (line 151) | public class MalSymbol : MalVal { method MalSymbol (line 153) | public MalSymbol(string v) { value = v; } method MalSymbol (line 154) | public MalSymbol(MalString v) { value = v.getValue(); } method copy (line 155) | public new MalSymbol copy() { return this; } method getName (line 157) | public string getName() { return value; } method ToString (line 158) | public override string ToString() { method ToString (line 161) | public override string ToString(bool print_readably) { class MalString (line 166) | public class MalString : MalVal { method MalString (line 168) | public MalString(string v) { value = v; } method copy (line 169) | public new MalString copy() { return this; } method getValue (line 171) | public string getValue() { return value; } method ToString (line 172) | public override string ToString() { method ToString (line 175) | public override string ToString(bool print_readably) { class MalList (line 190) | public class MalList : MalVal { method MalList (line 193) | public MalList() { method MalList (line 196) | public MalList(List val) { method MalList (line 199) | public MalList(params MalVal[] mvs) { method getValue (line 204) | public List getValue() { return value; } method list_Q (line 205) | public override bool list_Q() { return true; } method ToString (line 207) | public override string ToString() { method ToString (line 210) | public override string ToString(bool print_readably) { method conj_BANG (line 214) | public MalList conj_BANG(params MalVal[] mvs) { method size (line 221) | public int size() { return value.Count; } method nth (line 222) | public MalVal nth(int idx) { method rest (line 228) | public MalList rest() { method slice (line 235) | public virtual MalList slice(int start) { method slice (line 238) | public virtual MalList slice(int start, int end) { class MalVector (line 244) | public class MalVector : MalList { method MalVector (line 246) | public MalVector() :base() { method MalVector (line 250) | public MalVector(List val) method list_Q (line 256) | public override bool list_Q() { return false; } method slice (line 258) | public override MalList slice(int start, int end) { class MalHashMap (line 264) | public class MalHashMap : MalVal { method MalHashMap (line 266) | public MalHashMap(Dictionary val) { method MalHashMap (line 269) | public MalHashMap(MalList lst) { method copy (line 273) | public new MalHashMap copy() { method getValue (line 279) | public Dictionary getValue() { return value; } method ToString (line 281) | public override string ToString() { method ToString (line 284) | public override string ToString(bool print_readably) { method assoc_BANG (line 288) | public MalHashMap assoc_BANG(MalList lst) { method dissoc_BANG (line 295) | public MalHashMap dissoc_BANG(MalList lst) { class MalAtom (line 303) | public class MalAtom : MalVal { method MalAtom (line 305) | public MalAtom(MalVal value) { this.value = value; } method getValue (line 307) | public MalVal getValue() { return value; } method setValue (line 308) | public MalVal setValue(MalVal value) { return this.value = value; } method ToString (line 309) | public override string ToString() { method ToString (line 312) | public override string ToString(Boolean print_readably) { class MalFunc (line 317) | public class MalFunc : MalVal { method MalFunc (line 323) | public MalFunc(Func fn) { method MalFunc (line 326) | public MalFunc(MalVal ast, Mal.env.Env env, MalList fparams, method ToString (line 334) | public override string ToString() { method apply (line 343) | public MalVal apply(MalList args) { method getAst (line 347) | public MalVal getAst() { return ast; } method getEnv (line 348) | public Mal.env.Env getEnv() { return env; } method getFParams (line 349) | public MalList getFParams() { return fparams; } method genEnv (line 350) | public Mal.env.Env genEnv(MalList args) { method isMacro (line 353) | public bool isMacro() { return macro; } method setMacro (line 354) | public void setMacro() { macro = true; } FILE: impls/dart/env.dart class Env (line 3) | class Env { method set (line 24) | void set(String key, MalType value) method get (line 28) | MalType get(String key) class NotFoundException (line 40) | class NotFoundException implements Exception { method toString (line 46) | String toString() FILE: impls/dart/printer.dart function pr_str (line 3) | String pr_str(MalType data, {bool print_readably: true}) FILE: impls/dart/reader.dart class Reader (line 8) | class Reader { method next (line 14) | String next() method peek (line 20) | String peek() class ParseException (line 26) | class ParseException implements Exception { class NoInputException (line 32) | class NoInputException implements Exception {} function read_str (line 34) | MalType read_str(String code) function tokenizer (line 43) | List tokenizer(String code) function read_form (line 51) | MalType read_form(Reader reader) function read_sequence (line 91) | List read_sequence(Reader reader, String open, String close) function read_atom (line 111) | MalType read_atom(Reader reader) FILE: impls/dart/step0_repl.dart function READ (line 3) | String READ(String x) function EVAL (line 5) | String EVAL(String x) function PRINT (line 7) | String PRINT(String x) function rep (line 9) | String rep(String x) function main (line 12) | main() FILE: impls/dart/step1_read_print.dart function READ (line 7) | MalType READ(String x) function EVAL (line 9) | MalType EVAL(MalType x) function PRINT (line 11) | String PRINT(MalType x) function rep (line 13) | String rep(String x) function main (line 18) | main() FILE: impls/dart/step2_eval.dart function READ (line 30) | MalType READ(String x) class NotFoundException (line 32) | class NotFoundException implements Exception { function EVAL (line 39) | MalType EVAL(MalType ast, Map env) function PRINT (line 72) | String PRINT(MalType x) function rep (line 74) | String rep(String x) function main (line 79) | main() FILE: impls/dart/step3_env.dart function setupEnv (line 10) | void setupEnv() function READ (line 33) | MalType READ(String x) function EVAL (line 35) | MalType EVAL(MalType ast, Env env) function pairs (line 76) | Iterable> pairs(List elements) function PRINT (line 98) | String PRINT(MalType x) function rep (line 100) | String rep(String x) function main (line 105) | main() FILE: impls/dart/step4_if_fn_do.dart function setupEnv (line 11) | void setupEnv() function READ (line 17) | MalType READ(String x) function EVAL (line 19) | MalType EVAL(MalType ast, Env env) function pairs (line 60) | Iterable> pairs(List elements) function PRINT (line 112) | String PRINT(MalType x) function rep (line 114) | String rep(String x) function main (line 119) | main() FILE: impls/dart/step5_tco.dart function setupEnv (line 11) | void setupEnv() function READ (line 17) | MalType READ(String x) function EVAL (line 19) | MalType EVAL(MalType ast, Env env) function pairs (line 62) | Iterable> pairs(List elements) function PRINT (line 127) | String PRINT(MalType x) function rep (line 129) | String rep(String x) function main (line 134) | main() FILE: impls/dart/step6_file.dart function setupEnv (line 11) | void setupEnv(List argv) function READ (line 26) | MalType READ(String x) function EVAL (line 28) | MalType EVAL(MalType ast, Env env) function pairs (line 71) | Iterable> pairs(List elements) function PRINT (line 136) | String PRINT(MalType x) function rep (line 138) | String rep(String x) function main (line 143) | main(List args) FILE: impls/dart/step7_quote.dart function setupEnv (line 11) | void setupEnv(List argv) function starts_with (line 26) | bool starts_with(MalType ast, String sym) function qq_loop (line 30) | MalType qq_loop(List xs) function quasiquote (line 42) | MalType quasiquote(MalType ast) function READ (line 56) | MalType READ(String x) function EVAL (line 58) | MalType EVAL(MalType ast, Env env) function pairs (line 101) | Iterable> pairs(List elements) function PRINT (line 171) | String PRINT(MalType x) function rep (line 173) | String rep(String x) function main (line 178) | main(List args) FILE: impls/dart/step8_macros.dart function setupEnv (line 11) | void setupEnv(List argv) function starts_with (line 32) | bool starts_with(MalType ast, String sym) function qq_loop (line 36) | MalType qq_loop(List xs) function quasiquote (line 48) | MalType quasiquote(MalType ast) function READ (line 62) | MalType READ(String x) function EVAL (line 64) | MalType EVAL(MalType ast, Env env) function pairs (line 113) | Iterable> pairs(List elements) function PRINT (line 186) | String PRINT(MalType x) function rep (line 188) | String rep(String x) function main (line 193) | main(List args) FILE: impls/dart/step9_try.dart function setupEnv (line 11) | void setupEnv(List argv) function starts_with (line 32) | bool starts_with(MalType ast, String sym) function qq_loop (line 36) | MalType qq_loop(List xs) function quasiquote (line 48) | MalType quasiquote(MalType ast) function READ (line 62) | MalType READ(String x) function EVAL (line 64) | MalType EVAL(MalType ast, Env env) function pairs (line 113) | Iterable> pairs(List elements) function PRINT (line 211) | String PRINT(MalType x) function rep (line 213) | String rep(String x) function main (line 218) | main(List args) FILE: impls/dart/stepA_mal.dart function setupEnv (line 11) | void setupEnv(List argv) function starts_with (line 34) | bool starts_with(MalType ast, String sym) function qq_loop (line 38) | MalType qq_loop(List xs) function quasiquote (line 50) | MalType quasiquote(MalType ast) function READ (line 64) | MalType READ(String x) function EVAL (line 66) | MalType EVAL(MalType ast, Env env) function pairs (line 115) | Iterable> pairs(List elements) function PRINT (line 213) | String PRINT(MalType x) function rep (line 215) | String rep(String x) function main (line 220) | main(List args) FILE: impls/dart/types.dart class MalType (line 4) | abstract class MalType { method clone (line 8) | MalType clone() class MalIterable (line 11) | abstract class MalIterable extends MalType method clone (line 42) | MalIterable clone() class MalList (line 45) | class MalList extends MalIterable { method clone (line 49) | MalList clone() class MalVector (line 54) | class MalVector extends MalIterable { method clone (line 58) | MalVector clone() class MalHashMap (line 63) | class MalHashMap extends MalType { method _mapFromSequence (line 71) | Map _mapFromSequence(List elements) method clone (line 104) | MalHashMap clone() class MalInt (line 109) | class MalInt extends MalType { method clone (line 120) | MalInt clone() class MalSymbol (line 125) | class MalSymbol extends MalType { method clone (line 138) | MalSymbol clone() class MalKeyword (line 143) | class MalKeyword extends MalType { method clone (line 156) | MalKeyword clone() class MalString (line 161) | class MalString extends MalType { method clone (line 174) | MalString clone() class MalBool (line 179) | class MalBool extends MalType { method clone (line 190) | MalBool clone() class MalNil (line 195) | class MalNil extends MalIterable { method clone (line 201) | MalNil clone() class MalAtom (line 206) | class MalAtom extends MalType { method clone (line 212) | MalAtom clone() class MalCallable (line 217) | abstract class MalCallable extends MalType { method call (line 218) | MalType call(List args) type MalType (line 223) | typedef MalType BuiltinFunc(List args); method clone (line 8) | MalType clone() class MalBuiltin (line 225) | class MalBuiltin extends MalCallable { method call (line 230) | MalType call(List args) method clone (line 235) | MalBuiltin clone() type MalType (line 240) | typedef MalType EvalFun(MalType ast, Env env); method clone (line 8) | MalType clone() class MalClosure (line 242) | class MalClosure extends MalCallable { method call (line 253) | MalType call(List args) method clone (line 258) | MalClosure clone() class MalException (line 266) | class MalException implements Exception { FILE: impls/elixir/lib/mal.ex class Mal (line 1) | defmodule Mal FILE: impls/elixir/lib/mal/atom.ex class Mal.Atom (line 1) | defmodule Mal.Atom method new (line 4) | def new(value) do method deref (line 9) | def deref({:atom, pid}) do method reset! (line 13) | def reset!({:atom, pid}, new_value) do method swap! (line 18) | def swap!({:atom, pid}, %Function{value: func}, args) do FILE: impls/elixir/lib/mal/core.ex class Mal.Core (line 1) | defmodule Mal.Core method namespace (line 5) | def namespace do method convert (line 73) | defp convert(map) do method readline (line 79) | def readline(prompt) do method convert_vector (line 95) | defp convert_vector(other), do: other method equal (line 97) | defp equal([a, b]) do method empty? (line 101) | defp empty?([{_type, [], _meta}]), do: true method empty? (line 102) | defp empty?(_), do: false method count (line 104) | defp count([{_type, ast, _meta}]), do: length(ast) method count (line 105) | defp count(_), do: 0 method pr_str (line 107) | defp pr_str(args) do method str (line 113) | defp str(args) do method prn (line 119) | defp prn(args) do method println (line 126) | defp println(args) do method slurp (line 134) | defp slurp([file_name]) do method nth (line 144) | defp nth([{_type, ast, _meta}, index]) do method first (line 151) | defp first([{_type, [head | _tail], _}]), do: head method first (line 152) | defp first(_), do: nil method rest (line 154) | defp rest([{_type, [_head | tail], _}]), do: list(tail) method rest (line 155) | defp rest([{_type, [], _}]), do: list([]) method rest (line 156) | defp rest([nil]), do: list([]) method map (line 158) | defp map([%Function{value: function}, ast]), do: do_map(function, ast) method map (line 159) | defp map([function, ast]), do: do_map(function, ast) method do_map (line 161) | defp do_map(function, {_type, ast, _meta}) do method apply (line 167) | defp apply([%Function{value: function} | tail]), do: do_apply(function... method apply (line 168) | defp apply([function | tail]), do: do_apply(function, tail) method do_apply (line 170) | defp do_apply(function, tail) do method keyword (line 178) | defp keyword([atom]), do: String.to_atom(atom) method cons (line 180) | defp cons([prepend, {_type, ast, meta}]), do: {:list, [prepend | ast],... method concat (line 182) | defp concat(args) do method vec (line 189) | defp vec([{:list, xs, _}]), do: vector(xs) method vec (line 190) | defp vec([{:vector, xs, _}]), do: vector(xs) method vec (line 191) | defp vec([_]), do: throw({:error, "vec: arg type"}) method vec (line 192) | defp vec(_), do: throw({:error, "vec: arg count"}) method assoc (line 194) | defp assoc([{:map, hash_map, meta} | pairs]) do method dissoc (line 199) | defp dissoc([{:map, hash_map, meta} | keys]) do method get (line 203) | defp get([{:map, map, _}, key]), do: Map.get(map, key, nil) method get (line 204) | defp get(_), do: nil method meta (line 206) | defp meta([{_type, _ast, meta}]), do: meta method meta (line 207) | defp meta([%Function{meta: meta}]), do: meta method meta (line 208) | defp meta(_), do: nil method with_meta (line 210) | defp with_meta([{type, ast, _old_meta}, meta]), do: {type, ast, meta} method with_meta (line 211) | defp with_meta([%Function{} = func, meta]), do: %{func | meta: meta} method with_meta (line 212) | defp with_meta(_), do: nil method deref (line 214) | defp deref(args) do method reset! (line 218) | defp reset!(args) do method swap! (line 222) | defp swap!([atom, function | args]) do method conj (line 226) | defp conj([{:list, ast, meta} | args]) do method conj (line 231) | defp conj([{:vector, ast, meta} | args]) do method seq (line 235) | defp seq([nil]), do: nil method seq (line 236) | defp seq([{:list, [], _meta}]), do: nil method seq (line 237) | defp seq([{:list, ast, meta}]), do: {:list, ast, meta} method seq (line 238) | defp seq([{:vector, [], _meta}]), do: nil method seq (line 239) | defp seq([{:vector, ast, meta}]), do: {:list, ast, meta} method seq (line 240) | defp seq([""]), do: nil method seq (line 241) | defp seq([s]), do: {:list, String.split(s, "", trim: true), nil} method seq (line 242) | defp seq(_), do: nil method fn? (line 244) | defp fn?([%Function{macro: false}]), do: true method fn? (line 245) | defp fn?(_), do: false method macro? (line 247) | defp macro?([%Function{macro: true}]), do: true method macro? (line 248) | defp macro?(_), do: false FILE: impls/elixir/lib/mal/env.ex class Mal.Env (line 1) | defmodule Mal.Env method new (line 4) | def new(outer \\ nil, binds \\ [], exprs \\ []) method new (line 5) | def new(outer, binds, exprs) do method set_bindings (line 13) | defp set_bindings(pid, [], []), do: pid method set_bindings (line 14) | defp set_bindings(pid, ["&", key], exprs) do method set_bindings (line 19) | defp set_bindings(pid, [key | binds], [value | exprs]) do method set (line 24) | def set(pid, key, value) do method merge (line 30) | def merge(pid, env_values) do method find (line 36) | def find(pid, key) do method retrieve_key (line 45) | def retrieve_key(pid, key) do method get (line 54) | def get(pid, key) do FILE: impls/elixir/lib/mal/printer.ex class Mal.Printer (line 1) | defmodule Mal.Printer method print_str (line 4) | def print_str(mal, print_readably \\ true) method print_str (line 8) | def print_str(%Function{value: mal, macro: true}, _), do: "#Macro<#{in... method print_str (line 9) | def print_str(%Function{value: mal}, _), do: inspect(mal) method print_str (line 10) | def print_str({:symbol, value}, _), do: value method print_str (line 11) | def print_str({:exception, exception}, print_readably) do method print_str (line 17) | def print_str({:atom, _pid} = atom, print_readably) do method print_str (line 25) | def print_str({:map, mal, _}, print_readably) do method print_str (line 37) | def print_str({:vector, vector, _}, print_readably) do method print_str (line 41) | def print_str({:list, mal, _}, print_readably) do method print_list (line 45) | defp print_list(list, print_readably) do FILE: impls/elixir/lib/mal/reader.ex class Mal.Reader (line 1) | defmodule Mal.Reader method read_str (line 4) | def read_str(input) do method tokenize (line 13) | def tokenize(input) do method read_form (line 21) | defp read_form([next | rest] = tokens) do method create_meta (line 41) | defp create_meta(tokens) do method create_quote (line 48) | defp create_quote(quote_type, tokens) do method read_list (line 54) | defp read_list([_ | tokens]) do method read_vector (line 59) | defp read_vector([_ | tokens]) do method read_hash_map (line 64) | defp read_hash_map([_ | tokens]) do method do_read_sequence (line 69) | defp do_read_sequence([], _acc, _start_sep, end_sep), do: throw({:erro... method do_read_sequence (line 70) | defp do_read_sequence([head | tail] = tokens, acc, start_sep, end_sep) do method read_atom (line 80) | defp read_atom("nil"), do: nil method read_atom (line 81) | defp read_atom("true"), do: true method read_atom (line 82) | defp read_atom("false"), do: false method read_atom (line 83) | defp read_atom(":" <> rest), do: String.to_atom(rest) method read_atom (line 84) | defp read_atom(token) do FILE: impls/elixir/lib/mal/types.ex class Mal.Types (line 1) | defmodule Mal.Types method integer? (line 2) | def integer?(input) do method hash_map (line 6) | def hash_map(ast) do method map? (line 15) | def map?([{:map, _ast, _meta}]), do: true method map? (line 16) | def map?(_), do: false method list (line 18) | def list(ast), do: {:list, ast, nil} method list? (line 20) | def list?([{:list, _, _}]), do: true method list? (line 21) | def list?(_), do: false method vector (line 23) | def vector(ast), do: {:vector, ast, nil} method vector? (line 25) | def vector?([{:vector, _ast, _meta}]), do: true method vector? (line 26) | def vector?(_), do: false method symbol? (line 28) | def symbol?([{:symbol, _}]), do: true method symbol? (line 29) | def symbol?(_), do: false method atom (line 31) | def atom([value]) do method atom? (line 36) | def atom?([{:atom, _}]), do: true method atom? (line 37) | def atom?(_), do: false class Mal.Function (line 40) | defmodule Mal.Function FILE: impls/elixir/lib/mix/tasks/step0_repl.ex class Mix.Tasks.Step0Repl (line 1) | defmodule Mix.Tasks.Step0Repl method run (line 2) | def run(_), do: loop() method loop (line 4) | defp loop do method read (line 12) | defp read(input) do method eval (line 16) | defp eval(input) do method print (line 20) | defp print(input) do method read_eval_print (line 24) | defp read_eval_print(:eof), do: exit(:normal) method read_eval_print (line 25) | defp read_eval_print(line) do FILE: impls/elixir/lib/mix/tasks/step1_read_print.ex class Mix.Tasks.Step1ReadPrint (line 1) | defmodule Mix.Tasks.Step1ReadPrint method run (line 2) | def run(_), do: loop() method loop (line 4) | defp loop do method read (line 12) | defp read(input) do method eval (line 16) | defp eval(ast), do: ast method print (line 18) | defp print(value) do method read_eval_print (line 22) | defp read_eval_print(:eof), do: exit(:normal) method read_eval_print (line 23) | defp read_eval_print(line) do FILE: impls/elixir/lib/mix/tasks/step2_eval.ex class Mix.Tasks.Step2Eval (line 1) | defmodule Mix.Tasks.Step2Eval method run (line 9) | def run(_), do: loop() method loop (line 11) | defp loop do method eval_ast (line 24) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 32) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 36) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 43) | defp eval_ast(ast, _env), do: ast method read (line 45) | defp read(input) do method eval (line 49) | defp eval(ast, env) do method eval_list (line 54) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 60) | defp eval_list([], _env, meta), do: {:list, [], meta} method print (line 62) | defp print(value) do method read_eval_print (line 66) | defp read_eval_print(:eof), do: exit(:normal) method read_eval_print (line 67) | defp read_eval_print(line) do FILE: impls/elixir/lib/mix/tasks/step3_env.ex class Mix.Tasks.Step3Env (line 1) | defmodule Mix.Tasks.Step3Env method run (line 9) | def run(_) do method loop (line 15) | defp loop(env) do method eval_ast (line 28) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 36) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 40) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 47) | defp eval_ast(ast, _env), do: ast method read (line 49) | defp read(input) do method eval_bindings (line 53) | defp eval_bindings([], env), do: env method eval_bindings (line 54) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 59) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method eval (line 61) | defp eval(ast, env) do method eval_list (line 71) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 84) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 90) | defp eval_list([], _env, meta), do: {:list, [], meta} method print (line 92) | defp print(value) do method read_eval_print (line 96) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 97) | defp read_eval_print(line, env) do FILE: impls/elixir/lib/mix/tasks/step4_if_fn_do.ex class Mix.Tasks.Step4IfFnDo (line 1) | defmodule Mix.Tasks.Step4IfFnDo method run (line 5) | def run(_) do method bootstrap (line 12) | defp bootstrap(env) do method loop (line 24) | defp loop(env) do method eval_ast (line 37) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 45) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 49) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 56) | defp eval_ast(ast, _env), do: ast method read (line 58) | defp read(input) do method eval_bindings (line 62) | defp eval_bindings([], env), do: env method eval_bindings (line 63) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 68) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method eval (line 70) | defp eval(ast, env) do method eval_list (line 80) | defp eval_list([{:symbol, "if"}, condition, if_true | if_false], env, ... method eval_list (line 92) | defp eval_list([{:symbol, "do"} | ast], env, _) do method eval_list (line 99) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 124) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 130) | defp eval_list([], _env, meta), do: {:list, [], meta} method print (line 132) | defp print(value) do method read_eval_print (line 136) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 137) | defp read_eval_print(line, env) do FILE: impls/elixir/lib/mix/tasks/step5_tco.ex class Mix.Tasks.Step5Tco (line 1) | defmodule Mix.Tasks.Step5Tco method run (line 5) | def run(_) do method bootstrap (line 12) | defp bootstrap(env) do method loop (line 24) | defp loop(env) do method eval_ast (line 37) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 45) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 49) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 56) | defp eval_ast(ast, _env), do: ast method read (line 58) | defp read(input) do method eval_bindings (line 62) | defp eval_bindings([], env), do: env method eval_bindings (line 63) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 68) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method eval (line 70) | defp eval(ast, env) do method eval_list (line 80) | defp eval_list([{:symbol, "if"}, condition, if_true | if_false], env, ... method eval_list (line 92) | defp eval_list([{:symbol, "do"} | ast], env, _) do method eval_list (line 99) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 124) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 133) | defp eval_list([], _env, meta), do: {:list, [], meta} method print (line 135) | defp print(value) do method read_eval_print (line 139) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 140) | defp read_eval_print(line, env) do FILE: impls/elixir/lib/mix/tasks/step6_file.ex class Mix.Tasks.Step6File (line 1) | defmodule Mix.Tasks.Step6File method run (line 5) | def run(args) do method load_file (line 12) | defp load_file(file_name, env) do method bootstrap (line 19) | defp bootstrap(args, env) do method loop (line 47) | defp loop(env) do method eval_ast (line 60) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 68) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 72) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 79) | defp eval_ast(ast, _env), do: ast method read (line 81) | defp read(input) do method eval_bindings (line 85) | defp eval_bindings([], env), do: env method eval_bindings (line 86) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 91) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method eval (line 93) | defp eval(ast, env) do method eval_list (line 103) | defp eval_list([{:symbol, "if"}, condition, if_true | if_false], env, ... method eval_list (line 115) | defp eval_list([{:symbol, "do"} | ast], env, _) do method eval_list (line 122) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 147) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 153) | defp eval_list([], _env, meta), do: {:list, [], meta} method print (line 155) | defp print(value) do method read_eval_print (line 159) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 160) | defp read_eval_print(line, env) do FILE: impls/elixir/lib/mix/tasks/step7_quote.ex class Mix.Tasks.Step7Quote (line 1) | defmodule Mix.Tasks.Step7Quote method run (line 5) | def run(args) do method load_file (line 12) | defp load_file(file_name, env) do method bootstrap (line 19) | defp bootstrap(args, env) do method loop (line 47) | defp loop(env) do method eval_ast (line 60) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 68) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 72) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 79) | defp eval_ast(ast, _env), do: ast method read (line 81) | defp read(input) do method eval_bindings (line 85) | defp eval_bindings([], env), do: env method eval_bindings (line 86) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 91) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method quasiquote (line 93) | defp quasiquote({:list, [{:symbol, "unquote"}, arg], _}), do: arg method quasiquote (line 94) | defp quasiquote({:list, [{:symbol, "unquote"}| _], _}), do: throw({:... method quasiquote (line 95) | defp quasiquote({:list, xs, _}), do: qq_fold... method quasiquote (line 96) | defp quasiquote({:vector, xs, _}), do: list([{:symbol, "vec"}, qq_fold... method quasiquote (line 97) | defp quasiquote({:symbol, sym}), do: list([{:symbol, "quote"}, {:sy... method quasiquote (line 98) | defp quasiquote({:map, ast, meta}), do: list([{:symbol, "quote"}, {:ma... method quasiquote (line 99) | defp quasiquote(ast), do: ast method qq_foldr (line 101) | defp qq_foldr([]), do: list([]) method qq_foldr (line 102) | defp qq_foldr([x|xs]), do: qq_loop(x, qq_foldr xs) method qq_loop (line 104) | defp qq_loop({:list, [{:symbol, "splice-unquote"}, arg], _}, acc), do:... method qq_loop (line 105) | defp qq_loop({:list, [{:symbol, "splice-unquote"}| _], _}, _), do:... method qq_loop (line 106) | defp qq_loop(elt, acc), do: list([{:symbol, "cons"}, quasiquote(elt), ... method eval (line 108) | defp eval(ast, env) do method eval_list (line 118) | defp eval_list([{:symbol, "if"}, condition, if_true | if_false], env, ... method eval_list (line 130) | defp eval_list([{:symbol, "do"} | ast], env, _) do method eval_list (line 137) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 162) | defp eval_list([{:symbol, "quote"}, arg], _env, _), do: arg method eval_list (line 164) | defp eval_list([{:symbol, "quasiquote"}, ast], env, _) do method eval_list (line 169) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 175) | defp eval_list([], _env, meta), do: {:list, [], meta} method print (line 177) | defp print(value) do method read_eval_print (line 181) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 182) | defp read_eval_print(line, env) do FILE: impls/elixir/lib/mix/tasks/step8_macros.ex class Mix.Tasks.Step8Macros (line 1) | defmodule Mix.Tasks.Step8Macros method run (line 5) | def run(args) do method load_file (line 12) | defp load_file(file_name, env) do method bootstrap (line 19) | defp bootstrap(args, env) do method loop (line 59) | defp loop(env) do method eval_ast (line 72) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 80) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 84) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 91) | defp eval_ast(ast, _env), do: ast method read (line 93) | defp read(input) do method eval_bindings (line 97) | defp eval_bindings([], env), do: env method eval_bindings (line 98) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 103) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method quasiquote (line 105) | defp quasiquote({:list, [{:symbol, "unquote"}, arg], _}), do: arg method quasiquote (line 106) | defp quasiquote({:list, [{:symbol, "unquote"}| _], _}), do: throw({:... method quasiquote (line 107) | defp quasiquote({:list, xs, _}), do: qq_fold... method quasiquote (line 108) | defp quasiquote({:vector, xs, _}), do: list([{:symbol, "vec"}, qq_fold... method quasiquote (line 109) | defp quasiquote({:symbol, sym}), do: list([{:symbol, "quote"}, {:sy... method quasiquote (line 110) | defp quasiquote({:map, ast, meta}), do: list([{:symbol, "quote"}, {:ma... method quasiquote (line 111) | defp quasiquote(ast), do: ast method qq_foldr (line 113) | defp qq_foldr([]), do: list([]) method qq_foldr (line 114) | defp qq_foldr([x|xs]), do: qq_loop(x, qq_foldr xs) method qq_loop (line 116) | defp qq_loop({:list, [{:symbol, "splice-unquote"}, arg], _}, acc), do:... method qq_loop (line 117) | defp qq_loop({:list, [{:symbol, "splice-unquote"}| _], _}, _), do:... method qq_loop (line 118) | defp qq_loop(elt, acc), do: list([{:symbol, "cons"}, quasiquote(elt), ... method eval (line 120) | defp eval(ast, env) do method eval_list (line 130) | defp eval_list([{:symbol, "if"}, condition, if_true | if_false], env, ... method eval_list (line 142) | defp eval_list([{:symbol, "do"} | ast], env, _) do method eval_list (line 149) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 155) | defp eval_list([{:symbol, "defmacro!"}, {:symbol, key}, function], env... method eval_list (line 180) | defp eval_list([{:symbol, "quote"}, arg], _env, _), do: arg method eval_list (line 182) | defp eval_list([{:symbol, "quasiquote"}, ast], env, _) do method eval_list (line 187) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 195) | defp eval_list([], _env, meta), do: {:list, [], meta} method print (line 197) | defp print(value) do method read_eval_print (line 201) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 202) | defp read_eval_print(line, env) do FILE: impls/elixir/lib/mix/tasks/step9_try.ex class Mix.Tasks.Step9Try (line 1) | defmodule Mix.Tasks.Step9Try method run (line 5) | def run(args) do method load_file (line 12) | defp load_file(file_name, env) do method bootstrap (line 19) | defp bootstrap(args, env) do method loop (line 59) | defp loop(env) do method eval_ast (line 72) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 80) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 84) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 91) | defp eval_ast(ast, _env), do: ast method read (line 93) | defp read(input) do method eval_bindings (line 97) | defp eval_bindings([], env), do: env method eval_bindings (line 98) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 103) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method quasiquote (line 105) | defp quasiquote({:list, [{:symbol, "unquote"}, arg], _}), do: arg method quasiquote (line 106) | defp quasiquote({:list, [{:symbol, "unquote"}| _], _}), do: throw({:... method quasiquote (line 107) | defp quasiquote({:list, xs, _}), do: qq_fold... method quasiquote (line 108) | defp quasiquote({:vector, xs, _}), do: list([{:symbol, "vec"}, qq_fold... method quasiquote (line 109) | defp quasiquote({:symbol, sym}), do: list([{:symbol, "quote"}, {:sy... method quasiquote (line 110) | defp quasiquote({:map, ast, meta}), do: list([{:symbol, "quote"}, {:ma... method quasiquote (line 111) | defp quasiquote(ast), do: ast method qq_foldr (line 113) | defp qq_foldr([]), do: list([]) method qq_foldr (line 114) | defp qq_foldr([x|xs]), do: qq_loop(x, qq_foldr xs) method qq_loop (line 116) | defp qq_loop({:list, [{:symbol, "splice-unquote"}, arg], _}, acc), do:... method qq_loop (line 117) | defp qq_loop({:list, [{:symbol, "splice-unquote"}| _], _}, _), do:... method qq_loop (line 118) | defp qq_loop(elt, acc), do: list([{:symbol, "cons"}, quasiquote(elt), ... method eval (line 120) | defp eval(ast, env) do method eval_list (line 130) | defp eval_list([{:symbol, "if"}, condition, if_true | if_false], env, ... method eval_list (line 142) | defp eval_list([{:symbol, "do"} | ast], env, _) do method eval_list (line 149) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 155) | defp eval_list([{:symbol, "defmacro!"}, {:symbol, key}, function], env... method eval_list (line 180) | defp eval_list([{:symbol, "quote"}, arg], _env, _), do: arg method eval_list (line 182) | defp eval_list([{:symbol, "quasiquote"}, ast], env, _) do method eval_list (line 188) | defp eval_list([{:symbol, "try*"}, try_form, {:list, catch_list, _meta... method eval_list (line 191) | defp eval_list([{:symbol, "try*"}, try_form], env, _) do method eval_list (line 194) | defp eval_list([{:symbol, "try*"}, _try_form, _], _env, _) do method eval_list (line 198) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 206) | defp eval_list([], _env, meta), do: {:list, [], meta} method eval_try (line 208) | defp eval_try(try_form, method eval_try (line 219) | defp eval_try(_try_form, _catch_list, _env) do method print (line 223) | defp print(value) do method read_eval_print (line 227) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 228) | defp read_eval_print(line, env) do FILE: impls/elixir/lib/mix/tasks/stepA_mal.ex class Mix.Tasks.StepAMal (line 1) | defmodule Mix.Tasks.StepAMal method main (line 6) | def main(args) do method run (line 10) | def run(args) do method load_file (line 17) | defp load_file(file_name, env) do method bootstrap (line 24) | defp bootstrap(args, env) do method loop (line 68) | defp loop(env) do method eval_ast (line 81) | defp eval_ast({:map, ast, meta}, env) do method eval_ast (line 89) | defp eval_ast({:vector, ast, meta}, env) do method eval_ast (line 93) | defp eval_ast({:symbol, symbol}, env) do method eval_ast (line 100) | defp eval_ast(ast, _env), do: ast method read (line 102) | defp read(input) do method eval_bindings (line 106) | defp eval_bindings([], env), do: env method eval_bindings (line 107) | defp eval_bindings([{:symbol, key}, binding | tail], env) do method eval_bindings (line 112) | defp eval_bindings(_bindings, _env), do: throw({:error, "Unbalanced le... method quasiquote (line 114) | defp quasiquote({:list, [{:symbol, "unquote"}, arg], _}), do: arg method quasiquote (line 115) | defp quasiquote({:list, [{:symbol, "unquote"}| _], _}), do: throw({:... method quasiquote (line 116) | defp quasiquote({:list, xs, _}), do: qq_fold... method quasiquote (line 117) | defp quasiquote({:vector, xs, _}), do: list([{:symbol, "vec"}, qq_fold... method quasiquote (line 118) | defp quasiquote({:symbol, sym}), do: list([{:symbol, "quote"}, {:sy... method quasiquote (line 119) | defp quasiquote({:map, ast, meta}), do: list([{:symbol, "quote"}, {:ma... method quasiquote (line 120) | defp quasiquote(ast), do: ast method qq_foldr (line 122) | defp qq_foldr([]), do: list([]) method qq_foldr (line 123) | defp qq_foldr([x|xs]), do: qq_loop(x, qq_foldr xs) method qq_loop (line 125) | defp qq_loop({:list, [{:symbol, "splice-unquote"}, arg], _}, acc), do:... method qq_loop (line 126) | defp qq_loop({:list, [{:symbol, "splice-unquote"}| _], _}, _), do:... method qq_loop (line 127) | defp qq_loop(elt, acc), do: list([{:symbol, "cons"}, quasiquote(elt), ... method eval (line 129) | defp eval(ast, env) do method eval_list (line 139) | defp eval_list([{:symbol, "if"}, condition, if_true | if_false], env, ... method eval_list (line 151) | defp eval_list([{:symbol, "do"} | ast], env, _) do method eval_list (line 158) | defp eval_list([{:symbol, "def!"}, {:symbol, key}, value], env, _) do method eval_list (line 164) | defp eval_list([{:symbol, "defmacro!"}, {:symbol, key}, function], env... method eval_list (line 189) | defp eval_list([{:symbol, "quote"}, arg], _env, _), do: arg method eval_list (line 191) | defp eval_list([{:symbol, "quasiquote"}, ast], env, _) do method eval_list (line 197) | defp eval_list([{:symbol, "try*"}, try_form, {:list, catch_list, _meta... method eval_list (line 200) | defp eval_list([{:symbol, "try*"}, try_form], env, _) do method eval_list (line 203) | defp eval_list([{:symbol, "try*"}, _try_form, _], _env, _) do method eval_list (line 207) | defp eval_list([a0 | args], env, _meta) do method eval_list (line 215) | defp eval_list([], _env, meta), do: {:list, [], meta} method eval_try (line 217) | defp eval_try(try_form, method eval_try (line 228) | defp eval_try(_try_form, _catch_list, _env) do method print (line 232) | defp print(value) do method read_eval_print (line 236) | defp read_eval_print(:eof, _env), do: exit(:normal) method read_eval_print (line 237) | defp read_eval_print(line, env) do FILE: impls/elixir/mix.exs class Mal.Mixfile (line 1) | defmodule Mal.Mixfile method project (line 4) | def project do method escript (line 15) | def escript do method application (line 22) | def application do method deps (line 35) | defp deps do FILE: impls/es6/core.mjs function _error (line 9) | function _error(e) { throw new Error(e) } function slurp (line 12) | function slurp(f) { function seq (line 27) | function seq(obj) { FILE: impls/es6/env.mjs function new_env (line 1) | function new_env(outer={}, binds=[], exprs=[]) { FILE: impls/es6/node_readline.mjs constant RL_LIB (line 2) | const RL_LIB = "libreadline.so.8"; constant HISTORY_FILE (line 10) | const HISTORY_FILE = path.join(process.env.HOME, '.mal-history'); function readline (line 17) | function readline(prompt) { FILE: impls/es6/printer.mjs function pr_str (line 3) | function pr_str(obj, print_readably) { FILE: impls/es6/reader.mjs class BlankException (line 3) | class BlankException extends Error {} class Reader (line 5) | class Reader { method constructor (line 6) | constructor(tokens) { method next (line 10) | next() { return this.tokens[this.position++] } method peek (line 11) | peek() { return this.tokens[this.position] } function tokenize (line 14) | function tokenize(str) { function read_atom (line 25) | function read_atom (reader) { function read_list (line 51) | function read_list(reader, start, end) { function read_vector (line 70) | function read_vector(reader) { function read_hash_map (line 75) | function read_hash_map(reader) { function read_form (line 79) | function read_form(reader) { function read_str (line 115) | function read_str(str) { FILE: impls/es6/types.mjs function _equal_Q (line 2) | function _equal_Q (a, b) { function _clone (line 20) | function _clone(obj, new_meta) { function _malfunc (line 39) | function _malfunc(f, ast, env, params, meta=null, ismacro=false) { class Vector (line 53) | class Vector extends Array { } function _assoc_BANG (line 56) | function _assoc_BANG(hm, ...args) { class Atom (line 66) | class Atom { method constructor (line 67) | constructor(val) { this.val = val } FILE: impls/fsharp/terminal.cs class LineEditor (line 35) | public class LineEditor { class Completion (line 37) | public class Completion { method Completion (line 41) | public Completion (string prefix, string [] result) type Handler (line 99) | struct Handler { method Handler (line 103) | public Handler (ConsoleKey key, KeyHandler h) method Handler (line 109) | public Handler (char c, KeyHandler h) method Handler (line 116) | public Handler (ConsoleKeyInfo cki, KeyHandler h) method Control (line 122) | public static Handler Control (char c, KeyHandler h) method Alt (line 127) | public static Handler Alt (char c, ConsoleKey k, KeyHandler h) method LineEditor (line 150) | public LineEditor (string name) : this (name, 10) { } method LineEditor (line 152) | public LineEditor (string name, int histsize) method CmdDebug (line 201) | void CmdDebug () method Render (line 208) | void Render () method UpdateHomeRow (line 226) | void UpdateHomeRow (int screenpos) method RenderFrom (line 236) | void RenderFrom (int pos) method ComputeRendered (line 253) | void ComputeRendered () method TextToRenderPos (line 271) | int TextToRenderPos (int pos) method TextToScreenPos (line 292) | int TextToScreenPos (int pos) method ForceCursor (line 308) | void ForceCursor (int newpos) method UpdateCursor (line 324) | void UpdateCursor (int newpos) method InsertChar (line 332) | void InsertChar (char c) method CmdDone (line 352) | void CmdDone () method CmdTabOrComplete (line 357) | void CmdTabOrComplete () method CmdHome (line 422) | void CmdHome () method CmdEnd (line 427) | void CmdEnd () method CmdLeft (line 432) | void CmdLeft () method CmdBackwardWord (line 440) | void CmdBackwardWord () method CmdForwardWord (line 448) | void CmdForwardWord () method CmdRight (line 456) | void CmdRight () method RenderAfter (line 464) | void RenderAfter (int p) method CmdBackspace (line 471) | void CmdBackspace () method CmdDeleteChar (line 481) | void CmdDeleteChar () method WordForward (line 498) | int WordForward (int p) method WordBackward (line 524) | int WordBackward (int p) method CmdDeleteWord (line 556) | void CmdDeleteWord () method CmdDeleteBackword (line 575) | void CmdDeleteBackword () method HistoryUpdateLine (line 596) | void HistoryUpdateLine () method CmdHistoryPrev (line 601) | void CmdHistoryPrev () method CmdHistoryNext (line 611) | void CmdHistoryNext () method CmdKillToEOF (line 621) | void CmdKillToEOF () method CmdYank (line 629) | void CmdYank () method InsertTextAtCursor (line 634) | void InsertTextAtCursor (string str) method SetSearchPrompt (line 652) | void SetSearchPrompt (string s) method ReverseSearch (line 657) | void ReverseSearch () method CmdReverseSearch (line 695) | void CmdReverseSearch () method SearchAppend (line 717) | void SearchAppend (char c) method CmdRefresh (line 734) | void CmdRefresh () method InterruptEdit (line 742) | void InterruptEdit (object sender, ConsoleCancelEventArgs a) method HandleChar (line 751) | void HandleChar (char c) method EditLoop (line 759) | void EditLoop () method InitText (line 806) | void InitText (string initial) method SetText (line 815) | void SetText (string newtext) method SetPrompt (line 821) | void SetPrompt (string newprompt) method Edit (line 829) | public string Edit (string prompt, string initial) method SaveHistory (line 873) | public void SaveHistory () class History (line 886) | class History { method History (line 892) | public History (string app, int size) method Close (line 929) | public void Close () method Append (line 950) | public void Append (string s) method Update (line 967) | public void Update (string s) method RemoveLast (line 972) | public void RemoveLast () method Accept (line 979) | public void Accept (string s) method PreviousAvailable (line 988) | public bool PreviousAvailable () method NextAvailable (line 1003) | public bool NextAvailable () method Previous (line 1018) | public string Previous () method Next (line 1030) | public string Next () method CursorToEnd (line 1039) | public void CursorToEnd () method Dump (line 1047) | public void Dump () method SearchBackward (line 1056) | public string SearchBackward (string term) class Demo (line 1077) | class Demo { method Main (line 1078) | static void Main () FILE: impls/go/src/core/core.go function throw (line 19) | func throw(a []MalType) (MalType, error) { function fn_q (line 23) | func fn_q(a []MalType) (MalType, error) { function pr_str (line 38) | func pr_str(a []MalType) (MalType, error) { function str (line 42) | func str(a []MalType) (MalType, error) { function prn (line 46) | func prn(a []MalType) (MalType, error) { function println (line 51) | func println(a []MalType) (MalType, error) { function slurp (line 56) | func slurp(a []MalType) (MalType, error) { function time_ms (line 65) | func time_ms(a []MalType) (MalType, error) { function copy_hash_map (line 70) | func copy_hash_map(hm HashMap) HashMap { function assoc (line 78) | func assoc(a []MalType) (MalType, error) { function dissoc (line 99) | func dissoc(a []MalType) (MalType, error) { function get (line 117) | func get(a []MalType) (MalType, error) { function contains_Q (line 130) | func contains_Q(hm MalType, key MalType) (MalType, error) { function keys (line 144) | func keys(a []MalType) (MalType, error) { function vals (line 155) | func vals(a []MalType) (MalType, error) { function cons (line 168) | func cons(a []MalType) (MalType, error) { function concat (line 177) | func concat(a []MalType) (MalType, error) { function vec (line 195) | func vec(a []MalType) (MalType, error) { function nth (line 206) | func nth(a []MalType) (MalType, error) { function first (line 219) | func first(a []MalType) (MalType, error) { function rest (line 236) | func rest(a []MalType) (MalType, error) { function empty_Q (line 250) | func empty_Q(a []MalType) (MalType, error) { function count (line 263) | func count(a []MalType) (MalType, error) { function apply (line 278) | func apply(a []MalType) (MalType, error) { function do_map (line 295) | func do_map(a []MalType) (MalType, error) { function conj (line 312) | func conj(a []MalType) (MalType, error) { function seq (line 345) | func seq(a []MalType) (MalType, error) { function with_meta (line 374) | func with_meta(a []MalType) (MalType, error) { function meta (line 395) | func meta(a []MalType) (MalType, error) { function deref (line 414) | func deref(a []MalType) (MalType, error) { function reset_BANG (line 421) | func reset_BANG(a []MalType) (MalType, error) { function swap_BANG (line 429) | func swap_BANG(a []MalType) (MalType, error) { function call0e (line 517) | func call0e(f func([]MalType) (MalType, error)) func([]MalType) (MalType... function call1e (line 526) | func call1e(f func([]MalType) (MalType, error)) func([]MalType) (MalType... function call2e (line 535) | func call2e(f func([]MalType) (MalType, error)) func([]MalType) (MalType... function callNe (line 544) | func callNe(f func([]MalType) (MalType, error)) func([]MalType) (MalType... function call1b (line 551) | func call1b(f func(MalType) bool) func([]MalType) (MalType, error) { function call2b (line 560) | func call2b(f func(MalType, MalType) bool) func([]MalType) (MalType, err... FILE: impls/go/src/env/env.go type Env (line 12) | type Env struct method Find (line 44) | func (e Env) Find(key Symbol) EnvType { method Set (line 54) | func (e Env) Set(key Symbol, value MalType) MalType { method Get (line 59) | func (e Env) Get(key Symbol) (MalType, error) { function NewEnv (line 17) | func NewEnv(outer EnvType, binds_mt MalType, exprs_mt MalType) (EnvType,... FILE: impls/go/src/printer/printer.go function Pr_list (line 12) | func Pr_list(lst []types.MalType, pr bool, function Pr_str (line 21) | func Pr_str(obj types.MalType, print_readably bool) string { FILE: impls/go/src/reader/reader.go type Reader (line 15) | type Reader interface type TokenReader (line 20) | type TokenReader struct method next (line 25) | func (tr *TokenReader) next() *string { method peek (line 34) | func (tr *TokenReader) peek() *string { function tokenize (line 41) | func tokenize(str string) []string { function read_atom (line 56) | func read_atom(rdr Reader) (MalType, error) { function read_list (line 94) | func read_list(rdr Reader, start string, end string) (MalType, error) { function read_vector (line 122) | func read_vector(rdr Reader) (MalType, error) { function read_hash_map (line 131) | func read_hash_map(rdr Reader) (MalType, error) { function read_form (line 139) | func read_form(rdr Reader) (MalType, error) { function Read_str (line 216) | func Read_str(str string) (MalType, error) { FILE: impls/go/src/readline/readline.go function loadHistory (line 31) | func loadHistory(filename string) error { function init (line 49) | func init() { function Readline (line 54) | func Readline(prompt string) (string, error) { FILE: impls/go/src/step0_repl/step0_repl.go function READ (line 13) | func READ(str string) string { function EVAL (line 18) | func EVAL(ast string, env string) string { function PRINT (line 23) | func PRINT(exp string) string { function rep (line 28) | func rep(str string) string { function main (line 32) | func main() { FILE: impls/go/src/step1_read_print/step1_read_print.go function READ (line 16) | func READ(str string) (MalType, error) { function EVAL (line 21) | func EVAL(ast MalType, env string) (MalType, error) { function PRINT (line 26) | func PRINT(exp MalType) (string, error) { function rep (line 31) | func rep(str string) (MalType, error) { function main (line 47) | func main() { FILE: impls/go/src/step2_eval/step2_eval.go function READ (line 17) | func READ(str string) (MalType, error) { function eval_ast (line 22) | func eval_ast(ast MalType, env map[string]MalType) (MalType, error) { function EVAL (line 67) | func EVAL(ast MalType, env map[string]MalType) (MalType, error) { function PRINT (line 92) | func PRINT(exp MalType) (string, error) { function assertArgNum (line 123) | func assertArgNum(a []MalType, n int) error { function rep (line 131) | func rep(str string) (MalType, error) { function main (line 147) | func main() { FILE: impls/go/src/step3_env/step3_env.go function READ (line 18) | func READ(str string) (MalType, error) { function eval_ast (line 23) | func eval_ast(ast MalType, env EnvType) (MalType, error) { function EVAL (line 63) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 135) | func PRINT(exp MalType) (string, error) { function rep (line 142) | func rep(str string) (MalType, error) { function main (line 158) | func main() { function assertArgNum (line 204) | func assertArgNum(a []MalType, n int) error { FILE: impls/go/src/step4_if_fn_do/step4_if_fn_do.go function READ (line 19) | func READ(str string) (MalType, error) { function eval_ast (line 24) | func eval_ast(ast MalType, env EnvType) (MalType, error) { function EVAL (line 64) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 168) | func PRINT(exp MalType) (string, error) { function rep (line 175) | func rep(str string) (MalType, error) { function main (line 191) | func main() { FILE: impls/go/src/step5_tco/step5_tco.go function READ (line 19) | func READ(str string) (MalType, error) { function eval_ast (line 24) | func eval_ast(ast MalType, env EnvType) (MalType, error) { function EVAL (line 64) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 178) | func PRINT(exp MalType) (string, error) { function rep (line 185) | func rep(str string) (MalType, error) { function main (line 201) | func main() { FILE: impls/go/src/step6_file/step6_file.go function READ (line 20) | func READ(str string) (MalType, error) { function eval_ast (line 25) | func eval_ast(ast MalType, env EnvType) (MalType, error) { function EVAL (line 65) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 179) | func PRINT(exp MalType) (string, error) { function rep (line 186) | func rep(str string) (MalType, error) { function main (line 202) | func main() { FILE: impls/go/src/step7_quote/step7_quote.go function READ (line 20) | func READ(str string) (MalType, error) { function starts_with (line 25) | func starts_with(xs []MalType, sym string) bool { function qq_loop (line 36) | func qq_loop(xs []MalType) MalType { function quasiquote (line 53) | func quasiquote(ast MalType) MalType { function eval_ast (line 70) | func eval_ast(ast MalType, env EnvType) (MalType, error) { function EVAL (line 110) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 230) | func PRINT(exp MalType) (string, error) { function rep (line 237) | func rep(str string) (MalType, error) { function main (line 253) | func main() { FILE: impls/go/src/step8_macros/step8_macros.go function READ (line 20) | func READ(str string) (MalType, error) { function starts_with (line 25) | func starts_with(xs []MalType, sym string) bool { function qq_loop (line 36) | func qq_loop(xs []MalType) MalType { function quasiquote (line 53) | func quasiquote(ast MalType) MalType { function is_macro_call (line 70) | func is_macro_call(ast MalType, env EnvType) bool { function macroexpand (line 90) | func macroexpand(ast MalType, env EnvType) (MalType, error) { function eval_ast (line 109) | func eval_ast(ast MalType, env EnvType) (MalType, error) { function EVAL (line 149) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 286) | func PRINT(exp MalType) (string, error) { function rep (line 293) | func rep(str string) (MalType, error) { function main (line 309) | func main() { FILE: impls/go/src/step9_try/step9_try.go function READ (line 20) | func READ(str string) (MalType, error) { function starts_with (line 25) | func starts_with(xs []MalType, sym string) bool { function qq_loop (line 36) | func qq_loop(xs []MalType) MalType { function quasiquote (line 53) | func quasiquote(ast MalType) MalType { function is_macro_call (line 70) | func is_macro_call(ast MalType, env EnvType) bool { function macroexpand (line 90) | func macroexpand(ast MalType, env EnvType) (MalType, error) { function eval_ast (line 109) | func eval_ast(ast MalType, env EnvType) (MalType, error) { function EVAL (line 149) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 314) | func PRINT(exp MalType) (string, error) { function rep (line 321) | func rep(str string) (MalType, error) { function main (line 337) | func main() { FILE: impls/go/src/stepA_mal/stepA_mal.go function READ (line 20) | func READ(str string) (MalType, error) { function starts_with (line 25) | func starts_with(xs []MalType, sym string) bool { function qq_loop (line 36) | func qq_loop(xs []MalType) MalType { function quasiquote (line 53) | func quasiquote(ast MalType) MalType { function map_eval (line 70) | func map_eval(xs []MalType, env EnvType) ([]MalType, error) { function EVAL (line 82) | func EVAL(ast MalType, env EnvType) (MalType, error) { function PRINT (line 263) | func PRINT(exp MalType) (string, error) { function rep (line 270) | func rep(str string) (MalType, error) { function main (line 286) | func main() { FILE: impls/go/src/types/types.go type MalError (line 11) | type MalError struct method Error (line 15) | func (e MalError) Error() string { type MalType (line 20) | type MalType interface type EnvType (line 23) | type EnvType interface function Nil_Q (line 30) | func Nil_Q(obj MalType) bool { function True_Q (line 34) | func True_Q(obj MalType) bool { function False_Q (line 39) | func False_Q(obj MalType) bool { function Number_Q (line 44) | func Number_Q(obj MalType) bool { type Symbol (line 50) | type Symbol struct function Symbol_Q (line 54) | func Symbol_Q(obj MalType) bool { function NewKeyword (line 60) | func NewKeyword(s string) (MalType, error) { function Keyword_Q (line 64) | func Keyword_Q(obj MalType) bool { function String_Q (line 70) | func String_Q(obj MalType) bool { type Func (line 76) | type Func struct function Func_Q (line 81) | func Func_Q(obj MalType) bool { type MalFunc (line 86) | type MalFunc struct method SetMacro (line 101) | func (f MalFunc) SetMacro() MalType { method GetMacro (line 106) | func (f MalFunc) GetMacro() bool { function MalFunc_Q (line 96) | func MalFunc_Q(obj MalType) bool { function Apply (line 112) | func Apply(f_mt MalType, a []MalType) (MalType, error) { type List (line 130) | type List struct function NewList (line 135) | func NewList(a ...MalType) MalType { function List_Q (line 139) | func List_Q(obj MalType) bool { type Vector (line 145) | type Vector struct function Vector_Q (line 150) | func Vector_Q(obj MalType) bool { function GetSlice (line 155) | func GetSlice(seq MalType) ([]MalType, error) { type HashMap (line 167) | type HashMap struct function NewHashMap (line 172) | func NewHashMap(seq MalType) (MalType, error) { function HashMap_Q (line 191) | func HashMap_Q(obj MalType) bool { type Atom (line 197) | type Atom struct method Set (line 202) | func (a *Atom) Set(val MalType) MalType { function Atom_Q (line 207) | func Atom_Q(obj MalType) bool { function _obj_type (line 214) | func _obj_type(obj MalType) string { function Sequential_Q (line 221) | func Sequential_Q(seq MalType) bool { function Equal_Q (line 229) | func Equal_Q(a MalType, b MalType) bool { FILE: impls/java-truffle/src/main/java/truffle/mal/Core.java class Core (line 29) | class Core { method newGlobalEnv (line 103) | static MalEnv newGlobalEnv(Class> languag... class AbstractInvokeNode (line 119) | abstract class AbstractInvokeNode extends Node { method invoke (line 120) | abstract Object invoke(CallTarget target, Object[] args); type IMalLanguage (line 124) | interface IMalLanguage { method evalForm (line 125) | CallTarget evalForm(Object form); method invokeNode (line 126) | AbstractInvokeNode invokeNode(); method out (line 127) | PrintStream out(); method in (line 128) | BufferedReader in(); class BuiltinNode (line 131) | abstract class BuiltinNode extends Node { method setLanguage (line 134) | protected void setLanguage(IMalLanguage language) { method illegalArgumentException (line 138) | @TruffleBoundary method BuiltinNode (line 145) | protected BuiltinNode(String name) { method executeGeneric (line 149) | abstract Object executeGeneric(VirtualFrame frame); method executeLong (line 151) | long executeLong(VirtualFrame frame) throws UnexpectedResultException { method executeBoolean (line 159) | boolean executeBoolean(VirtualFrame frame) throws UnexpectedResultExce... class ReadArgNode (line 168) | class ReadArgNode extends Node { method ReadArgNode (line 171) | ReadArgNode(int argNum) { method executeGeneric (line 175) | Object executeGeneric(VirtualFrame frame) { class ReadArgsNode (line 180) | class ReadArgsNode extends Node { method ReadArgsNode (line 183) | ReadArgsNode(int argPos) { method executeGeneric (line 187) | Object executeGeneric(VirtualFrame frame) { class BuiltinRootNode (line 196) | class BuiltinRootNode extends RootNode { method BuiltinRootNode (line 200) | public BuiltinRootNode(TruffleLanguage lang, NodeFactory"); } method greaterThan (line 1014) | @Specialization method typeError (line 1019) | @Specialization method typeError (line 1024) | @Fallback class GreaterThanEqualBuiltin (line 1030) | @NodeChild(value="lhs", type=ReadArgNode.class) method GreaterThanEqualBuiltin (line 1035) | protected GreaterThanEqualBuiltin() { super(">="); } method greaterThanEqual (line 1037) | @Specialization method typeError (line 1042) | @Specialization method typeError (line 1047) | @Fallback class LessThanBuiltin (line 1053) | @NodeChild(value="lhs", type=ReadArgNode.class) method LessThanBuiltin (line 1058) | protected LessThanBuiltin() { super("<"); } method lessThan (line 1060) | @Specialization method typeError (line 1065) | @Specialization method typeError (line 1070) | @Fallback class LessThanEqualBuiltin (line 1076) | @NodeChild(value="lhs", type=ReadArgNode.class) method LessThanEqualBuiltin (line 1081) | protected LessThanEqualBuiltin() { super("<="); } method lessThanEqual (line 1083) | @Specialization method typeError (line 1088) | @Specialization method typeError (line 1093) | @Fallback class AtomBuiltin (line 1101) | @NodeChild(value="val", type=ReadArgNode.class) method AtomBuiltin (line 1104) | protected AtomBuiltin() { super("atom"); } method atom (line 1106) | @Specialization class IsAtomBuiltin (line 1112) | @NodeChild(value="val", type=ReadArgNode.class) method IsAtomBuiltin (line 1116) | protected IsAtomBuiltin() { super("atom?"); } method isAtom (line 1118) | @Specialization class DerefBuiltin (line 1124) | @NodeChild(value="arg", type=ReadArgNode.class) method DerefBuiltin (line 1128) | protected DerefBuiltin() { super("deref"); } method deref (line 1130) | @Specialization class ResetBuiltin (line 1136) | @NodeChild(value="atom", type=ReadArgNode.class) method ResetBuiltin (line 1141) | protected ResetBuiltin() { super("reset!"); } method reset (line 1143) | @Specialization class SwapBuiltin (line 1150) | @NodeChild(value="atom", type=ReadArgNode.class) method SwapBuiltin (line 1157) | protected SwapBuiltin() { method setLanguage (line 1161) | @Override method swap (line 1167) | @Specialization class IsNilBuiltin (line 1185) | @NodeChild(value="arg", type=ReadArgNode.class) method IsNilBuiltin (line 1188) | protected IsNilBuiltin() { super("nil?"); } method isNil (line 1190) | @Specialization method isNil (line 1195) | @Fallback class IsTrueBuiltin (line 1201) | @NodeChild(value="arg", type=ReadArgNode.class) method IsTrueBuiltin (line 1204) | protected IsTrueBuiltin() { super("true?"); } method isTrue (line 1206) | @Specialization method isTrue (line 1211) | @Fallback class IsFalseBuiltin (line 1217) | @NodeChild(value="arg", type=ReadArgNode.class) method IsFalseBuiltin (line 1220) | protected IsFalseBuiltin() { super("false?"); } method isFalse (line 1222) | @Specialization method isFalse (line 1227) | @Fallback class IsSymbolBuiltin (line 1233) | @NodeChild(value="arg", type=ReadArgNode.class) method IsSymbolBuiltin (line 1236) | protected IsSymbolBuiltin() { super("symbol?"); } method isSymbol (line 1238) | @Specialization method isSymbol (line 1243) | @Fallback class IsKeywordBuiltin (line 1249) | @NodeChild(value="arg", type=ReadArgNode.class) method IsKeywordBuiltin (line 1253) | protected IsKeywordBuiltin() { super("keyword?"); } method isKeyword (line 1255) | @Specialization method isKeyword (line 1260) | @Fallback class IsVectorBuiltin (line 1266) | @NodeChild(value="arg", type=ReadArgNode.class) method IsVectorBuiltin (line 1270) | protected IsVectorBuiltin() { super("vector?"); } method isVector (line 1272) | @Specialization method isVector (line 1277) | @Fallback class IsSequentialBuiltin (line 1283) | @NodeChild(value="arg", type=ReadArgNode.class) method IsSequentialBuiltin (line 1287) | protected IsSequentialBuiltin() { super("sequential?"); } method isSequential (line 1289) | @Specialization method isSequential (line 1293) | @Specialization method isSequential (line 1297) | @Fallback class IsMapBuiltin (line 1303) | @NodeChild(value="arg", type=ReadArgNode.class) method IsMapBuiltin (line 1307) | protected IsMapBuiltin() { super("map?"); } method isMap (line 1309) | @Specialization method isMap (line 1313) | @Fallback class IsStringBuiltin (line 1319) | @NodeChild(value="arg", type=ReadArgNode.class) method IsStringBuiltin (line 1323) | protected IsStringBuiltin() { super("string?"); } method isString (line 1325) | @Specialization method isString (line 1330) | @Fallback class IsNumberBuiltin (line 1336) | @NodeChild(value="arg", type=ReadArgNode.class) method IsNumberBuiltin (line 1340) | protected IsNumberBuiltin() { super("number?"); } method isNumber (line 1342) | @Specialization method isNumber (line 1347) | @Fallback class IsFnBuiltin (line 1353) | @NodeChild(value="arg", type=ReadArgNode.class) method IsFnBuiltin (line 1357) | protected IsFnBuiltin() { super("fn?"); } method isFn (line 1359) | @Specialization method isFn (line 1364) | @Fallback class IsMacroBuiltin (line 1370) | @NodeChild(value="arg", type=ReadArgNode.class) method IsMacroBuiltin (line 1374) | protected IsMacroBuiltin() { super("macro?"); } method isMacro (line 1376) | @Specialization method isMacro (line 1381) | @Fallback class EvalBuiltin (line 1389) | @NodeChild(value="ast", type=ReadArgNode.class) method EvalBuiltin (line 1393) | protected EvalBuiltin() { super("eval"); } method eval (line 1395) | @Specialization class ThrowBuiltin (line 1402) | @NodeChild(value="obj", type=ReadArgNode.class) method ThrowBuiltin (line 1406) | protected ThrowBuiltin() { super("throw"); } method throwException (line 1408) | @TruffleBoundary method throwException (line 1414) | @TruffleBoundary class SymbolBuiltin (line 1421) | @NodeChild(value="arg", type=ReadArgNode.class) method SymbolBuiltin (line 1425) | protected SymbolBuiltin() { super("symbol"); } method symbol (line 1427) | @Specialization method symbol (line 1432) | @Specialization class KeywordBuiltin (line 1438) | @GenerateNodeFactory method KeywordBuiltin (line 1442) | protected KeywordBuiltin() { super("keyword"); } method keyword (line 1444) | @Specialization method keyword (line 1449) | @Specialization class ReadlineBuiltin (line 1455) | @NodeChild(value="prompt", type=ReadArgNode.class) method ReadlineBuiltin (line 1459) | protected ReadlineBuiltin() { super("readline"); } method readline (line 1461) | @Specialization class MetaBuiltin (line 1475) | @NodeChild(value="arg", type=ReadArgNode.class) method MetaBuiltin (line 1479) | protected MetaBuiltin() { super("meta"); } method meta (line 1481) | @Specialization method meta (line 1486) | @Fallback class WithMetaBuiltin (line 1492) | @NodeChild(value="arg", type=ReadArgNode.class) method WithMetaBuiltin (line 1497) | protected WithMetaBuiltin() { super("with-meta"); } method withMeta (line 1499) | @Specialization class TimeMsBuiltin (line 1505) | @GenerateNodeFactory method TimeMsBuiltin (line 1508) | protected TimeMsBuiltin() { super("time-ms"); } method timeMs (line 1510) | @TruffleBoundary FILE: impls/java-truffle/src/main/java/truffle/mal/MalEnv.java class MalEnv (line 21) | @ExportLibrary(InteropLibrary.class) method MalEnv (line 32) | private MalEnv(Class> language, MalEnv ou... method MalEnv (line 39) | MalEnv(Class> language) { method MalEnv (line 43) | MalEnv(MalEnv outer) { method MalEnv (line 47) | MalEnv(Class> language, LexicalScope scop... method MalEnv (line 51) | MalEnv(MalEnv outer, LexicalScope scope) { method set (line 61) | @TruffleBoundary method set (line 83) | void set(EnvSlot slot, Object value) { method get (line 97) | @TruffleBoundary method get (line 121) | @TruffleBoundary method cachedGet (line 136) | @TruffleBoundary method get (line 162) | @ExplodeLoop method hasLanguage (line 171) | @ExportMessage method getLanguage (line 176) | @ExportMessage method hasMembers (line 181) | @ExportMessage method readMember (line 186) | @ExportMessage method isMemberReadable (line 192) | @ExportMessage method toDisplayString (line 198) | @ExportMessage method isMemberInsertable (line 204) | @ExportMessage method isMemberModifiable (line 210) | @ExportMessage method writeMember (line 216) | @ExportMessage method getMembers (line 222) | @ExportMessage class CachedResult (line 233) | static class CachedResult { method CachedResult (line 237) | CachedResult(Object result) { class EnvMembersObject (line 243) | @ExportLibrary(InteropLibrary.class) method EnvMembersObject (line 247) | EnvMembersObject(Object[] names) { method hasArrayElements (line 250) | @ExportMessage method isArrayElementReadable (line 254) | @ExportMessage method getArraySize (line 258) | @ExportMessage method readArrayElement (line 262) | @ExportMessage class LexicalScope (line 276) | class LexicalScope { method LexicalScope (line 283) | LexicalScope() { method LexicalScope (line 287) | LexicalScope(LexicalScope parent) { method getNotDynamicallyBound (line 295) | private Assumption getNotDynamicallyBound(MalSymbol symbol) { method allocateSlot (line 310) | @TruffleBoundary method getSlot (line 325) | @TruffleBoundary method wasDynamicallyBound (line 351) | @TruffleBoundary method getStaticBindingCount (line 359) | public int getStaticBindingCount() { class EnvSlot (line 363) | static class EnvSlot { method EnvSlot (line 368) | private EnvSlot(int height, int slotNum, Assumption notDynamicallyBo... FILE: impls/java-truffle/src/main/java/truffle/mal/Printer.java class Printer (line 3) | public class Printer { method prStr (line 5) | public static String prStr(Object form, boolean printReadably) { method prStr (line 11) | public static void prStr(StringBuilder buf, Object form, boolean print... FILE: impls/java-truffle/src/main/java/truffle/mal/Reader.java class Reader (line 7) | public class Reader { method tokenize (line 10) | public static List tokenize(String s) { method readStr (line 22) | public static Object readStr(String s) { method Reader (line 29) | private Reader(List tokens) { method hasNext (line 33) | private boolean hasNext() { method peek (line 37) | private String peek() { method next (line 44) | private String next() { method readForm (line 51) | private Object readForm() { method readVector (line 96) | private MalVector readVector() { method readList (line 106) | private MalList readList() { method readMap (line 121) | private MalMap readMap() { method readAtom (line 131) | private Object readAtom() { FILE: impls/java-truffle/src/main/java/truffle/mal/Types.java class Types (line 18) | public class Types { type MetaHolder (line 21) | interface MetaHolder { method getMeta (line 22) | Object getMeta(); method withMeta (line 23) | T withMeta(Object meta); class MalException (line 26) | @SuppressWarnings("serial") method MalException (line 30) | MalException(String message) { method MalException (line 35) | MalException(Object obj) { method fillInStackTrace (line 40) | @Override method getLocation (line 45) | @Override class MalValue (line 51) | abstract class MalValue { method toString (line 52) | @Override class MalNil (line 59) | @ExportLibrary(InteropLibrary.class) method MalNil (line 63) | private MalNil() {} method toDisplayString (line 65) | @ExportMessage class MalList (line 71) | @ExportLibrary(InteropLibrary.class) method from (line 75) | @TruffleBoundary method computeHash (line 86) | private static int computeHash(Object head, MalList tail) { method MalList (line 101) | @TruffleBoundary method MalList (line 110) | @TruffleBoundary method MalList (line 119) | @TruffleBoundary method isEmpty (line 128) | public boolean isEmpty() { method cons (line 132) | @TruffleBoundary method hashCode (line 137) | @Override method equals (line 142) | @Override method toDisplayString (line 181) | @ExportMessage method iterator (line 186) | @Override class MalListIterator (line 191) | private static class MalListIterator implements Iterator { method MalListIterator (line 194) | MalListIterator(MalList list) { method hasNext (line 198) | @Override method next (line 203) | @Override method getMeta (line 211) | @Override method withMeta (line 216) | @Override class MalVector (line 222) | @ExportLibrary(InteropLibrary.class) method MalVector (line 229) | private MalVector() { method MalVector (line 234) | private MalVector(PersistentVector vector, Object meta) { method append (line 239) | @TruffleBoundary method concat (line 244) | @TruffleBoundary method concat (line 253) | @TruffleBoundary method size (line 258) | public int size() { method get (line 262) | public Object get(int i) { method hashCode (line 266) | @Override method equals (line 271) | @Override method iterator (line 286) | @Override method toList (line 291) | @TruffleBoundary method toDisplayString (line 300) | @ExportMessage method getMeta (line 305) | @Override method withMeta (line 310) | @Override class MalMap (line 316) | @ExportLibrary(InteropLibrary.class) method MalMap (line 323) | private MalMap() { method MalMap (line 328) | private MalMap(PersistentHashMap map, Object meta) { method assoc (line 333) | @TruffleBoundary method dissoc (line 338) | @TruffleBoundary method get (line 343) | @TruffleBoundary method hashCode (line 352) | @TruffleBoundary method equals (line 358) | @TruffleBoundary method toDisplayString (line 371) | @ExportMessage method getMeta (line 376) | @Override method withMeta (line 381) | @Override class MalKeyword (line 387) | @ExportLibrary(InteropLibrary.class) method get (line 393) | public static MalKeyword get(String keyword) { method MalKeyword (line 397) | private MalKeyword(String keyword) { method hashCode (line 401) | @Override method equals (line 406) | @Override method toDisplayString (line 417) | @ExportMessage class MalSymbol (line 423) | @ExportLibrary(InteropLibrary.class) method get (line 425) | public static MalSymbol get(String symbol) { method MalSymbol (line 447) | private MalSymbol(String symbol) { method hashCode (line 451) | @Override method equals (line 456) | @Override method toDisplayString (line 473) | @ExportMessage class MalFunction (line 479) | @ExportLibrary(InteropLibrary.class) method MalFunction (line 488) | MalFunction(RootCallTarget callTarget, MalEnv closedOverEnv, int numAr... method MalFunction (line 497) | MalFunction(RootCallTarget callTarget, MalEnv closedOverEnv, int numAr... method MalFunction (line 501) | MalFunction(MalFunction f, boolean isMacro) { method MalFunction (line 505) | MalFunction(MalFunction f, Object meta, boolean isMacro) { method MalFunction (line 509) | MalFunction(MalFunction f, Object meta, boolean isMacro, boolean canBe... method toDisplayString (line 518) | @ExportMessage method getMeta (line 523) | @Override method withMeta (line 528) | @Override class MalAtom (line 534) | @ExportLibrary(InteropLibrary.class) method MalAtom (line 538) | public MalAtom(Object initialValue) { method deref (line 542) | public Object deref() { method reset (line 546) | public Object reset(Object newValue) { method toDisplayString (line 551) | @ExportMessage FILE: impls/java-truffle/src/main/java/truffle/mal/step0_repl.java class step0_repl (line 7) | public class step0_repl { method READ (line 8) | private static String READ(String s) { method PRINT (line 12) | private static void PRINT(String s) { method rep (line 16) | private static void rep(String s) { method main (line 20) | public static void main(String[] args) throws IOException { FILE: impls/java-truffle/src/main/java/truffle/mal/step1_read_print.java class step1_read_print (line 7) | public class step1_read_print { method main (line 9) | public static void main(String[] args) throws IOException { FILE: impls/java-truffle/src/main/java/truffle/mal/step2_eval.java class step2_eval (line 26) | public class step2_eval { method main (line 29) | public static void main(String[] args) throws IOException { class BuiltinFn (line 53) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 55) | BuiltinFn(Function fn) { class MalNode (line 67) | static abstract class MalNode extends Node { method MalNode (line 69) | protected MalNode(Object form) { method executeGeneric (line 73) | public abstract Object executeGeneric(VirtualFrame frame); method executeLong (line 75) | public long executeLong(VirtualFrame frame) throws UnexpectedResultE... method executeBoolean (line 83) | public boolean executeBoolean(VirtualFrame frame) throws UnexpectedR... method formToNode (line 92) | private static MalNode formToNode(Object form) { class LiteralNode (line 116) | static class LiteralNode extends MalNode { method LiteralNode (line 117) | LiteralNode(Object form) { method executeGeneric (line 121) | @Override class VectorNode (line 127) | static class VectorNode extends MalNode { method VectorNode (line 130) | VectorNode(MalVector vector) { method executeGeneric (line 138) | @Override class MapNode (line 148) | static class MapNode extends MalNode { method MapNode (line 150) | MapNode(MalMap map) { method executeGeneric (line 159) | @Override class LookupNode (line 169) | static class LookupNode extends MalNode { method LookupNode (line 172) | LookupNode(MalSymbol symbol) { method lookup (line 177) | @TruffleBoundary method executeGeneric (line 186) | @Override class ApplyNode (line 192) | static class ApplyNode extends MalNode { method ApplyNode (line 196) | ApplyNode(MalList list) { method executeGeneric (line 208) | @Override class MalRootNode (line 219) | static class MalRootNode extends RootNode { method MalRootNode (line 223) | MalRootNode(TruffleLanguage language, Object form) { method execute (line 229) | @Override class MalContext (line 235) | public final static class MalContext { class MalLanguage (line 239) | @TruffleLanguage.Registration( method createContext (line 245) | @Override method parse (line 250) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/step3_env.java class step3_env (line 25) | public class step3_env { method main (line 28) | public static void main(String[] args) throws IOException { class BuiltinFn (line 52) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 54) | BuiltinFn(Function fn) { class MalNode (line 59) | static abstract class MalNode extends Node { method MalNode (line 61) | protected MalNode(Object form) { method executeGeneric (line 65) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 67) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 75) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method formToNode (line 84) | private static MalNode formToNode(Object form) { class LiteralNode (line 106) | static class LiteralNode extends MalNode { method LiteralNode (line 107) | LiteralNode(Object form) { method executeGeneric (line 111) | @Override class VectorNode (line 117) | static class VectorNode extends MalNode { method VectorNode (line 120) | VectorNode(MalVector vector) { method executeGeneric (line 128) | @Override class MapNode (line 138) | static class MapNode extends MalNode { method MapNode (line 140) | MapNode(MalMap map) { method executeGeneric (line 149) | @Override class LookupNode (line 159) | static class LookupNode extends MalNode { method LookupNode (line 162) | LookupNode(MalSymbol symbol) { method executeGeneric (line 167) | @Override class ApplyNode (line 177) | static class ApplyNode extends MalNode { method ApplyNode (line 181) | ApplyNode(MalList list) { method executeGeneric (line 193) | @Override class DefNode (line 204) | static class DefNode extends MalNode { method DefNode (line 208) | DefNode(MalList list) { method executeGeneric (line 214) | @Override class LetBindingNode (line 222) | static class LetBindingNode extends Node { method LetBindingNode (line 225) | LetBindingNode(MalSymbol symbol, Object valueForm) { method executeGeneric (line 230) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 235) | static class LetNode extends MalNode { method LetNode (line 239) | LetNode(MalList form) { method executeGeneric (line 251) | @ExplodeLoop class MalRootNode (line 262) | static class MalRootNode extends RootNode { method MalRootNode (line 266) | MalRootNode(TruffleLanguage language, Object form) { method execute (line 272) | @Override class MalContext (line 279) | final static class MalContext { class MalLanguage (line 283) | @TruffleLanguage.Registration( method createContext (line 289) | @Override method parse (line 299) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/step4_if_fn_do.java class step4_if_fn_do (line 31) | public class step4_if_fn_do { method main (line 34) | public static void main(String[] args) throws IOException { class BuiltinFn (line 60) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 62) | BuiltinFn(Function fn) { class MalNode (line 67) | static abstract class MalNode extends Node { method MalNode (line 69) | protected MalNode(Object form) { method executeGeneric (line 73) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 75) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 83) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method formToNode (line 92) | private static MalNode formToNode(MalLanguage language, Object form) { class LiteralNode (line 120) | static class LiteralNode extends MalNode { method LiteralNode (line 121) | LiteralNode(Object form) { method executeGeneric (line 125) | @Override class VectorNode (line 131) | static class VectorNode extends MalNode { method VectorNode (line 134) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 142) | @Override class MapNode (line 152) | static class MapNode extends MalNode { method MapNode (line 154) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 163) | @Override class LookupNode (line 173) | static class LookupNode extends MalNode { method LookupNode (line 176) | LookupNode(MalSymbol symbol) { method executeGeneric (line 181) | @Override class InvokeNode (line 191) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 194) | InvokeNode() { method invoke (line 197) | Object invoke(CallTarget target, Object[] args) { class ApplyNode (line 202) | static class ApplyNode extends MalNode { method ApplyNode (line 207) | ApplyNode(MalLanguage language, MalList list) { method executeGeneric (line 219) | @Override class DefNode (line 231) | static class DefNode extends MalNode { method DefNode (line 235) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 241) | @Override class LetBindingNode (line 249) | static class LetBindingNode extends Node { method LetBindingNode (line 253) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 258) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 263) | static class LetNode extends MalNode { method LetNode (line 267) | LetNode(MalLanguage language, MalList form) { method executeGeneric (line 279) | @ExplodeLoop class MalRootNode (line 290) | static class MalRootNode extends RootNode { method MalRootNode (line 294) | MalRootNode(MalLanguage language, Object form) { method execute (line 300) | @Override method toString (line 306) | @Override class DoNode (line 312) | static class DoNode extends MalNode { method DoNode (line 315) | DoNode(MalLanguage language, MalList form) { method executeGeneric (line 324) | @ExplodeLoop class IfNode (line 338) | static class IfNode extends MalNode { method IfNode (line 343) | IfNode(MalLanguage language, MalList form) { method executeGeneric (line 351) | @Override class AbstractBindArgNode (line 366) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 370) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 375) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 378) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 380) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 384) | @Override class BindVarargsNode (line 390) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 391) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 395) | @TruffleBoundary method execute (line 404) | @Override class FnRootNode (line 413) | static class FnRootNode extends RootNode { method FnRootNode (line 419) | FnRootNode(MalLanguage language, MalList form) { method execute (line 444) | @ExplodeLoop class FnNode (line 458) | static class FnNode extends MalNode { method FnNode (line 462) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 468) | @Override class MalContext (line 474) | final static class MalContext { method MalContext (line 480) | MalContext(MalLanguage language) { class MalLanguage (line 488) | @TruffleLanguage.Registration( method createContext (line 494) | @Override method evalForm (line 499) | @Override method invokeNode (line 505) | @Override method parse (line 510) | @Override method findTopScopes (line 517) | @Override method out (line 522) | @Override method in (line 527) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/step5_tco.java class step5_tco (line 32) | public class step5_tco { method main (line 35) | public static void main(String[] args) throws IOException { class BuiltinFn (line 61) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 63) | BuiltinFn(Function fn) { class MalNode (line 68) | static abstract class MalNode extends Node { method MalNode (line 70) | protected MalNode(Object form) { method executeGeneric (line 74) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 76) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 84) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method formToNode (line 93) | private static MalNode formToNode(MalLanguage language, Object form, b... class LiteralNode (line 121) | static class LiteralNode extends MalNode { method LiteralNode (line 122) | LiteralNode(Object form) { method executeGeneric (line 126) | @Override class VectorNode (line 132) | static class VectorNode extends MalNode { method VectorNode (line 135) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 143) | @Override class MapNode (line 153) | static class MapNode extends MalNode { method MapNode (line 155) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 164) | @Override class LookupNode (line 174) | static class LookupNode extends MalNode { method LookupNode (line 177) | LookupNode(MalSymbol symbol) { method executeGeneric (line 182) | @Override class TailCallException (line 192) | @SuppressWarnings("serial") method TailCallException (line 196) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 202) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 206) | InvokeNode(boolean tailPosition) { method invoke (line 210) | Object invoke(CallTarget target, Object[] args) { class ApplyNode (line 226) | static class ApplyNode extends MalNode { method ApplyNode (line 231) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition) { method executeGeneric (line 244) | @Override class DefNode (line 256) | static class DefNode extends MalNode { method DefNode (line 260) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 266) | @Override class LetBindingNode (line 274) | static class LetBindingNode extends Node { method LetBindingNode (line 278) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 283) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 288) | static class LetNode extends MalNode { method LetNode (line 292) | LetNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 304) | @ExplodeLoop class MalRootNode (line 318) | static class MalRootNode extends RootNode { method MalRootNode (line 322) | MalRootNode(MalLanguage language, Object form) { method execute (line 330) | @Override method toString (line 336) | @Override class DoNode (line 342) | static class DoNode extends MalNode { method DoNode (line 345) | DoNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 354) | @ExplodeLoop class IfNode (line 368) | static class IfNode extends MalNode { method IfNode (line 373) | IfNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 381) | @Override class AbstractBindArgNode (line 396) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 400) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 405) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 408) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 410) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 414) | @Override class BindVarargsNode (line 420) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 421) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 425) | @TruffleBoundary method execute (line 434) | @Override class FnRootNode (line 443) | static class FnRootNode extends RootNode { method FnRootNode (line 449) | FnRootNode(MalLanguage language, MalList form) { method execute (line 474) | @ExplodeLoop class FnNode (line 488) | static class FnNode extends MalNode { method FnNode (line 492) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 498) | @Override class MalContext (line 504) | final static class MalContext { method MalContext (line 510) | MalContext(MalLanguage language) { class MalLanguage (line 518) | @TruffleLanguage.Registration( method createContext (line 524) | @Override method evalForm (line 529) | @Override method invokeNode (line 535) | @Override method parse (line 540) | @Override method findTopScopes (line 547) | @Override method out (line 552) | @Override method in (line 557) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/step6_file.java class step6_file (line 32) | public class step6_file { method main (line 35) | public static void main(String[] args) throws IOException { class BuiltinFn (line 78) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 80) | BuiltinFn(Function fn) { class MalNode (line 85) | static abstract class MalNode extends Node { method MalNode (line 87) | protected MalNode(Object form) { method executeGeneric (line 91) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 93) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 101) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method formToNode (line 110) | private static MalNode formToNode(MalLanguage language, Object form, b... class LiteralNode (line 138) | static class LiteralNode extends MalNode { method LiteralNode (line 139) | LiteralNode(Object form) { method executeGeneric (line 143) | @Override class VectorNode (line 149) | static class VectorNode extends MalNode { method VectorNode (line 152) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 160) | @Override class MapNode (line 170) | static class MapNode extends MalNode { method MapNode (line 172) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 181) | @Override class LookupNode (line 191) | static class LookupNode extends MalNode { method LookupNode (line 194) | LookupNode(MalSymbol symbol) { method executeGeneric (line 199) | @Override class TailCallException (line 209) | @SuppressWarnings("serial") method TailCallException (line 213) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 219) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 223) | InvokeNode(boolean tailPosition) { method invoke (line 227) | Object invoke(CallTarget target, Object[] args) { class ApplyNode (line 243) | static class ApplyNode extends MalNode { method ApplyNode (line 248) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition) { method executeGeneric (line 261) | @Override class DefNode (line 273) | static class DefNode extends MalNode { method DefNode (line 277) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 283) | @Override class LetBindingNode (line 291) | static class LetBindingNode extends Node { method LetBindingNode (line 295) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 300) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 305) | static class LetNode extends MalNode { method LetNode (line 309) | LetNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 321) | @ExplodeLoop class MalRootNode (line 335) | static class MalRootNode extends RootNode { method MalRootNode (line 339) | MalRootNode(MalLanguage language, Object form) { method execute (line 347) | @Override method toString (line 353) | @Override class DoNode (line 359) | static class DoNode extends MalNode { method DoNode (line 362) | DoNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 371) | @ExplodeLoop class IfNode (line 385) | static class IfNode extends MalNode { method IfNode (line 390) | IfNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 398) | @Override class AbstractBindArgNode (line 413) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 417) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 422) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 425) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 427) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 431) | @Override class BindVarargsNode (line 437) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 438) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 442) | @TruffleBoundary method execute (line 451) | @Override class FnRootNode (line 460) | static class FnRootNode extends RootNode { method FnRootNode (line 466) | FnRootNode(MalLanguage language, MalList form) { method execute (line 491) | @ExplodeLoop class FnNode (line 505) | static class FnNode extends MalNode { method FnNode (line 509) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 515) | @Override class MalContext (line 521) | final static class MalContext { method MalContext (line 527) | MalContext(MalLanguage language) { class MalLanguage (line 535) | @TruffleLanguage.Registration( method createContext (line 541) | @Override method evalForm (line 546) | @Override method invokeNode (line 552) | @Override method parse (line 557) | @Override method findTopScopes (line 564) | @Override method out (line 569) | @Override method in (line 574) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/step7_quote.java class step7_quote (line 32) | public class step7_quote { method main (line 35) | public static void main(String[] args) throws IOException { class BuiltinFn (line 78) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 80) | BuiltinFn(Function fn) { class MalNode (line 85) | static abstract class MalNode extends Node { method MalNode (line 87) | protected MalNode(Object form) { method executeGeneric (line 91) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 93) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 101) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 110) | private static boolean isPair(Object obj) { method quasiquote (line 116) | private static Object quasiquote(Object form) { method formToNode (line 136) | private static MalNode formToNode(MalLanguage language, Object form, b... class LiteralNode (line 168) | static class LiteralNode extends MalNode { method LiteralNode (line 169) | LiteralNode(Object form) { method executeGeneric (line 173) | @Override class VectorNode (line 179) | static class VectorNode extends MalNode { method VectorNode (line 182) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 190) | @Override class MapNode (line 200) | static class MapNode extends MalNode { method MapNode (line 202) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 211) | @Override class LookupNode (line 221) | static class LookupNode extends MalNode { method LookupNode (line 224) | LookupNode(MalSymbol symbol) { method executeGeneric (line 229) | @Override class TailCallException (line 239) | @SuppressWarnings("serial") method TailCallException (line 243) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 249) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 253) | InvokeNode(boolean tailPosition) { method invoke (line 257) | Object invoke(CallTarget target, Object[] args) { class ApplyNode (line 273) | static class ApplyNode extends MalNode { method ApplyNode (line 278) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition) { method executeGeneric (line 291) | @Override class DefNode (line 303) | static class DefNode extends MalNode { method DefNode (line 307) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 313) | @Override class LetBindingNode (line 321) | static class LetBindingNode extends Node { method LetBindingNode (line 325) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 330) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 335) | static class LetNode extends MalNode { method LetNode (line 339) | LetNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 351) | @ExplodeLoop class MalRootNode (line 365) | static class MalRootNode extends RootNode { method MalRootNode (line 369) | MalRootNode(MalLanguage language, Object form) { method execute (line 377) | @Override method toString (line 383) | @Override class DoNode (line 389) | static class DoNode extends MalNode { method DoNode (line 392) | DoNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 401) | @ExplodeLoop class IfNode (line 415) | static class IfNode extends MalNode { method IfNode (line 420) | IfNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 428) | @Override class AbstractBindArgNode (line 443) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 447) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 452) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 455) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 457) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 461) | @Override class BindVarargsNode (line 467) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 468) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 472) | @TruffleBoundary method execute (line 481) | @Override class FnRootNode (line 490) | static class FnRootNode extends RootNode { method FnRootNode (line 496) | FnRootNode(MalLanguage language, MalList form) { method execute (line 521) | @ExplodeLoop class FnNode (line 535) | static class FnNode extends MalNode { method FnNode (line 539) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 545) | @Override class QuoteNode (line 551) | static class QuoteNode extends MalNode { method QuoteNode (line 554) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 559) | @Override class MalContext (line 565) | final static class MalContext { method MalContext (line 571) | MalContext(MalLanguage language) { class MalLanguage (line 579) | @TruffleLanguage.Registration( method createContext (line 585) | @Override method evalForm (line 590) | @Override method invokeNode (line 596) | @Override method parse (line 601) | @Override method findTopScopes (line 608) | @Override method out (line 613) | @Override method in (line 618) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/step8_macros.java class step8_macros (line 32) | public class step8_macros { method main (line 35) | public static void main(String[] args) throws IOException { class BuiltinFn (line 79) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 81) | BuiltinFn(Function fn) { class MalNode (line 86) | static abstract class MalNode extends Node { method MalNode (line 88) | protected MalNode(Object form) { method executeGeneric (line 92) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 94) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 102) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 111) | private static boolean isPair(Object obj) { method quasiquote (line 117) | private static Object quasiquote(Object form) { method formToNode (line 137) | private static MalNode formToNode(MalLanguage language, Object form, b... class LiteralNode (line 171) | static class LiteralNode extends MalNode { method LiteralNode (line 172) | LiteralNode(Object form) { method executeGeneric (line 176) | @Override class VectorNode (line 182) | static class VectorNode extends MalNode { method VectorNode (line 185) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 193) | @Override class MapNode (line 203) | static class MapNode extends MalNode { method MapNode (line 205) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 214) | @Override class LookupNode (line 224) | static class LookupNode extends MalNode { method LookupNode (line 227) | LookupNode(MalSymbol symbol) { method executeGeneric (line 232) | @Override class TailCallException (line 242) | @SuppressWarnings("serial") method TailCallException (line 246) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 252) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 256) | InvokeNode(boolean tailPosition) { method invoke (line 260) | Object invoke(CallTarget target, Object[] args) { method invoke (line 264) | Object invoke(CallTarget target, Object[] args, boolean allowTailCal... method getMacroFn (line 280) | private static MalFunction getMacroFn(MalEnv env, Object form) { method macroexpand (line 296) | static Object macroexpand(InvokeNode invokeNode, MalEnv env, Object fo... class MacroexpandNode (line 314) | static class MacroexpandNode extends MalNode { method MacroexpandNode (line 318) | MacroexpandNode(MalList form) { method executeGeneric (line 323) | @Override class ApplyNode (line 329) | static class ApplyNode extends MalNode { method ApplyNode (line 335) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition) { method applyMacro (line 349) | @TruffleBoundary method executeGeneric (line 362) | @ExplodeLoop class DefNode (line 385) | static class DefNode extends MalNode { method DefNode (line 390) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 397) | @Override class LetBindingNode (line 408) | static class LetBindingNode extends Node { method LetBindingNode (line 412) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 417) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 422) | static class LetNode extends MalNode { method LetNode (line 426) | LetNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 438) | @ExplodeLoop class MalRootNode (line 452) | static class MalRootNode extends RootNode { method MalRootNode (line 457) | MalRootNode(MalLanguage language, Object form, MalEnv env, boolean t... method execute (line 466) | @Override method toString (line 471) | @Override class DoNode (line 477) | static class DoNode extends MalNode { method DoNode (line 480) | DoNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 489) | @ExplodeLoop class IfNode (line 503) | static class IfNode extends MalNode { method IfNode (line 508) | IfNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 516) | @Override class AbstractBindArgNode (line 531) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 535) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 540) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 543) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 545) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 549) | @Override class BindVarargsNode (line 555) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 556) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 560) | @TruffleBoundary method execute (line 569) | @Override class FnRootNode (line 578) | static class FnRootNode extends RootNode { method FnRootNode (line 584) | FnRootNode(MalLanguage language, MalList form) { method execute (line 609) | @ExplodeLoop class FnNode (line 623) | static class FnNode extends MalNode { method FnNode (line 627) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 633) | @Override class QuoteNode (line 639) | static class QuoteNode extends MalNode { method QuoteNode (line 642) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 647) | @Override class MalContext (line 653) | final static class MalContext { method MalContext (line 659) | MalContext(MalLanguage language) { class MalLanguage (line 667) | @TruffleLanguage.Registration( method createContext (line 673) | @Override method evalForm (line 678) | @Override method invokeNode (line 685) | @Override method parse (line 690) | @Override method findTopScopes (line 697) | @Override method out (line 702) | @Override method in (line 707) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/step9_try.java class step9_try (line 32) | public class step9_try { method main (line 35) | public static void main(String[] args) throws IOException { class BuiltinFn (line 79) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 81) | BuiltinFn(Function fn) { class MalNode (line 86) | static abstract class MalNode extends Node { method MalNode (line 88) | protected MalNode(Object form) { method executeGeneric (line 92) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 94) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 102) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 111) | private static boolean isPair(Object obj) { method quasiquote (line 117) | private static Object quasiquote(Object form) { method formToNode (line 137) | private static MalNode formToNode(MalLanguage language, Object form, b... class LiteralNode (line 173) | static class LiteralNode extends MalNode { method LiteralNode (line 174) | LiteralNode(Object form) { method executeGeneric (line 178) | @Override class VectorNode (line 184) | static class VectorNode extends MalNode { method VectorNode (line 187) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 195) | @Override class MapNode (line 205) | static class MapNode extends MalNode { method MapNode (line 207) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 216) | @Override class LookupNode (line 226) | static class LookupNode extends MalNode { method LookupNode (line 229) | LookupNode(MalSymbol symbol) { method executeGeneric (line 234) | @Override class TailCallException (line 244) | @SuppressWarnings("serial") method TailCallException (line 248) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 254) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 258) | InvokeNode(boolean tailPosition) { method invoke (line 262) | Object invoke(CallTarget target, Object[] args) { method invoke (line 266) | Object invoke(CallTarget target, Object[] args, boolean allowTailCal... method getMacroFn (line 282) | private static MalFunction getMacroFn(MalEnv env, Object form) { method macroexpand (line 298) | static Object macroexpand(InvokeNode invokeNode, MalEnv env, Object fo... class MacroexpandNode (line 316) | static class MacroexpandNode extends MalNode { method MacroexpandNode (line 320) | MacroexpandNode(MalList form) { method executeGeneric (line 325) | @Override class ApplyNode (line 331) | static class ApplyNode extends MalNode { method ApplyNode (line 337) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition) { method applyMacro (line 351) | @TruffleBoundary method executeGeneric (line 365) | @ExplodeLoop class DefNode (line 388) | static class DefNode extends MalNode { method DefNode (line 393) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 400) | @Override class LetBindingNode (line 411) | static class LetBindingNode extends Node { method LetBindingNode (line 415) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 420) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 425) | static class LetNode extends MalNode { method LetNode (line 429) | LetNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 441) | @ExplodeLoop class MalRootNode (line 455) | static class MalRootNode extends RootNode { method MalRootNode (line 460) | MalRootNode(MalLanguage language, Object form, MalEnv env, boolean t... method execute (line 469) | @Override method toString (line 474) | @Override class DoNode (line 480) | static class DoNode extends MalNode { method DoNode (line 483) | DoNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 492) | @ExplodeLoop class IfNode (line 506) | static class IfNode extends MalNode { method IfNode (line 511) | IfNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 519) | @Override class AbstractBindArgNode (line 534) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 538) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 543) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 546) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 548) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 552) | @Override class BindVarargsNode (line 558) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 559) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 563) | @TruffleBoundary method execute (line 572) | @Override class FnRootNode (line 581) | static class FnRootNode extends RootNode { method FnRootNode (line 587) | FnRootNode(MalLanguage language, MalList form) { method execute (line 612) | @ExplodeLoop class FnNode (line 626) | static class FnNode extends MalNode { method FnNode (line 630) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 636) | @Override class QuoteNode (line 642) | static class QuoteNode extends MalNode { method QuoteNode (line 645) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 650) | @Override class TryNode (line 656) | static class TryNode extends MalNode { method TryNode (line 661) | TryNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 676) | @Override class MalContext (line 691) | final static class MalContext { method MalContext (line 697) | MalContext(MalLanguage language) { class MalLanguage (line 705) | @TruffleLanguage.Registration( method createContext (line 711) | @Override method evalForm (line 716) | @Override method invokeNode (line 723) | @Override method parse (line 728) | @Override method findTopScopes (line 735) | @Override method out (line 740) | @Override method in (line 745) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/stepA_mal.java class stepA_mal (line 32) | public class stepA_mal { method main (line 35) | public static void main(String[] args) throws IOException { class BuiltinFn (line 80) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 82) | BuiltinFn(Function fn) { class MalNode (line 87) | static abstract class MalNode extends Node { method MalNode (line 89) | protected MalNode(Object form) { method executeGeneric (line 93) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 95) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 103) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 112) | private static boolean isPair(Object obj) { method quasiquote (line 118) | private static Object quasiquote(Object form) { method formToNode (line 138) | @TruffleBoundary class LiteralNode (line 175) | static class LiteralNode extends MalNode { method LiteralNode (line 176) | LiteralNode(Object form) { method executeGeneric (line 180) | @Override class VectorNode (line 186) | static class VectorNode extends MalNode { method VectorNode (line 189) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 197) | @Override class MapNode (line 207) | static class MapNode extends MalNode { method MapNode (line 209) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 218) | @Override class LookupNode (line 228) | static class LookupNode extends MalNode { method LookupNode (line 231) | LookupNode(MalSymbol symbol) { method executeGeneric (line 236) | @Override class TailCallException (line 246) | @SuppressWarnings("serial") method TailCallException (line 250) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 256) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 260) | InvokeNode(boolean tailPosition) { method invoke (line 264) | Object invoke(CallTarget target, Object[] args) { method invoke (line 268) | Object invoke(CallTarget target, Object[] args, boolean allowTailCal... method getMacroFn (line 284) | private static MalFunction getMacroFn(MalEnv env, Object form) { method macroexpand (line 300) | static Object macroexpand(InvokeNode invokeNode, MalEnv env, Object fo... class MacroexpandNode (line 318) | static class MacroexpandNode extends MalNode { method MacroexpandNode (line 322) | MacroexpandNode(MalList form) { method executeGeneric (line 327) | @Override class ApplyNode (line 333) | static class ApplyNode extends MalNode { method ApplyNode (line 339) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition) { method applyMacro (line 353) | @TruffleBoundary method executeGeneric (line 367) | @ExplodeLoop class DefNode (line 390) | static class DefNode extends MalNode { method DefNode (line 395) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 402) | @Override class LetBindingNode (line 413) | static class LetBindingNode extends Node { method LetBindingNode (line 417) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 422) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 427) | static class LetNode extends MalNode { method LetNode (line 431) | LetNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 443) | @ExplodeLoop class MalRootNode (line 457) | static class MalRootNode extends RootNode { method MalRootNode (line 462) | MalRootNode(MalLanguage language, Object form, MalEnv env, boolean t... method execute (line 471) | @Override method toString (line 476) | @Override class DoNode (line 482) | static class DoNode extends MalNode { method DoNode (line 485) | DoNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 494) | @ExplodeLoop class IfNode (line 508) | static class IfNode extends MalNode { method IfNode (line 513) | IfNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 521) | @Override class AbstractBindArgNode (line 536) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 540) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 545) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 548) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 550) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 554) | @Override class BindVarargsNode (line 560) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 561) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 565) | @TruffleBoundary method execute (line 574) | @Override class FnRootNode (line 583) | static class FnRootNode extends RootNode { method FnRootNode (line 589) | FnRootNode(MalLanguage language, MalList form) { method execute (line 614) | @ExplodeLoop method toString (line 624) | @Override class FnNode (line 633) | static class FnNode extends MalNode { method FnNode (line 637) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 643) | @Override class QuoteNode (line 649) | static class QuoteNode extends MalNode { method QuoteNode (line 652) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 657) | @Override class TryNode (line 663) | static class TryNode extends MalNode { method TryNode (line 668) | TryNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 683) | @Override class MalContext (line 698) | final static class MalContext { method MalContext (line 704) | MalContext(MalLanguage language) { class MalLanguage (line 712) | @TruffleLanguage.Registration( method createContext (line 718) | @Override method evalForm (line 723) | @Override method invokeNode (line 730) | @Override method parse (line 735) | @Override method findTopScopes (line 742) | @Override method out (line 747) | @Override method in (line 752) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/stepB_calls.java class stepB_calls (line 35) | public class stepB_calls { method main (line 38) | public static void main(String[] args) throws IOException { class BuiltinFn (line 83) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 85) | BuiltinFn(Function fn) { class MalNode (line 90) | static abstract class MalNode extends Node { method MalNode (line 92) | protected MalNode(Object form) { method executeGeneric (line 96) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 98) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 106) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 115) | private static boolean isPair(Object obj) { method quasiquote (line 121) | private static Object quasiquote(Object form) { method formToNode (line 141) | @TruffleBoundary class LiteralNode (line 178) | static class LiteralNode extends MalNode { method LiteralNode (line 179) | LiteralNode(Object form) { method executeGeneric (line 183) | @Override class VectorNode (line 189) | static class VectorNode extends MalNode { method VectorNode (line 192) | VectorNode(MalLanguage language, MalVector vector) { method executeGeneric (line 200) | @Override class MapNode (line 210) | static class MapNode extends MalNode { method MapNode (line 212) | MapNode(MalLanguage language, MalMap map) { method executeGeneric (line 221) | @Override class LookupNode (line 231) | static class LookupNode extends MalNode { method LookupNode (line 234) | LookupNode(MalSymbol symbol) { method executeGeneric (line 239) | @Override class TailCallException (line 249) | @SuppressWarnings("serial") method TailCallException (line 253) | @TruffleBoundary class InvokeNode (line 260) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 268) | InvokeNode(boolean tailPosition) { method invoke (line 272) | Object invoke(CallTarget target, Object[] args) { method invoke (line 276) | Object invoke(CallTarget target, Object[] args, boolean allowTailCal... method getMacroFn (line 307) | private static MalFunction getMacroFn(MalEnv env, Object form) { method macroexpand (line 323) | static Object macroexpand(InvokeNode invokeNode, MalEnv env, Object fo... class MacroexpandNode (line 341) | static class MacroexpandNode extends MalNode { method MacroexpandNode (line 345) | MacroexpandNode(MalList form) { method executeGeneric (line 350) | @Override class ApplyNode (line 356) | static class ApplyNode extends MalNode { method ApplyNode (line 365) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition) { method applyMacro (line 379) | @TruffleBoundary method executeGeneric (line 393) | @ExplodeLoop class DefNode (line 430) | static class DefNode extends MalNode { method DefNode (line 435) | DefNode(MalLanguage language, MalList list) { method executeGeneric (line 442) | @Override class LetBindingNode (line 453) | static class LetBindingNode extends Node { method LetBindingNode (line 457) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 462) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 467) | static class LetNode extends MalNode { method LetNode (line 471) | LetNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 483) | @ExplodeLoop class MalRootNode (line 497) | static class MalRootNode extends RootNode { method MalRootNode (line 502) | MalRootNode(MalLanguage language, Object form, MalEnv env, boolean t... method execute (line 511) | @Override method toString (line 516) | @Override class DoNode (line 522) | static class DoNode extends MalNode { method DoNode (line 525) | DoNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 534) | @ExplodeLoop class IfNode (line 548) | static class IfNode extends MalNode { method IfNode (line 553) | IfNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 561) | @Override class AbstractBindArgNode (line 576) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 580) | protected AbstractBindArgNode(MalSymbol symbol, int argPos) { method execute (line 585) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 588) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 590) | public BindArgNode(MalSymbol symbol, int argPos) { method execute (line 594) | @Override class BindVarargsNode (line 600) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 601) | public BindVarargsNode(MalSymbol symbol, int argPos) { method buildVarArgsList (line 605) | @TruffleBoundary method execute (line 614) | @Override class FnRootNode (line 623) | static class FnRootNode extends RootNode { method FnRootNode (line 629) | FnRootNode(MalLanguage language, MalList form) { method execute (line 654) | @ExplodeLoop method toString (line 664) | @Override class FnNode (line 673) | static class FnNode extends MalNode { method FnNode (line 677) | FnNode(MalLanguage language, MalList form) { method executeGeneric (line 683) | @Override class QuoteNode (line 689) | static class QuoteNode extends MalNode { method QuoteNode (line 692) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 697) | @Override class TryNode (line 703) | static class TryNode extends MalNode { method TryNode (line 708) | TryNode(MalLanguage language, MalList form, boolean tailPosition) { method executeGeneric (line 723) | @Override class MalContext (line 738) | final static class MalContext { method MalContext (line 744) | MalContext(MalLanguage language) { class MalLanguage (line 752) | @TruffleLanguage.Registration( method createContext (line 758) | @Override method evalForm (line 763) | @Override method invokeNode (line 770) | @Override method parse (line 775) | @Override method findTopScopes (line 782) | @Override method out (line 787) | @Override method in (line 792) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/stepC_slots.java class stepC_slots (line 37) | public class stepC_slots { method main (line 40) | public static void main(String[] args) throws IOException { class BuiltinFn (line 85) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 87) | BuiltinFn(Function fn) { class MalNode (line 92) | static abstract class MalNode extends Node { method MalNode (line 94) | protected MalNode(Object form) { method executeGeneric (line 98) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 100) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 108) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 117) | private static boolean isPair(Object obj) { method quasiquote (line 123) | private static Object quasiquote(Object form) { method formToNode (line 143) | @TruffleBoundary class LiteralNode (line 180) | static class LiteralNode extends MalNode { method LiteralNode (line 181) | LiteralNode(Object form) { method executeGeneric (line 185) | @Override class VectorNode (line 191) | static class VectorNode extends MalNode { method VectorNode (line 194) | VectorNode(MalLanguage language, MalVector vector, LexicalScope scop... method executeGeneric (line 202) | @Override class MapNode (line 212) | static class MapNode extends MalNode { method MapNode (line 214) | MapNode(MalLanguage language, MalMap map, LexicalScope scope) { method executeGeneric (line 224) | @Override class LookupNode (line 236) | static class LookupNode extends MalNode { method LookupNode (line 242) | LookupNode(MalSymbol symbol, LexicalScope scope) { method executeGeneric (line 248) | @Override class TailCallException (line 272) | @SuppressWarnings("serial") method TailCallException (line 276) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 282) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 290) | InvokeNode(boolean tailPosition) { method invoke (line 294) | Object invoke(CallTarget target, Object[] args) { method invoke (line 298) | Object invoke(CallTarget target, Object[] args, boolean allowTailCal... method getMacroFn (line 329) | private static MalFunction getMacroFn(MalEnv env, Object form) { method macroexpand (line 345) | static Object macroexpand(InvokeNode invokeNode, MalEnv env, Object fo... class MacroexpandNode (line 363) | static class MacroexpandNode extends MalNode { method MacroexpandNode (line 367) | MacroexpandNode(MalList form) { method executeGeneric (line 372) | @Override class ApplyNode (line 378) | static class ApplyNode extends MalNode { method ApplyNode (line 388) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition, ... method applyMacro (line 403) | @TruffleBoundary method executeGeneric (line 417) | @ExplodeLoop class DefNode (line 454) | static class DefNode extends MalNode { method DefNode (line 462) | DefNode(MalLanguage language, MalList list, LexicalScope scope) { method executeGeneric (line 470) | @Override class LetBindingNode (line 493) | static class LetBindingNode extends Node { method LetBindingNode (line 497) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 502) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 507) | static class LetNode extends MalNode { method LetNode (line 512) | LetNode(MalLanguage language, MalList form, boolean tailPosition, Le... method executeGeneric (line 525) | @ExplodeLoop class MalRootNode (line 539) | static class MalRootNode extends RootNode { method MalRootNode (line 544) | MalRootNode(MalLanguage language, Object form, MalEnv env, boolean t... method execute (line 553) | @Override method toString (line 558) | @Override class DoNode (line 564) | static class DoNode extends MalNode { method DoNode (line 567) | DoNode(MalLanguage language, MalList form, boolean tailPosition, Lex... method executeGeneric (line 576) | @ExplodeLoop class IfNode (line 590) | static class IfNode extends MalNode { method IfNode (line 595) | IfNode(MalLanguage language, MalList form, boolean tailPosition, Lex... method executeGeneric (line 603) | @Override class AbstractBindArgNode (line 618) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 622) | protected AbstractBindArgNode(MalSymbol symbol, int argPos, LexicalS... method execute (line 627) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 630) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 632) | public BindArgNode(MalSymbol symbol, int argPos, LexicalScope scope) { method execute (line 636) | @Override class BindVarargsNode (line 642) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 643) | public BindVarargsNode(MalSymbol symbol, int argPos, LexicalScope sc... method buildVarArgsList (line 647) | @TruffleBoundary method execute (line 656) | @Override class FnRootNode (line 666) | static class FnRootNode extends RootNode { method FnRootNode (line 673) | FnRootNode(MalLanguage language, MalList form, LexicalScope outerSco... method execute (line 699) | @ExplodeLoop method toString (line 709) | @Override class FnNode (line 718) | static class FnNode extends MalNode { method FnNode (line 722) | FnNode(MalLanguage language, MalList form, LexicalScope scope) { method executeGeneric (line 728) | @Override class QuoteNode (line 734) | static class QuoteNode extends MalNode { method QuoteNode (line 737) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 742) | @Override class TryNode (line 748) | static class TryNode extends MalNode { method TryNode (line 754) | TryNode(MalLanguage language, MalList form, boolean tailPosition, Le... method executeGeneric (line 772) | @Override class MalContext (line 787) | final static class MalContext { method MalContext (line 794) | MalContext(MalLanguage language) { class MalLanguage (line 803) | @TruffleLanguage.Registration( method createContext (line 809) | @Override method evalForm (line 814) | @Override method invokeNode (line 821) | @Override method parse (line 826) | @Override method findTopScopes (line 833) | @Override method out (line 838) | @Override method in (line 843) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/stepD_caching.java class stepD_caching (line 39) | public class stepD_caching { method main (line 42) | public static void main(String[] args) throws IOException { class BuiltinFn (line 87) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 89) | BuiltinFn(Function fn) { class MalNode (line 94) | static abstract class MalNode extends Node { method MalNode (line 96) | protected MalNode(Object form) { method executeGeneric (line 100) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 102) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 110) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 119) | private static boolean isPair(Object obj) { method quasiquote (line 125) | private static Object quasiquote(Object form) { method formToNode (line 145) | @TruffleBoundary class LiteralNode (line 182) | static class LiteralNode extends MalNode { method LiteralNode (line 183) | LiteralNode(Object form) { method executeGeneric (line 187) | @Override class VectorNode (line 193) | static class VectorNode extends MalNode { method VectorNode (line 196) | VectorNode(MalLanguage language, MalVector vector, LexicalScope scop... method executeGeneric (line 204) | @Override class MapNode (line 214) | static class MapNode extends MalNode { method MapNode (line 216) | MapNode(MalLanguage language, MalMap map, LexicalScope scope) { method executeGeneric (line 226) | @Override class LookupNode (line 238) | static class LookupNode extends MalNode { method LookupNode (line 246) | LookupNode(MalSymbol symbol, LexicalScope scope) { method executeGeneric (line 252) | @Override class TailCallException (line 284) | @SuppressWarnings("serial") method TailCallException (line 288) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 294) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 302) | InvokeNode(boolean tailPosition) { method invoke (line 306) | Object invoke(CallTarget target, Object[] args) { method invoke (line 310) | Object invoke(CallTarget target, Object[] args, boolean allowTailCal... method getMacroFn (line 341) | private static MalFunction getMacroFn(MalEnv env, Object form) { method macroexpand (line 357) | static Object macroexpand(InvokeNode invokeNode, MalEnv env, Object fo... class MacroexpandNode (line 375) | static class MacroexpandNode extends MalNode { method MacroexpandNode (line 379) | MacroexpandNode(MalList form) { method executeGeneric (line 384) | @Override class ApplyNode (line 390) | static class ApplyNode extends MalNode { method ApplyNode (line 400) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition, ... method applyMacro (line 415) | @TruffleBoundary method executeGeneric (line 429) | @ExplodeLoop class DefNode (line 466) | static class DefNode extends MalNode { method DefNode (line 474) | DefNode(MalLanguage language, MalList list, LexicalScope scope) { method executeGeneric (line 482) | @Override class LetBindingNode (line 505) | static class LetBindingNode extends Node { method LetBindingNode (line 509) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 514) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 519) | static class LetNode extends MalNode { method LetNode (line 524) | LetNode(MalLanguage language, MalList form, boolean tailPosition, Le... method executeGeneric (line 537) | @ExplodeLoop class MalRootNode (line 551) | static class MalRootNode extends RootNode { method MalRootNode (line 556) | MalRootNode(MalLanguage language, Object form, MalEnv env, boolean t... method execute (line 565) | @Override method toString (line 570) | @Override class DoNode (line 576) | static class DoNode extends MalNode { method DoNode (line 579) | DoNode(MalLanguage language, MalList form, boolean tailPosition, Lex... method executeGeneric (line 588) | @ExplodeLoop class IfNode (line 602) | static class IfNode extends MalNode { method IfNode (line 607) | IfNode(MalLanguage language, MalList form, boolean tailPosition, Lex... method executeGeneric (line 615) | @Override class AbstractBindArgNode (line 630) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 634) | protected AbstractBindArgNode(MalSymbol symbol, int argPos, LexicalS... method execute (line 639) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 642) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 644) | public BindArgNode(MalSymbol symbol, int argPos, LexicalScope scope) { method execute (line 648) | @Override class BindVarargsNode (line 654) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 655) | public BindVarargsNode(MalSymbol symbol, int argPos, LexicalScope sc... method buildVarArgsList (line 659) | @TruffleBoundary method execute (line 668) | @Override class FnRootNode (line 678) | static class FnRootNode extends RootNode { method FnRootNode (line 685) | FnRootNode(MalLanguage language, MalList form, LexicalScope outerSco... method execute (line 711) | @ExplodeLoop method toString (line 721) | @Override class FnNode (line 730) | static class FnNode extends MalNode { method FnNode (line 734) | FnNode(MalLanguage language, MalList form, LexicalScope scope) { method executeGeneric (line 740) | @Override class QuoteNode (line 746) | static class QuoteNode extends MalNode { method QuoteNode (line 749) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 754) | @Override class TryNode (line 760) | static class TryNode extends MalNode { method TryNode (line 766) | TryNode(MalLanguage language, MalList form, boolean tailPosition, Le... method executeGeneric (line 784) | @Override class MalContext (line 799) | final static class MalContext { method MalContext (line 806) | MalContext(MalLanguage language) { class MalLanguage (line 815) | @TruffleLanguage.Registration( method createContext (line 821) | @Override method evalForm (line 826) | @Override method invokeNode (line 833) | @Override method parse (line 838) | @Override method findTopScopes (line 845) | @Override method out (line 850) | @Override method in (line 855) | @Override FILE: impls/java-truffle/src/main/java/truffle/mal/stepE_macros.java class stepE_macros (line 39) | public class stepE_macros { method main (line 42) | public static void main(String[] args) throws IOException { class BuiltinFn (line 87) | static class BuiltinFn implements TruffleObject { method BuiltinFn (line 89) | BuiltinFn(Function fn) { class MalNode (line 94) | static abstract class MalNode extends Node { method MalNode (line 96) | protected MalNode(Object form) { method executeGeneric (line 100) | public abstract Object executeGeneric(VirtualFrame frame, MalEnv env); method executeLong (line 102) | public long executeLong(VirtualFrame frame, MalEnv env) throws Unexp... method executeBoolean (line 110) | public boolean executeBoolean(VirtualFrame frame, MalEnv env) throws... method isPair (line 119) | private static boolean isPair(Object obj) { method quasiquote (line 125) | private static Object quasiquote(Object form) { method formToNode (line 145) | @TruffleBoundary class LiteralNode (line 182) | static class LiteralNode extends MalNode { method LiteralNode (line 183) | LiteralNode(Object form) { method executeGeneric (line 187) | @Override class VectorNode (line 193) | static class VectorNode extends MalNode { method VectorNode (line 196) | VectorNode(MalLanguage language, MalVector vector, LexicalScope scop... method executeGeneric (line 204) | @ExplodeLoop class MapNode (line 215) | static class MapNode extends MalNode { method MapNode (line 217) | MapNode(MalLanguage language, MalMap map, LexicalScope scope) { method executeGeneric (line 227) | @ExplodeLoop class LookupNode (line 240) | static class LookupNode extends MalNode { method LookupNode (line 248) | LookupNode(MalSymbol symbol, LexicalScope scope) { method throwNotFound (line 254) | @TruffleBoundary method executeGeneric (line 259) | @Override class TailCallException (line 291) | @SuppressWarnings("serial") method TailCallException (line 295) | TailCallException(CallTarget target, Object[] args) { class InvokeNode (line 301) | static class InvokeNode extends AbstractInvokeNode { method InvokeNode (line 309) | InvokeNode(boolean tailPosition) { method invoke (line 313) | Object invoke(CallTarget target, Object[] args) { method invoke (line 317) | Object invoke(CallTarget target, Object[] args, boolean allowTailCal... method getMacroFn (line 348) | private static MalFunction getMacroFn(MalEnv env, Object form) { method macroexpand (line 364) | static Object macroexpand(InvokeNode invokeNode, MalEnv env, Object fo... class MacroexpandNode (line 382) | static class MacroexpandNode extends MalNode { method MacroexpandNode (line 386) | MacroexpandNode(MalList form) { method executeGeneric (line 391) | @Override method isInlinableMacro (line 397) | private static boolean isInlinableMacro(MalFunction fn) { class InlinedMacroNode (line 405) | static class InlinedMacroNode extends MalNode { method InlinedMacroNode (line 407) | InlinedMacroNode(Object form, CallTarget target) { method executeGeneric (line 411) | @Override class ApplyNode (line 417) | static class ApplyNode extends MalNode { method ApplyNode (line 427) | ApplyNode(MalLanguage language, MalList list, boolean tailPosition, ... method applyMacro (line 442) | @TruffleBoundary method invokeMacro (line 455) | @TruffleBoundary method executeGeneric (line 466) | @ExplodeLoop class DefNode (line 505) | static class DefNode extends MalNode { method DefNode (line 513) | DefNode(MalLanguage language, MalList list, LexicalScope scope) { method executeGeneric (line 521) | @Override class LetBindingNode (line 544) | static class LetBindingNode extends Node { method LetBindingNode (line 548) | LetBindingNode(MalLanguage language, MalSymbol symbol, Object valueF... method executeGeneric (line 553) | public void executeGeneric(VirtualFrame frame, MalEnv env) { class LetNode (line 558) | static class LetNode extends MalNode { method LetNode (line 563) | LetNode(MalLanguage language, MalList form, boolean tailPosition, Le... method executeGeneric (line 576) | @ExplodeLoop class MalRootNode (line 590) | static class MalRootNode extends RootNode { method MalRootNode (line 595) | MalRootNode(MalLanguage language, Object form, MalEnv env, boolean t... method execute (line 604) | @Override method toString (line 609) | @Override class DoNode (line 615) | static class DoNode extends MalNode { method DoNode (line 618) | DoNode(MalLanguage language, MalList form, boolean tailPosition, Lex... method executeGeneric (line 627) | @ExplodeLoop class IfNode (line 641) | static class IfNode extends MalNode { method IfNode (line 646) | IfNode(MalLanguage language, MalList form, boolean tailPosition, Lex... method executeGeneric (line 654) | @Override class AbstractBindArgNode (line 669) | static abstract class AbstractBindArgNode extends Node { method AbstractBindArgNode (line 673) | protected AbstractBindArgNode(MalSymbol symbol, int argPos, LexicalS... method execute (line 678) | public abstract void execute(VirtualFrame frame, MalEnv env); class BindArgNode (line 681) | static class BindArgNode extends AbstractBindArgNode { method BindArgNode (line 683) | public BindArgNode(MalSymbol symbol, int argPos, LexicalScope scope) { method execute (line 687) | @Override class BindVarargsNode (line 693) | static class BindVarargsNode extends BindArgNode { method BindVarargsNode (line 694) | public BindVarargsNode(MalSymbol symbol, int argPos, LexicalScope sc... method buildVarArgsList (line 698) | private MalList buildVarArgsList(Object[] args) { method execute (line 706) | @Override class FnRootNode (line 723) | static class FnRootNode extends RootNode { method FnRootNode (line 730) | FnRootNode(MalLanguage language, MalList form, LexicalScope outerSco... method execute (line 756) | @ExplodeLoop method toString (line 766) | @Override class FnNode (line 775) | static class FnNode extends MalNode { method FnNode (line 779) | FnNode(MalLanguage language, MalList form, LexicalScope scope) { method executeGeneric (line 785) | @Override class QuoteNode (line 791) | static class QuoteNode extends MalNode { method QuoteNode (line 794) | QuoteNode(MalLanguage language, MalList form) { method executeGeneric (line 799) | @Override class TryNode (line 805) | static class TryNode extends MalNode { method TryNode (line 811) | TryNode(MalLanguage language, MalList form, boolean tailPosition, Le... method executeGeneric (line 829) | @Override class MalContext (line 844) | final static class MalContext { method MalContext (line 851) | MalContext(MalLanguage language) { class MalLanguage (line 860) | @TruffleLanguage.Registration( method createContext (line 866) | @Override method evalForm (line 871) | @Override method invokeNode (line 878) | @Override method parse (line 883) | @Override method findTopScopes (line 890) | @Override method out (line 895) | @Override method in (line 900) | @Override FILE: impls/java/src/main/java/mal/core.java class core (line 19) | public class core { method apply (line 28) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 36) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 42) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 48) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 53) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 58) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 67) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 72) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 77) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 88) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 96) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 102) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 111) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 117) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 123) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 130) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 138) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 144) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 157) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 167) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 183) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 188) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 193) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 198) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 204) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 209) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 214) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 219) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 225) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 233) | public MalVal apply(MalList a) throws MalThrowable { method _list_Q (line 238) | static public Boolean _list_Q(MalVal mv) { method apply (line 242) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 250) | public MalVal apply(MalList a) throws MalThrowable { method _vector_Q (line 255) | static public Boolean _vector_Q(MalVal mv) { method apply (line 259) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 266) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 271) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 277) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 286) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 296) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 306) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 323) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 335) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 350) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 356) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 366) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 378) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 387) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 399) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 405) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 416) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 427) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 439) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 448) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 461) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 481) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 509) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 515) | public MalVal apply(MalList args) throws MalThrowable { method apply (line 525) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 531) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 537) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 543) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 549) | public MalVal apply(MalList a) throws MalThrowable { FILE: impls/java/src/main/java/mal/env.java class env (line 11) | public class env { class Env (line 12) | public static class Env { method Env (line 16) | public Env(Env outer) { method Env (line 19) | public Env(Env outer, MalList binds, MalList exprs) { method get (line 33) | public MalVal get(String key) { method set (line 44) | public Env set(MalSymbol key, MalVal value) { FILE: impls/java/src/main/java/mal/printer.java class printer (line 12) | public class printer { method join (line 14) | public static String join(List value, method join (line 23) | public static String join(Map value, method _pr_str (line 40) | public static String _pr_str(MalVal mv, method _pr_str_args (line 45) | public static String _pr_str_args(MalList args, method escapeString (line 50) | public static String escapeString(String value) { FILE: impls/java/src/main/java/mal/reader.java class reader (line 9) | public class reader { class ParseError (line 10) | public static class ParseError extends MalThrowable { method ParseError (line 11) | public ParseError(String msg) { class Reader (line 16) | public static class Reader { method Reader (line 19) | public Reader(ArrayList t) { method peek (line 24) | public String peek() { method next (line 31) | public String next() { method tokenize (line 36) | public static ArrayList tokenize(String str) { method read_atom (line 51) | public static MalVal read_atom(Reader rdr) method read_list (line 80) | public static MalVal read_list(Reader rdr, MalList lst, char start, ch... method read_hash_map (line 99) | public static MalVal read_hash_map(Reader rdr) method read_form (line 105) | public static MalVal read_form(Reader rdr) method read_str (line 147) | public static MalVal read_str(String str) FILE: impls/java/src/main/java/mal/readline.java class readline (line 18) | class readline { type Mode (line 19) | public enum Mode { JNA, JAVA } class EOFException (line 29) | public static class EOFException extends Exception { type RLLibrary (line 32) | public interface RLLibrary extends Library { method readline (line 43) | String readline(String prompt); method add_history (line 44) | void add_history(String line); method loadHistory (line 47) | public static void loadHistory(String filename) { method appendHistory (line 60) | public static void appendHistory(String filename, String line) { method jna_readline (line 71) | public static String jna_readline(String prompt) method java_readline (line 86) | public static String java_readline(String prompt) method readline (line 97) | public static String readline(String prompt) FILE: impls/java/src/main/java/mal/step0_repl.java class step0_repl (line 7) | public class step0_repl { method READ (line 9) | public static String READ(String str) { method EVAL (line 14) | public static String EVAL(String ast, String env) { method PRINT (line 19) | public static String PRINT(String exp) { method RE (line 24) | public static String RE(String env, String str) { method main (line 28) | public static void main(String[] args) { FILE: impls/java/src/main/java/mal/step1_read_print.java class step1_read_print (line 10) | public class step1_read_print { method READ (line 12) | public static MalVal READ(String str) throws MalThrowable { method EVAL (line 17) | public static MalVal EVAL(MalVal ast, String env) { method PRINT (line 22) | public static String PRINT(MalVal exp) { method RE (line 27) | public static MalVal RE(String env, String str) throws MalThrowable { method main (line 31) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step2_eval.java class step2_eval (line 13) | public class step2_eval { method READ (line 15) | public static MalVal READ(String str) throws MalThrowable { method EVAL (line 20) | public static MalVal EVAL(MalVal orig_ast, Map env) th... method PRINT (line 59) | public static String PRINT(MalVal exp) { method RE (line 64) | public static MalVal RE(Map env, String str) throws Ma... method apply (line 69) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 74) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 79) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 84) | public MalVal apply(MalList a) throws MalThrowable { method main (line 90) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step3_env.java class step3_env (line 13) | public class step3_env { method READ (line 15) | public static MalVal READ(String str) throws MalThrowable { method EVAL (line 20) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 87) | public static String PRINT(MalVal exp) { method RE (line 92) | public static MalVal RE(Env env, String str) throws MalThrowable { method apply (line 97) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 102) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 107) | public MalVal apply(MalList a) throws MalThrowable { method apply (line 112) | public MalVal apply(MalList a) throws MalThrowable { method main (line 118) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step4_if_fn_do.java class step4_if_fn_do (line 14) | public class step4_if_fn_do { method READ (line 16) | public static MalVal READ(String str) throws MalThrowable { method EVAL (line 21) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 114) | public static String PRINT(MalVal exp) { method RE (line 119) | public static MalVal RE(Env env, String str) throws MalThrowable { method main (line 123) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step5_tco.java class step5_tco (line 14) | public class step5_tco { method READ (line 16) | public static MalVal READ(String str) throws MalThrowable { method EVAL (line 21) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 126) | public static String PRINT(MalVal exp) { method RE (line 131) | public static MalVal RE(Env env, String str) throws MalThrowable { method main (line 135) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step6_file.java class step6_file (line 14) | public class step6_file { method READ (line 16) | public static MalVal READ(String str) throws MalThrowable { method EVAL (line 21) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 126) | public static String PRINT(MalVal exp) { method RE (line 131) | public static MalVal RE(Env env, String str) throws MalThrowable { method main (line 135) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step7_quote.java class step7_quote (line 14) | public class step7_quote { method READ (line 16) | public static MalVal READ(String str) throws MalThrowable { method starts_with (line 21) | public static Boolean starts_with(MalVal ast, String sym) { method quasiquote (line 30) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 53) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 163) | public static String PRINT(MalVal exp) { method RE (line 168) | public static MalVal RE(Env env, String str) throws MalThrowable { method main (line 172) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step8_macros.java class step8_macros (line 14) | public class step8_macros { method READ (line 16) | public static MalVal READ(String str) throws MalThrowable { method starts_with (line 21) | public static Boolean starts_with(MalVal ast, String sym) { method quasiquote (line 30) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 53) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 175) | public static String PRINT(MalVal exp) { method RE (line 180) | public static MalVal RE(Env env, String str) throws MalThrowable { method main (line 184) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/step9_try.java class step9_try (line 16) | public class step9_try { method READ (line 18) | public static MalVal READ(String str) throws MalThrowable { method starts_with (line 23) | public static Boolean starts_with(MalVal ast, String sym) { method quasiquote (line 32) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 55) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 201) | public static String PRINT(MalVal exp) { method RE (line 206) | public static MalVal RE(Env env, String str) throws MalThrowable { method main (line 210) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/stepA_mal.java class stepA_mal (line 16) | public class stepA_mal { method READ (line 18) | public static MalVal READ(String str) throws MalThrowable { method starts_with (line 23) | public static Boolean starts_with(MalVal ast, String sym) { method quasiquote (line 32) | public static MalVal quasiquote(MalVal ast) { method EVAL (line 55) | public static MalVal EVAL(MalVal orig_ast, Env env) throws MalThrowable { method PRINT (line 201) | public static String PRINT(MalVal exp) { method RE (line 206) | public static MalVal RE(Env env, String str) throws MalThrowable { method main (line 210) | public static void main(String[] args) throws MalThrowable { FILE: impls/java/src/main/java/mal/types.java class types (line 12) | public class types { class MalThrowable (line 16) | public static class MalThrowable extends Exception { method MalThrowable (line 17) | public MalThrowable() { } method MalThrowable (line 18) | public MalThrowable(String msg) { super(msg); } class MalError (line 20) | public static class MalError extends MalThrowable { method MalError (line 21) | public MalError(String msg) { super(msg); } class MalContinue (line 23) | public static class MalContinue extends MalThrowable { } class MalException (line 26) | public static class MalException extends MalThrowable { method MalException (line 28) | public MalException(MalVal value) { method MalException (line 31) | public MalException(String value) { method getValue (line 34) | public MalVal getValue() { return value; } method _equal_Q (line 41) | public static Boolean _equal_Q(MalVal a, MalVal b) { class MalVal (line 90) | abstract public static class MalVal { method copy (line 92) | abstract public MalVal copy() throws MalThrowable; method toString (line 95) | public String toString(Boolean print_readably) { method getMeta (line 98) | public MalVal getMeta() { return meta; } method setMeta (line 99) | public void setMeta(MalVal m) { meta = m; } method list_Q (line 100) | public Boolean list_Q() { return false; } class MalConstant (line 102) | public static class MalConstant extends MalVal { method MalConstant (line 104) | public MalConstant(String name) { value = name; } method copy (line 105) | public MalConstant copy() throws MalThrowable { return this; } method toString (line 107) | public String toString() { return value; } class MalInteger (line 113) | public static class MalInteger extends MalVal { method MalInteger (line 115) | public MalInteger(Integer v) { value = v; } method copy (line 116) | public MalInteger copy() throws MalThrowable { return this; } method getValue (line 118) | public Integer getValue() { return value; } method toString (line 119) | @Override public String toString() { method add (line 122) | public MalInteger add(MalInteger other) { method subtract (line 125) | public MalInteger subtract(MalInteger other) { method multiply (line 128) | public MalInteger multiply(MalInteger other) { method divide (line 131) | public MalInteger divide(MalInteger other) { method lt (line 134) | public MalConstant lt(MalInteger other) { method lte (line 137) | public MalConstant lte(MalInteger other) { method gt (line 140) | public MalConstant gt(MalInteger other) { method gte (line 143) | public MalConstant gte(MalInteger other) { class MalSymbol (line 148) | public static class MalSymbol extends MalVal { method MalSymbol (line 150) | public MalSymbol(String v) { value = v; } method MalSymbol (line 151) | public MalSymbol(MalString v) { value = v.getValue(); } method copy (line 152) | public MalSymbol copy() throws MalThrowable { return this; } method getName (line 154) | public String getName() { return value; } method toString (line 155) | @Override public String toString() { class MalString (line 160) | public static class MalString extends MalVal { method MalString (line 162) | public MalString(String v) { value = v; } method copy (line 163) | public MalString copy() throws MalThrowable { return this; } method getValue (line 165) | public String getValue() { return value; } method toString (line 166) | @Override public String toString() { method toString (line 169) | public String toString(Boolean print_readably) { class MalList (line 180) | public static class MalList extends MalVal { method MalList (line 183) | public MalList(List val) { method MalList (line 186) | public MalList(MalVal... mvs) { method copy (line 190) | public MalList copy() throws MalThrowable { method toString (line 197) | @Override public String toString() { method toString (line 200) | public String toString(Boolean print_readably) { method getList (line 204) | public List getList() { return value; } method list_Q (line 205) | public Boolean list_Q() { return true; } method conj_BANG (line 207) | public MalList conj_BANG(MalVal... mvs) { method size (line 214) | public Integer size() { method nth (line 218) | public MalVal nth(Integer idx) { method rest (line 221) | public MalList rest () { method slice (line 230) | public MalList slice(Integer start, Integer end) { method slice (line 233) | public MalList slice(Integer start) { class MalVector (line 238) | public static class MalVector extends MalList { method MalVector (line 240) | public MalVector(List val) { method MalVector (line 245) | public MalVector(MalVal... mvs) { method copy (line 250) | public MalVector copy() throws MalThrowable { method list_Q (line 257) | public Boolean list_Q() { return false; } method slice (line 259) | public MalVector slice(Integer start, Integer end) { class MalHashMap (line 264) | public static class MalHashMap extends MalVal { method MalHashMap (line 266) | public MalHashMap(Map val) { method MalHashMap (line 269) | public MalHashMap(MalList lst) { method MalHashMap (line 273) | public MalHashMap(MalVal... mvs) { method copy (line 277) | public MalHashMap copy() throws MalThrowable { method toString (line 285) | @Override public String toString() { method toString (line 288) | public String toString(Boolean print_readably) { method _entries (line 292) | public Set _entries() { method assoc_BANG (line 296) | public MalHashMap assoc_BANG(MalVal... mvs) { method assoc_BANG (line 304) | public MalHashMap assoc_BANG(MalList lst) { method dissoc_BANG (line 312) | public MalHashMap dissoc_BANG(MalList lst) { method size (line 319) | public Integer size() { class MalAtom (line 324) | public static class MalAtom extends MalVal { method MalAtom (line 326) | public MalAtom(MalVal value) { this.value = value; } method copy (line 327) | public MalAtom copy() throws MalThrowable { return new MalAtom(value... method toString (line 328) | @Override public String toString() { method toString (line 331) | public String toString(Boolean print_readably) { type ILambda (line 336) | public static interface ILambda { method apply (line 337) | public MalVal apply(MalList args) throws MalThrowable; class MalFunction (line 340) | public static abstract class MalFunction extends MalVal method MalFunction (line 346) | public MalFunction() { } method MalFunction (line 347) | public MalFunction(MalVal ast, Env env, MalList params) { method copy (line 352) | public MalFunction copy() throws MalThrowable { method getAst (line 372) | public MalVal getAst() { return ast; } method getEnv (line 373) | public Env getEnv() { return env; } method getParams (line 374) | public MalList getParams() { return params; } method genEnv (line 375) | public Env genEnv(MalList args) { method isMacro (line 378) | public Boolean isMacro() { return macro; } method setMacro (line 379) | public void setMacro() { macro = true; } FILE: impls/js/core.js function mal_throw (line 14) | function mal_throw(exc) { throw exc; } function pr_str (line 18) | function pr_str() { function str (line 24) | function str() { function prn (line 30) | function prn() { function println (line 36) | function println() { function slurp (line 42) | function slurp(f) { function time_ms (line 59) | function time_ms() { return new Date().getTime(); } function assoc (line 63) | function assoc(src_hm) { function dissoc (line 69) | function dissoc(src_hm) { function get (line 75) | function get(hm, key) { function contains_Q (line 83) | function contains_Q(hm, key) { function keys (line 87) | function keys(hm) { return Object.keys(hm); } function vals (line 88) | function vals(hm) { return Object.keys(hm).map(function(k) { return hm[k... function cons (line 92) | function cons(a, b) { return [a].concat(b); } function concat (line 94) | function concat(lst) { function vec (line 98) | function vec(lst) { function nth (line 108) | function nth(lst, idx) { function first (line 113) | function first(lst) { return (lst === null) ? null : lst[0]; } function rest (line 115) | function rest(lst) { return (lst == null) ? [] : lst.slice(1); } function empty_Q (line 117) | function empty_Q(lst) { return lst.length === 0; } function count (line 119) | function count(s) { function conj (line 125) | function conj(lst) { function seq (line 135) | function seq(obj) { function apply (line 150) | function apply(f) { function map (line 155) | function map(f, lst) { function with_meta (line 161) | function with_meta(obj, m) { function meta (line 167) | function meta(obj) { function deref (line 179) | function deref(atm) { return atm.val; } function reset_BANG (line 180) | function reset_BANG(atm, val) { return atm.val = val; } function swap_BANG (line 181) | function swap_BANG(atm, f) { function js_eval (line 187) | function js_eval(str) { function js_method_call (line 191) | function js_method_call(object_method_str) { FILE: impls/js/env.js function Env (line 8) | function Env(outer, binds, exprs) { FILE: impls/js/interop.js function resolve_js (line 8) | function resolve_js(str) { function js_to_mal (line 18) | function js_to_mal(obj) { FILE: impls/js/jq_readline.js function jq_load_history (line 3) | function jq_load_history(jq) { function jq_save_history (line 13) | function jq_save_history(jq) { FILE: impls/js/printer.js function _pr_str (line 11) | function _pr_str(obj, print_readably) { FILE: impls/js/reader.js function Reader (line 9) | function Reader(tokens) { function tokenize (line 17) | function tokenize(str) { function read_atom (line 27) | function read_atom (reader) { function read_list (line 53) | function read_list(reader, start, end) { function read_vector (line 72) | function read_vector(reader) { function read_hash_map (line 78) | function read_hash_map(reader) { function read_form (line 83) | function read_form(reader) { function BlankException (line 119) | function BlankException(msg) { function read_str (line 122) | function read_str(str) { FILE: impls/js/step0_repl.js function READ (line 7) | function READ(str) { function EVAL (line 12) | function EVAL(ast, env) { function PRINT (line 17) | function PRINT(exp) { FILE: impls/js/step1_read_print.js function READ (line 9) | function READ(str) { function EVAL (line 14) | function EVAL(ast, env) { function PRINT (line 19) | function PRINT(exp) { FILE: impls/js/step2_eval.js function READ (line 9) | function READ(str) { function _EVAL (line 14) | function _EVAL(ast, env) { function EVAL (line 49) | function EVAL(ast, env) { function PRINT (line 55) | function PRINT(exp) { FILE: impls/js/step3_env.js function READ (line 10) | function READ(str) { function _EVAL (line 15) | function _EVAL(ast, env) { function EVAL (line 71) | function EVAL(ast, env) { function PRINT (line 77) | function PRINT(exp) { FILE: impls/js/step4_if_fn_do.js function READ (line 11) | function READ(str) { function _EVAL (line 16) | function _EVAL(ast, env) { function EVAL (line 88) | function EVAL(ast, env) { function PRINT (line 94) | function PRINT(exp) { FILE: impls/js/step5_tco.js function READ (line 11) | function READ(str) { function _EVAL (line 16) | function _EVAL(ast, env) { function EVAL (line 98) | function EVAL(ast, env) { function PRINT (line 104) | function PRINT(exp) { FILE: impls/js/step6_file.js function READ (line 11) | function READ(str) { function _EVAL (line 16) | function _EVAL(ast, env) { function EVAL (line 98) | function EVAL(ast, env) { function PRINT (line 104) | function PRINT(exp) { FILE: impls/js/step7_quote.js function READ (line 11) | function READ(str) { function qqLoop (line 16) | function qqLoop (acc, elt) { function quasiquote (line 24) | function quasiquote(ast) { function _EVAL (line 39) | function _EVAL(ast, env) { function EVAL (line 126) | function EVAL(ast, env) { function PRINT (line 132) | function PRINT(exp) { FILE: impls/js/step8_macros.js function READ (line 11) | function READ(str) { function qqLoop (line 16) | function qqLoop (acc, elt) { function quasiquote (line 24) | function quasiquote(ast) { function _EVAL (line 39) | function _EVAL(ast, env) { function EVAL (line 136) | function EVAL(ast, env) { function PRINT (line 142) | function PRINT(exp) { FILE: impls/js/step9_try.js function READ (line 11) | function READ(str) { function qqLoop (line 16) | function qqLoop (acc, elt) { function quasiquote (line 24) | function quasiquote(ast) { function _EVAL (line 39) | function _EVAL(ast, env) { function EVAL (line 147) | function EVAL(ast, env) { function PRINT (line 153) | function PRINT(exp) { FILE: impls/js/stepA_mal.js function READ (line 11) | function READ(str) { function qqLoop (line 16) | function qqLoop (acc, elt) { function quasiquote (line 24) | function quasiquote(ast) { function _EVAL (line 39) | function _EVAL(ast, env) { function EVAL (line 147) | function EVAL(ast, env) { function PRINT (line 153) | function PRINT(exp) { FILE: impls/js/tests/common.js function assert_eq (line 4) | function assert_eq(a, b) { function load (line 8) | function load(file) { FILE: impls/js/types.js function _obj_type (line 9) | function _obj_type(obj) { function _sequential_Q (line 28) | function _sequential_Q(lst) { return _list_Q(lst) || _vector_Q(lst); } function _equal_Q (line 31) | function _equal_Q (a, b) { function _clone (line 57) | function _clone (obj) { function _nil_Q (line 88) | function _nil_Q(a) { return a === null ? true : false; } function _true_Q (line 89) | function _true_Q(a) { return a === true ? true : false; } function _false_Q (line 90) | function _false_Q(a) { return a === false ? true : false; } function _number_Q (line 91) | function _number_Q(obj) { return typeof obj === 'number'; } function _string_Q (line 92) | function _string_Q(obj) { function Symbol (line 98) | function Symbol(name) { function _symbol (line 103) | function _symbol(name) { return new Symbol(name); } function _symbol_Q (line 104) | function _symbol_Q(obj) { return obj instanceof Symbol; } function _keyword (line 108) | function _keyword(obj) { function _keyword_Q (line 115) | function _keyword_Q(obj) { function _function (line 121) | function _function(Eval, Env, ast, env, params) { function _function_Q (line 131) | function _function_Q(obj) { return typeof obj == "function"; } function _fn_Q (line 140) | function _fn_Q(obj) { return _function_Q(obj) && !obj._ismacro_; } function _macro_Q (line 141) | function _macro_Q(obj) { return _function_Q(obj) && !!obj._ismacro_; } function _list (line 145) | function _list() { return Array.prototype.slice.call(arguments, 0); } function _list_Q (line 146) | function _list_Q(obj) { return Array.isArray(obj) && !obj.__isvector__; } function _vector (line 150) | function _vector() { function _vector_Q (line 155) | function _vector_Q(obj) { return Array.isArray(obj) && !!obj.__isvector_... function _hash_map (line 160) | function _hash_map() { function _hash_map_Q (line 167) | function _hash_map_Q(hm) { function _assoc_BANG (line 174) | function _assoc_BANG(hm) { function _dissoc_BANG (line 188) | function _dissoc_BANG(hm) { function Atom (line 198) | function Atom(val) { this.val = val; } function _atom (line 199) | function _atom(val) { return new Atom(val); } function _atom_Q (line 200) | function _atom_Q(atm) { return atm instanceof Atom; } FILE: impls/objc/mal_readline.c function load_history (line 17) | void load_history() { function append_to_history (line 40) | void append_to_history() { FILE: impls/php/core.php function mal_throw (line 9) | function mal_throw($obj) { throw new _Error($obj); } function pr_str (line 13) | function pr_str() { function str (line 19) | function str() { function prn (line 25) | function prn() { function println (line 32) | function println() { function time_ms (line 41) | function time_ms() { function assoc (line 47) | function assoc($src_hm) { function dissoc (line 54) | function dissoc($src_hm) { function get (line 61) | function get($hm, $k) { function contains_Q (line 69) | function contains_Q($hm, $k) { return array_key_exists($k, $hm); } function keys (line 71) | function keys($hm) { function vals (line 75) | function vals($hm) { function cons (line 81) | function cons($a, $b) { function concat (line 89) | function concat() { function vec (line 100) | function vec($a) { function nth (line 110) | function nth($seq, $idx) { function first (line 118) | function first($seq) { function rest (line 126) | function rest($seq) { function empty_Q (line 136) | function empty_Q($seq) { return $seq->count() === 0; } function scount (line 138) | function scount($seq) { return ($seq === NULL ? 0 : $seq->count()); } function apply (line 140) | function apply($f) { function map (line 146) | function map($f, $seq) { function conj (line 153) | function conj($src) { function seq (line 167) | function seq($src) { function with_meta (line 194) | function with_meta($obj, $m) { function meta (line 200) | function meta($obj) { function deref (line 206) | function deref($atm) { return $atm->value; } function reset_BANG (line 207) | function reset_BANG($atm, $val) { return $atm->value = $val; } function swap_BANG (line 208) | function swap_BANG($atm, $f) { FILE: impls/php/env.php class Env (line 5) | class Env { method __construct (line 8) | public function __construct($outer, $binds=NULL, $exprs=NULL) { method find (line 33) | public function find($key) { method set (line 42) | public function set($key, $value) { method get (line 46) | public function get($key) { FILE: impls/php/interop.php function _to_php (line 5) | function _to_php($obj) { function _to_mal (line 27) | function _to_mal($obj) { function _to_native (line 48) | function _to_native($name, $env) { FILE: impls/php/printer.php function _pr_str (line 5) | function _pr_str($obj, $print_readably=True) { FILE: impls/php/reader.php class Reader (line 5) | class Reader { method __construct (line 8) | public function __construct($tokens) { method next (line 12) | public function next() { method peek (line 16) | public function peek() { class BlankException (line 22) | class BlankException extends Exception { function _real_token (line 25) | function _real_token($s) { function tokenize (line 29) | function tokenize($str) { function read_atom (line 35) | function read_atom($reader) { function read_list (line 61) | function read_list($reader, $constr='_list', $start='(', $end=')') { function read_hash_map (line 77) | function read_hash_map($reader) { function read_form (line 82) | function read_form($reader) { function read_str (line 122) | function read_str($str) { FILE: impls/php/readline.php function mal_readline (line 5) | function mal_readline($prompt) { function mal_readline (line 38) | function mal_readline($prompt) {} FILE: impls/php/step0_repl.php function READ (line 6) | function READ($str) { function MAL_EVAL (line 11) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 16) | function MAL_PRINT($exp) { function rep (line 21) | function rep($str) { FILE: impls/php/step1_read_print.php function READ (line 9) | function READ($str) { function MAL_EVAL (line 14) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 19) | function MAL_PRINT($exp) { function rep (line 24) | function rep($str) { FILE: impls/php/step2_eval.php function READ (line 9) | function READ($str) { function MAL_EVAL (line 14) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 46) | function MAL_PRINT($exp) { function rep (line 52) | function rep($str) { FILE: impls/php/step3_env.php function READ (line 10) | function READ($str) { function MAL_EVAL (line 15) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 68) | function MAL_PRINT($exp) { function rep (line 74) | function rep($str) { FILE: impls/php/step4_if_fn_do.php function READ (line 11) | function READ($str) { function MAL_EVAL (line 16) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 85) | function MAL_PRINT($exp) { function rep (line 91) | function rep($str) { FILE: impls/php/step5_tco.php function READ (line 11) | function READ($str) { function MAL_EVAL (line 16) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 97) | function MAL_PRINT($exp) { function rep (line 103) | function rep($str) { FILE: impls/php/step6_file.php function READ (line 11) | function READ($str) { function MAL_EVAL (line 16) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 97) | function MAL_PRINT($exp) { function rep (line 103) | function rep($str) { FILE: impls/php/step7_quote.php function READ (line 11) | function READ($str) { function qq_loop (line 16) | function qq_loop($elt, $acc) { function qq_foldr (line 27) | function qq_foldr($xs) { function quasiquote (line 35) | function quasiquote($ast) { function MAL_EVAL (line 49) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 135) | function MAL_PRINT($exp) { function rep (line 141) | function rep($str) { FILE: impls/php/step8_macros.php function READ (line 11) | function READ($str) { function qq_loop (line 16) | function qq_loop($elt, $acc) { function qq_foldr (line 27) | function qq_foldr($xs) { function quasiquote (line 35) | function quasiquote($ast) { function MAL_EVAL (line 49) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 144) | function MAL_PRINT($exp) { function rep (line 150) | function rep($str) { FILE: impls/php/step9_try.php function READ (line 11) | function READ($str) { function qq_loop (line 16) | function qq_loop($elt, $acc) { function qq_foldr (line 27) | function qq_foldr($xs) { function quasiquote (line 35) | function quasiquote($ast) { function MAL_EVAL (line 49) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 162) | function MAL_PRINT($exp) { function rep (line 168) | function rep($str) { FILE: impls/php/stepA_mal.php function READ (line 12) | function READ($str) { function qq_loop (line 17) | function qq_loop($elt, $acc) { function qq_foldr (line 28) | function qq_foldr($xs) { function quasiquote (line 36) | function quasiquote($ast) { function MAL_EVAL (line 50) | function MAL_EVAL($ast, $env) { function MAL_PRINT (line 168) | function MAL_PRINT($exp) { function rep (line 174) | function rep($str) { FILE: impls/php/types.php class _Error (line 5) | class _Error extends Exception { method __construct (line 7) | public function __construct($obj) { function _equal_Q (line 16) | function _equal_Q($a, $b) { function _sequential_Q (line 43) | function _sequential_Q($seq) { return _list_Q($seq) or _vector_Q($seq); } function _nil_Q (line 47) | function _nil_Q($obj) { return $obj === NULL; } function _true_Q (line 48) | function _true_Q($obj) { return $obj === true; } function _false_Q (line 49) | function _false_Q($obj) { return $obj === false; } function _string_Q (line 50) | function _string_Q($obj) { function _number_Q (line 53) | function _number_Q($obj) { return is_int($obj); } class SymbolClass (line 57) | class SymbolClass { method __construct (line 60) | public function __construct($value) { function _symbol (line 64) | function _symbol($name) { return new SymbolClass($name); } function _symbol_Q (line 65) | function _symbol_Q($obj) { return ($obj instanceof SymbolClass); } function _keyword (line 68) | function _keyword($name) { function _keyword_Q (line 75) | function _keyword_Q($obj) { class FunctionClass (line 82) | class FunctionClass { method __construct (line 90) | public function __construct($func, $type, method __invoke (line 100) | public function __invoke() { method gen_env (line 111) | public function gen_env($args) { method apply (line 114) | public function apply($args) { function _function (line 119) | function _function($func, $type='platform', function _function_Q (line 123) | function _function_Q($obj) { return $obj instanceof FunctionClass; } function _fn_Q (line 124) | function _fn_Q($obj) { return $obj instanceof Closure; } class SeqClass (line 129) | class SeqClass extends ArrayObject { method slice (line 130) | public function slice($start, $length=NULL) { class ListClass (line 144) | class ListClass extends SeqClass { function _list (line 148) | function _list() { function _list_Q (line 153) | function _list_Q($obj) { return $obj instanceof ListClass; } class VectorClass (line 157) | class VectorClass extends SeqClass { function _vector (line 161) | function _vector() { function _vector_Q (line 166) | function _vector_Q($obj) { return $obj instanceof VectorClass; } class HashMapClass (line 170) | class HashMapClass extends ArrayObject { function _hash_map (line 174) | function _hash_map() { function _hash_map_Q (line 183) | function _hash_map_Q($obj) { return $obj instanceof HashMapClass; } function _assoc_BANG (line 185) | function _assoc_BANG($hm) { function _dissoc_BANG (line 202) | function _dissoc_BANG($hm) { class Atom (line 215) | class Atom { method __construct (line 218) | public function __construct($value) { function _atom (line 222) | function _atom($val) { return new Atom($val); } function _atom_Q (line 223) | function _atom_Q($atm) { return $atm instanceof Atom; } FILE: impls/plpgsql/core.sql function core (line 5) | CREATE FUNCTION core.equal(args integer[]) RETURNS integer AS $$ function core (line 21) | CREATE FUNCTION core.nil_Q(args integer[]) RETURNS integer AS $$ function core (line 26) | CREATE FUNCTION core.true_Q(args integer[]) RETURNS integer AS $$ function core (line 31) | CREATE FUNCTION core.false_Q(args integer[]) RETURNS integer AS $$ function core (line 36) | CREATE FUNCTION core.number_Q(args integer[]) RETURNS integer AS $$ function core (line 41) | CREATE FUNCTION core.string_Q(args integer[]) RETURNS integer AS $$ function core (line 46) | CREATE FUNCTION core.symbol(args integer[]) RETURNS integer AS $$ function core (line 51) | CREATE FUNCTION core.symbol_Q(args integer[]) RETURNS integer AS $$ function core (line 56) | CREATE FUNCTION core.keyword(args integer[]) RETURNS integer AS $$ function core (line 65) | CREATE FUNCTION core.keyword_Q(args integer[]) RETURNS integer AS $$ function core (line 70) | CREATE FUNCTION core.fn_Q(args integer[]) RETURNS integer AS $$ function core (line 75) | CREATE FUNCTION core.macro_Q(args integer[]) RETURNS integer AS $$ function core (line 83) | CREATE FUNCTION core.pr_str(args integer[]) RETURNS integer AS $$ function core (line 88) | CREATE FUNCTION core.str(args integer[]) RETURNS integer AS $$ function core (line 93) | CREATE FUNCTION core.prn(args integer[]) RETURNS integer AS $$ function core (line 99) | CREATE FUNCTION core.println(args integer[]) RETURNS integer AS $$ function core (line 105) | CREATE FUNCTION core.read_string(args integer[]) RETURNS integer AS $$ function core (line 110) | CREATE FUNCTION core.readline(args integer[]) RETURNS integer AS $$ function core (line 124) | CREATE FUNCTION core.slurp(args integer[]) RETURNS integer AS $$ function core (line 163) | CREATE FUNCTION core.intop(op varchar, args integer[]) RETURNS integer A... function core (line 172) | CREATE FUNCTION core.lt(args integer[]) RETURNS integer AS $$ function core (line 177) | CREATE FUNCTION core.lte(args integer[]) RETURNS integer AS $$ function core (line 182) | CREATE FUNCTION core.gt(args integer[]) RETURNS integer AS $$ function core (line 187) | CREATE FUNCTION core.gte(args integer[]) RETURNS integer AS $$ function core (line 192) | CREATE FUNCTION core.add(args integer[]) RETURNS integer AS $$ function core (line 197) | CREATE FUNCTION core.subtract(args integer[]) RETURNS integer AS $$ function core (line 202) | CREATE FUNCTION core.multiply(args integer[]) RETURNS integer AS $$ function core (line 207) | CREATE FUNCTION core.divide(args integer[]) RETURNS integer AS $$ function core (line 212) | CREATE FUNCTION core.time_ms(args integer[]) RETURNS integer AS $$ function core (line 221) | CREATE FUNCTION core.list(args integer[]) RETURNS integer AS $$ function core (line 226) | CREATE FUNCTION core.list_Q(args integer[]) RETURNS integer AS $$ function core (line 231) | CREATE FUNCTION core.vector(args integer[]) RETURNS integer AS $$ function core (line 236) | CREATE FUNCTION core.vector_Q(args integer[]) RETURNS integer AS $$ function core (line 241) | CREATE FUNCTION core.hash_map(args integer[]) RETURNS integer AS $$ function core (line 246) | CREATE FUNCTION core.map_Q(args integer[]) RETURNS integer AS $$ function core (line 251) | CREATE FUNCTION core.assoc(args integer[]) RETURNS integer AS $$ function core (line 257) | CREATE FUNCTION core.dissoc(args integer[]) RETURNS integer AS $$ function core (line 263) | CREATE FUNCTION core.get(args integer[]) RETURNS integer AS $$ function core (line 282) | CREATE FUNCTION core.keys(args integer[]) RETURNS integer AS $$ function core (line 287) | CREATE FUNCTION core.vals(args integer[]) RETURNS integer AS $$ function core (line 296) | CREATE FUNCTION core.sequential_Q(args integer[]) RETURNS integer AS $$ function core (line 301) | CREATE FUNCTION core.cons(args integer[]) RETURNS integer AS $$ function core (line 309) | CREATE FUNCTION core.concat(args integer[]) RETURNS integer AS $$ function core (line 329) | CREATE FUNCTION core.nth(args integer[]) RETURNS integer AS $$ function core (line 340) | CREATE FUNCTION core.first(args integer[]) RETURNS integer AS $$ function core (line 351) | CREATE FUNCTION core.rest(args integer[]) RETURNS integer AS $$ function core (line 356) | CREATE FUNCTION core.empty_Q(args integer[]) RETURNS integer AS $$ function core (line 365) | CREATE FUNCTION core.count(args integer[]) RETURNS integer AS $$ function core (line 376) | CREATE FUNCTION core.apply(args integer[]) RETURNS integer AS $$ function core (line 386) | CREATE FUNCTION core.map(args integer[]) RETURNS integer AS $$ function core (line 417) | CREATE FUNCTION core.seq(args integer[]) RETURNS integer AS $$ function core (line 453) | CREATE FUNCTION core.meta(args integer[]) RETURNS integer AS $$ function core (line 465) | CREATE FUNCTION core.with_meta(args integer[]) RETURNS integer AS $$ function core (line 479) | CREATE FUNCTION core.atom(args integer[]) RETURNS integer AS $$ function core (line 484) | CREATE FUNCTION core.atom_Q(args integer[]) RETURNS integer AS $$ function core (line 490) | CREATE FUNCTION core.deref(args integer[]) RETURNS integer AS $$ function core (line 495) | CREATE FUNCTION core.reset_BANG(args integer[]) RETURNS integer AS $$ function core (line 500) | CREATE FUNCTION core.swap_BANG(args integer[]) RETURNS integer AS $$ FILE: impls/plpgsql/envs.sql type env (line 7) | CREATE TABLE env ( function envs (line 23) | CREATE FUNCTION envs.new(outer_env integer) RETURNS integer AS $$ function envs (line 34) | CREATE FUNCTION envs.new(outer_env integer, function envs (line 67) | CREATE FUNCTION envs.vset(env integer, name varchar, val integer) function envs (line 85) | CREATE FUNCTION envs.set(env integer, key integer, val integer) function envs (line 95) | CREATE FUNCTION envs.get(env integer, symkey varchar) RETURNS integer AS $$ FILE: impls/plpgsql/io.sql type stream (line 9) | CREATE TABLE stream ( function io (line 51) | CREATE FUNCTION io.__read(sid integer) RETURNS varchar AS $$ function io (line 99) | CREATE FUNCTION io.read_or_error(sid integer DEFAULT 0) RETURNS varchar ... function io (line 114) | CREATE FUNCTION io.readline(prompt varchar, sid integer DEFAULT 0) function io (line 153) | CREATE FUNCTION io.__wait_rl_prompt(sid integer) RETURNS varchar AS $$ function io (line 205) | CREATE FUNCTION io.wait_flushed(sid integer DEFAULT 1) RETURNS void AS $$ FILE: impls/plpgsql/printer.sql function printer (line 6) | CREATE FUNCTION printer.pr_str_array(arr integer[], FILE: impls/plpgsql/reader.sql function reader (line 6) | CREATE FUNCTION reader.tokenize(str varchar) RETURNS varchar[] AS $$ FILE: impls/plpgsql/step0_repl.sql function mal (line 12) | CREATE FUNCTION mal.READ(line varchar) RETURNS varchar AS $$ function mal (line 18) | CREATE FUNCTION mal.EVAL(ast varchar, env varchar) RETURNS varchar AS $$ function mal (line 24) | CREATE FUNCTION mal.PRINT(exp varchar) RETURNS varchar AS $$ function mal (line 32) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 37) | CREATE FUNCTION mal.MAIN(pwd varchar) RETURNS integer AS $$ FILE: impls/plpgsql/step1_read_print.sql function mal (line 15) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 21) | CREATE FUNCTION mal.EVAL(ast integer, env varchar) RETURNS integer AS $$ function mal (line 27) | CREATE FUNCTION mal.PRINT(exp integer) RETURNS varchar AS $$ function mal (line 35) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 40) | CREATE FUNCTION mal.MAIN(pwd varchar) RETURNS integer AS $$ FILE: impls/plpgsql/step2_eval.sql function mal (line 15) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 22) | CREATE FUNCTION mal.eval_symbol(ast integer, env hstore) RETURNS integer function mal (line 35) | CREATE FUNCTION mal.eval_vector(ast integer, env hstore) RETURNS integer function mal (line 52) | CREATE FUNCTION mal.eval_map(ast integer, env hstore) RETURNS integer function mal (line 77) | CREATE FUNCTION mal.EVAL(ast integer, env hstore) RETURNS integer AS $$ function mal (line 117) | CREATE FUNCTION mal.intop(op varchar, args integer[]) RETURNS integer AS $$ function mal (line 128) | CREATE FUNCTION mal.add(args integer[]) RETURNS integer AS $$ function mal (line 130) | CREATE FUNCTION mal.subtract(args integer[]) RETURNS integer AS $$ function mal (line 132) | CREATE FUNCTION mal.multiply(args integer[]) RETURNS integer AS $$ function mal (line 134) | CREATE FUNCTION mal.divide(args integer[]) RETURNS integer AS $$ function mal (line 138) | CREATE FUNCTION mal.REP(env hstore, line varchar) RETURNS varchar AS $$ function mal (line 143) | CREATE FUNCTION mal.MAIN(pwd varchar) RETURNS integer AS $$ FILE: impls/plpgsql/step3_env.sql function mal (line 16) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 35) | CREATE FUNCTION mal.eval_symbol(ast integer, env integer) RETURNS integer function mal (line 48) | CREATE FUNCTION mal.eval_vector(ast integer, env integer) RETURNS integer function mal (line 65) | CREATE FUNCTION mal.eval_map(ast integer, env integer) RETURNS integer function mal (line 90) | CREATE FUNCTION mal.EVAL(ast integer, env integer) RETURNS integer AS $$ function mal (line 151) | CREATE FUNCTION mal.PRINT(exp integer) RETURNS varchar AS $$ function mal (line 159) | CREATE FUNCTION mal.intop(op varchar, args integer[]) RETURNS integer AS $$ function mal (line 170) | CREATE FUNCTION mal.add(args integer[]) RETURNS integer AS $$ function mal (line 172) | CREATE FUNCTION mal.subtract(args integer[]) RETURNS integer AS $$ function mal (line 174) | CREATE FUNCTION mal.multiply(args integer[]) RETURNS integer AS $$ function mal (line 176) | CREATE FUNCTION mal.divide(args integer[]) RETURNS integer AS $$ function mal (line 186) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 191) | CREATE FUNCTION mal.MAIN(pwd varchar) RETURNS integer AS $$ FILE: impls/plpgsql/step4_if_fn_do.sql function mal (line 17) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 24) | CREATE FUNCTION mal.eval_debug(ast integer, env integer) RETURNS void AS $$ FILE: impls/plpgsql/step5_tco.sql function mal (line 17) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 24) | CREATE FUNCTION mal.eval_debug(ast integer, env integer) RETURNS void AS $$ FILE: impls/plpgsql/step6_file.sql function mal (line 17) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 36) | CREATE FUNCTION mal.eval_symbol(ast integer, env integer) RETURNS integer function mal (line 49) | CREATE FUNCTION mal.eval_vector(ast integer, env integer) RETURNS integer function mal (line 66) | CREATE FUNCTION mal.eval_map(ast integer, env integer) RETURNS integer function mal (line 91) | CREATE FUNCTION mal.EVAL(ast integer, env integer) RETURNS integer AS $$ function mal (line 201) | CREATE FUNCTION mal.PRINT(exp integer) RETURNS varchar AS $$ function mal (line 211) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 218) | CREATE FUNCTION mal.mal_eval(args integer[]) RETURNS integer AS $$ FILE: impls/plpgsql/step7_quote.sql function mal (line 17) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 36) | CREATE FUNCTION mal.qq_loop(elt integer, acc integer) RETURNS integer AS $$ function mal (line 97) | CREATE FUNCTION mal.eval_vector(ast integer, env integer) RETURNS integer function mal (line 114) | CREATE FUNCTION mal.eval_map(ast integer, env integer) RETURNS integer function mal (line 139) | CREATE FUNCTION mal.EVAL(ast integer, env integer) RETURNS integer AS $$ function mal (line 258) | CREATE FUNCTION mal.PRINT(exp integer) RETURNS varchar AS $$ function mal (line 268) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 275) | CREATE FUNCTION mal.mal_eval(args integer[]) RETURNS integer AS $$ FILE: impls/plpgsql/step8_macros.sql function mal (line 17) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 36) | CREATE FUNCTION mal.qq_loop(elt integer, acc integer) RETURNS integer AS $$ function mal (line 97) | CREATE FUNCTION mal.eval_vector(ast integer, env integer) RETURNS integer function mal (line 114) | CREATE FUNCTION mal.eval_map(ast integer, env integer) RETURNS integer function mal (line 139) | CREATE FUNCTION mal.EVAL(ast integer, env integer) RETURNS integer AS $$ function mal (line 267) | CREATE FUNCTION mal.PRINT(exp integer) RETURNS varchar AS $$ function mal (line 277) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 284) | CREATE FUNCTION mal.mal_eval(args integer[]) RETURNS integer AS $$ FILE: impls/plpgsql/step9_try.sql function mal (line 17) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 36) | CREATE FUNCTION mal.qq_loop(elt integer, acc integer) RETURNS integer AS $$ function mal (line 97) | CREATE FUNCTION mal.eval_vector(ast integer, env integer) RETURNS integer function mal (line 114) | CREATE FUNCTION mal.eval_map(ast integer, env integer) RETURNS integer function mal (line 139) | CREATE FUNCTION mal.EVAL(ast integer, env integer) RETURNS integer AS $$ function mal (line 290) | CREATE FUNCTION mal.PRINT(exp integer) RETURNS varchar AS $$ function mal (line 300) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 307) | CREATE FUNCTION mal.mal_eval(args integer[]) RETURNS integer AS $$ FILE: impls/plpgsql/stepA_mal.sql function mal (line 17) | CREATE FUNCTION mal.READ(line varchar) RETURNS integer AS $$ function mal (line 36) | CREATE FUNCTION mal.qq_loop(elt integer, acc integer) RETURNS integer AS $$ function mal (line 97) | CREATE FUNCTION mal.eval_vector(ast integer, env integer) RETURNS integer function mal (line 114) | CREATE FUNCTION mal.eval_map(ast integer, env integer) RETURNS integer function mal (line 139) | CREATE FUNCTION mal.EVAL(ast integer, env integer) RETURNS integer AS $$ function mal (line 290) | CREATE FUNCTION mal.PRINT(exp integer) RETURNS varchar AS $$ function mal (line 300) | CREATE FUNCTION mal.REP(line varchar) RETURNS varchar AS $$ function mal (line 307) | CREATE FUNCTION mal.mal_eval(args integer[]) RETURNS integer AS $$ FILE: impls/plpgsql/types.sql type value (line 24) | CREATE TABLE value ( type types (line 48) | CREATE INDEX ON types.value (value_id, type_id) function types (line 58) | CREATE FUNCTION types._wraptf(val boolean) RETURNS integer AS $$ function types (line 68) | CREATE FUNCTION types._tf(val boolean) RETURNS boolean AS $$ function types (line 77) | CREATE FUNCTION types._tf(val integer) RETURNS boolean AS $$ function types (line 86) | CREATE FUNCTION types._type(obj integer) RETURNS integer AS $$ function types (line 92) | CREATE FUNCTION types._equal_Q(a integer, b integer) RETURNS boolean AS $$ function types (line 156) | CREATE FUNCTION types._clone(id integer) RETURNS integer AS $$ function types (line 178) | CREATE FUNCTION types._nil_Q(id integer) RETURNS boolean AS $$ function types (line 186) | CREATE FUNCTION types._true_Q(id integer) RETURNS boolean AS $$ function types (line 194) | CREATE FUNCTION types._false_Q(id integer) RETURNS boolean AS $$ function types (line 202) | CREATE FUNCTION types._string_Q(id integer) RETURNS boolean AS $$ function types (line 213) | CREATE FUNCTION types._number_Q(id integer) RETURNS boolean AS $$ function types (line 223) | CREATE FUNCTION types._valueToString(sid integer) RETURNS varchar AS $$ function types (line 231) | CREATE FUNCTION types._stringish(str varchar, type integer) RETURNS inte... function types (line 251) | CREATE FUNCTION types._stringv(str varchar) RETURNS integer AS $$ function types (line 259) | CREATE FUNCTION types._keywordv(name varchar) RETURNS integer AS $$ function types (line 267) | CREATE FUNCTION types._keyword_Q(id integer) RETURNS boolean AS $$ function types (line 284) | CREATE FUNCTION types._symbolv(name varchar) RETURNS integer AS $$ function types (line 292) | CREATE FUNCTION types._symbol_Q(id integer) RETURNS boolean AS $$ function types (line 301) | CREATE FUNCTION types._numToValue(num bigint) RETURNS integer AS $$ function types (line 319) | CREATE FUNCTION types._fn_Q(id integer) RETURNS boolean AS $$ function types (line 330) | CREATE FUNCTION types._macro_Q(id integer) RETURNS boolean AS $$ function types (line 343) | CREATE FUNCTION types._sequential_Q(obj integer) RETURNS boolean AS $$ function types (line 352) | CREATE FUNCTION types._collection(items integer[], type integer) RETURNS... function types (line 383) | CREATE FUNCTION types._vector(items integer[]) RETURNS integer AS $$ function types (line 390) | CREATE FUNCTION types._list_Q(obj integer) RETURNS boolean AS $$ function types (line 398) | CREATE FUNCTION types._vector_Q(obj integer) RETURNS boolean AS $$ function types (line 408) | CREATE FUNCTION types._valueToArray(seq integer) RETURNS integer[] AS $$ function types (line 420) | CREATE FUNCTION types.array_reverse(a integer[]) RETURNS integer[] AS $$ function types (line 432) | CREATE FUNCTION types._nth(seq_id integer, indx integer) RETURNS integer... function types (line 442) | CREATE FUNCTION types._first(seq_id integer) RETURNS integer AS $$ function types (line 451) | CREATE FUNCTION types._restArray(seq_id integer) RETURNS integer[] AS $$ function types (line 462) | CREATE FUNCTION types._slice(seq_id integer, first integer, last integer) function types (line 480) | CREATE FUNCTION types._rest(seq_id integer) RETURNS integer AS $$ function types (line 488) | CREATE FUNCTION types._count(seq_id integer) RETURNS integer AS $$ function types (line 503) | CREATE FUNCTION types._hash_map(items integer[]) RETURNS integer AS $$ function types (line 510) | CREATE FUNCTION types._hash_map_Q(obj integer) RETURNS boolean AS $$ function types (line 518) | CREATE FUNCTION types._assoc_BANG(hm integer, items integer[]) RETURNS i... function types (line 539) | CREATE FUNCTION types._dissoc_BANG(hm integer, items integer[]) RETURNS ... function types (line 551) | CREATE FUNCTION types._get(hm integer, key varchar) RETURNS integer AS $$ function types (line 561) | CREATE FUNCTION types._contains_Q(hm integer, key varchar) RETURNS boole... function types (line 571) | CREATE FUNCTION types._keys(hm integer) RETURNS integer[] AS $$ function types (line 581) | CREATE FUNCTION types._vals(hm integer) RETURNS integer[] AS $$ function types (line 596) | CREATE FUNCTION types._function(fname varchar) function types (line 610) | CREATE FUNCTION types._malfunc(ast integer, params integer, env integer) function types (line 624) | CREATE FUNCTION types._macro(func integer) RETURNS integer AS $$ function types (line 634) | CREATE FUNCTION types._apply(func integer, args integer[]) RETURNS integ... function types (line 665) | CREATE FUNCTION types._atom(val integer) RETURNS integer AS $$ function types (line 680) | CREATE FUNCTION types._atom_Q(id integer) RETURNS boolean AS $$ function types (line 689) | CREATE FUNCTION types._deref(atm integer) RETURNS integer AS $$ function types (line 699) | CREATE FUNCTION types._reset_BANG(atm integer, newval integer) RETURNS i... FILE: impls/plsql/io.sql type stream (line 8) | CREATE TABLE stream ( type file_io (line 31) | CREATE TABLE file_io ( FILE: impls/plsql/step7_quote.sql function EVAL (line 15) | CREATE OR REPLACE PACKAGE BODY mal IS FILE: impls/plsql/step8_macros.sql function EVAL (line 15) | CREATE OR REPLACE PACKAGE BODY mal IS FILE: impls/plsql/step9_try.sql function EVAL (line 15) | CREATE OR REPLACE PACKAGE BODY mal IS FILE: impls/plsql/stepA_mal.sql function EVAL (line 15) | CREATE OR REPLACE PACKAGE BODY mal IS FILE: impls/python2/core.py function throw (line 12) | def throw(obj): raise MalException(obj) function pr_str (line 16) | def pr_str(*args): function do_str (line 19) | def do_str(*args): function prn (line 22) | def prn(*args): function println (line 26) | def println(*args): function core_readline (line 30) | def core_readline(prompt): function slurp (line 36) | def slurp(path): function assoc (line 41) | def assoc(src_hm, *key_vals): function dissoc (line 46) | def dissoc(src_hm, *keys): function get (line 52) | def get(hm, key): function vals (line 62) | def vals(hm): return List(hm.values()) function cons (line 66) | def cons(x, seq): return concat((x,), seq) function concat (line 68) | def concat(*lsts): return List(chain(*lsts)) function first (line 72) | def first(lst): function rest (line 78) | def rest(lst): function count (line 88) | def count(lst): function apply (line 92) | def apply(f, *args): return f(*chain(args[:-1], args[-1])) function mapf (line 94) | def mapf(f, lst): return List(map(f, lst)) function conj (line 96) | def conj(lst, *args): function seq (line 102) | def seq(obj): function with_meta (line 112) | def with_meta(obj, meta): function meta (line 117) | def meta(obj): function deref (line 122) | def deref(atm): return atm.val function reset_BANG (line 123) | def reset_BANG(atm,val): function swap_BANG (line 126) | def swap_BANG(atm,f,*args): FILE: impls/python2/env.py class Env (line 4) | class Env(): method __init__ (line 5) | def __init__(self, outer=None, binds=None, exprs=None): method set (line 20) | def set(self, key, value): method get (line 24) | def get(self, key, return_nil=False): FILE: impls/python2/mal_types.py function _equal_Q (line 5) | def _equal_Q(a, b): function _sequential_Q (line 18) | def _sequential_Q(seq): return _list_Q(seq) or _vector_Q(seq) function _clone (line 20) | def _clone(obj): class MalException (line 34) | class MalException(Exception): method __init__ (line 35) | def __init__(self, object): function _nil_Q (line 39) | def _nil_Q(exp): return exp is None function _true_Q (line 40) | def _true_Q(exp): return exp is True function _false_Q (line 41) | def _false_Q(exp): return exp is False function _string_Q (line 42) | def _string_Q(exp): function _number_Q (line 44) | def _number_Q(exp): return type(exp) == int class Symbol (line 47) | class Symbol(str): pass function _symbol_Q (line 49) | def _symbol_Q(exp): return type(exp) == Symbol function _keyword (line 54) | def _keyword(str): function _keyword_Q (line 59) | def _keyword_Q(exp): class List (line 70) | class List(tuple): function _list (line 72) | def _list(*vals): return List(vals) function _list_Q (line 73) | def _list_Q(exp): return type(exp) == List class Vector (line 77) | class Vector(tuple): function _vector (line 79) | def _vector(*vals): return Vector(vals) function _vector_Q (line 80) | def _vector_Q(exp): return type(exp) == Vector class Hash_Map (line 83) | class Hash_Map(dict): pass function _hash_map (line 84) | def _hash_map(*key_vals): function _hash_map_Q (line 86) | def _hash_map_Q(exp): return type(exp) == Hash_Map function asPairs (line 88) | def asPairs(iterable): class Atom (line 94) | class Atom(object): method __init__ (line 95) | def __init__(self, val): function _atom_Q (line 98) | def _atom_Q(exp): return type(exp) == Atom function py_to_mal (line 100) | def py_to_mal(obj): FILE: impls/python2/printer.py function _escape (line 5) | def _escape(s): function _pr_str (line 8) | def _pr_str(obj, print_readably=True): function pr_list (line 35) | def pr_list(iterable, separator, readably): FILE: impls/python2/reader.py class Blank (line 5) | class Blank(Exception): pass class Reader (line 7) | class Reader(): method __init__ (line 8) | def __init__(self, tokens, position=0): method next (line 12) | def next(self): method peek (line 16) | def peek(self): function tokenize (line 22) | def tokenize(str): function _unescape (line 26) | def _unescape(s): function read_atom (line 29) | def read_atom(reader): function read_sequence (line 44) | def read_sequence(reader, start='(', end=')'): function read_hash_map (line 55) | def read_hash_map(reader): function read_list (line 59) | def read_list(reader): function read_vector (line 62) | def read_vector(reader): function read_form (line 65) | def read_form(reader): function read_str (line 106) | def read_str(str): FILE: impls/python2/step0_repl.py function READ (line 5) | def READ(str): function EVAL (line 9) | def EVAL(ast): function PRINT (line 13) | def PRINT(exp): function REP (line 17) | def REP(str): FILE: impls/python2/step1_read_print.py function EVAL (line 9) | def EVAL(ast): function REP (line 16) | def REP(str): FILE: impls/python2/step2_eval.py function EVAL (line 10) | def EVAL(ast, env): function REP (line 37) | def REP(str): FILE: impls/python2/step3_env.py function EVAL (line 11) | def EVAL(ast, env): function REP (line 54) | def REP(str): FILE: impls/python2/step4_if_fn_do.py function EVAL (line 12) | def EVAL(ast, env): function REP (line 74) | def REP(str): FILE: impls/python2/step5_tco.py function EVAL (line 12) | def EVAL(ast, env): function REP (line 88) | def REP(str): FILE: impls/python2/step6_file.py function EVAL (line 12) | def EVAL(ast, env): function REP (line 88) | def REP(str): FILE: impls/python2/step7_quote.py function qq_loop (line 13) | def qq_loop(acc, elt): function qq_foldr (line 22) | def qq_foldr(seq): function quasiquote (line 25) | def quasiquote(ast): function EVAL (line 40) | def EVAL(ast, env): function REP (line 121) | def REP(str): FILE: impls/python2/step8_macros.py function qq_loop (line 13) | def qq_loop(acc, elt): function qq_foldr (line 22) | def qq_foldr(seq): function quasiquote (line 25) | def quasiquote(ast): function EVAL (line 40) | def EVAL(ast, env): function REP (line 129) | def REP(str): FILE: impls/python2/step9_try.py function qq_loop (line 13) | def qq_loop(acc, elt): function qq_foldr (line 22) | def qq_foldr(seq): function quasiquote (line 25) | def quasiquote(ast): function EVAL (line 40) | def EVAL(ast, env): function REP (line 146) | def REP(str): FILE: impls/python2/stepA_mal.py function qq_loop (line 13) | def qq_loop(acc, elt): function qq_foldr (line 22) | def qq_foldr(seq): function quasiquote (line 25) | def quasiquote(ast): function EVAL (line 40) | def EVAL(ast, env): function REP (line 155) | def REP(str): FILE: impls/python3/core.py function built_in (line 21) | def built_in(name: str) -> Callable[[PythonCall], None]: function equality (line 40) | def equality(value: Form) -> PythonCall: function membership (line 57) | def membership(*classes: type) -> PythonCall: function arithmetic (line 82) | def arithmetic(old_f: Callable[[int, int], int]) -> PythonCall: function comparison (line 100) | def comparison(old_f: Callable[[int, int], bool]) -> PythonCall: function _ (line 119) | def _(args: Sequence[Form]) -> Form: function _ (line 132) | def _(args: Sequence[Form]) -> Form: function _ (line 138) | def _(args: Sequence[Form]) -> Form: function _ (line 143) | def _(args: Sequence[Form]) -> Form: function _ (line 149) | def _(args: Sequence[Form]) -> Form: function _ (line 158) | def _(args: Sequence[Form]) -> Form: function _ (line 169) | def _(args: Sequence[Form]) -> Form: function _ (line 178) | def _(args: Sequence[Form]) -> Form: function _ (line 188) | def _(args: Sequence[Form]) -> Form: function _ (line 193) | def _(args: Sequence[Form]) -> Form: function _ (line 202) | def _(args: Sequence[Form]) -> Form: function _ (line 211) | def _(args: Sequence[Form]) -> Form: function _ (line 221) | def _(args: Sequence[Form]) -> Form: function _ (line 232) | def _(args: Sequence[Form]) -> Form: function cast_sequence (line 240) | def cast_sequence(arg: Form) -> List | Vector: function _ (line 249) | def _(args: Sequence[Form]) -> Form: function _ (line 254) | def _(args: Sequence[Form]) -> Form: function _ (line 266) | def _(args: Sequence[Form]) -> Form: function _ (line 276) | def _(args: Sequence[Form]) -> Form: function _ (line 285) | def _(args: Sequence[Form]) -> Form: function _ (line 294) | def _(args: Sequence[Form]) -> Form: function _ (line 305) | def _(args: Sequence[Form]) -> Form: function _ (line 316) | def _(args: Sequence[Form]) -> Form: function _ (line 328) | def _(args: Sequence[Form]) -> Form: function _ (line 335) | def _(args: Sequence[Form]) -> Form: function _ (line 344) | def _(args: Sequence[Form]) -> Form: function _ (line 360) | def _(args: Sequence[Form]) -> Form: function conj (line 375) | def conj(args: Sequence[Form]) -> Form: function _ (line 386) | def _(args: Sequence[Form]) -> Form: function _ (line 397) | def _(args: Sequence[Form]) -> Form: function _ (line 408) | def _(args: Sequence[Form]) -> Form: function _ (line 419) | def _(args: Sequence[Form]) -> Form: function _ (line 424) | def _(args: Sequence[Form]) -> Form: function _ (line 433) | def _(args: Sequence[Form]) -> Form: function _ (line 442) | def _(args: Sequence[Form]) -> Form: function _ (line 451) | def _(args: Sequence[Form]) -> Form: function _ (line 460) | def _(args: Sequence[Form]) -> Form: function _ (line 475) | def _(args: Sequence[Form]) -> Form: function _ (line 486) | def _(args: Sequence[Form]) -> Form: function py2mal (line 496) | def py2mal(obj: typing.Any) -> Form: function _ (line 521) | def _(args: Sequence[Form]) -> Form: FILE: impls/python3/env.py function call_env (line 7) | def call_env(env: Env, parms: Sequence[str], args: Sequence[Form]) -> Env: FILE: impls/python3/mal_readline.py function input_ (line 17) | def input_(prompt: str) -> str: FILE: impls/python3/mal_types.py class Nil (line 28) | class Nil(enum.Enum): method __str__ (line 31) | def __str__(self, readably: bool = True) -> str: class Boolean (line 35) | class Boolean(enum.Enum): method __str__ (line 39) | def __str__(self, readably: bool = True) -> str: class Number (line 43) | class Number(int): method __str__ (line 45) | def __str__(self, readably: bool = True) -> str: class Symbol (line 49) | class Symbol(str): method __str__ (line 51) | def __str__(self, readably: bool = True) -> str: class String (line 60) | class String: method _repl (line 64) | def _repl(match: re.Match[str]) -> str: method __str__ (line 68) | def __str__(self, readably: bool = True) -> str: class Keyword (line 74) | class Keyword: method __str__ (line 77) | def __str__(self, readably: bool = True) -> str: class List (line 81) | class List(tuple['Form', ...]): method __init__ (line 84) | def __init__(self, _: Iterable['Form'] = (), method __str__ (line 89) | def __str__(self, readably: bool = True) -> str: class Vector (line 93) | class Vector(tuple['Form', ...]): method __init__ (line 95) | def __init__(self, _: Iterable['Form'] = (), method __str__ (line 100) | def __str__(self, readably: bool = True) -> str: class Map (line 104) | class Map(dict[Keyword | String, 'Form']): method __init__ (line 106) | def __init__(self, method __str__ (line 114) | def __str__(self, readably: bool = True) -> str: method cast_items (line 119) | def cast_items(args: Iterable['Form'] class TCOEnv (line 138) | class TCOEnv(typing.NamedTuple): class Fn (line 144) | class Fn: method __str__ (line 149) | def __str__(self, readably: bool = True) -> str: class Macro (line 154) | class Macro: method __str__ (line 157) | def __str__(self, readably: bool = True) -> str: class Atom (line 162) | class Atom: method __str__ (line 165) | def __str__(self, readably: bool = True) -> str: class Error (line 173) | class Error(Exception): class ThrownException (line 178) | class ThrownException(Exception): function pr_seq (line 182) | def pr_seq(args: Iterable[Form], readably: bool = True, sep: str = ' ') ... FILE: impls/python3/reader.py class Lexer (line 15) | class Lexer: method __init__ (line 19) | def __init__(self, source: str) -> None: method consume (line 24) | def consume(self) -> None: method peek (line 30) | def peek(self) -> re.Match[str] | None: function token (line 34) | def token(regex: str): function context (line 51) | def context(match: Match[str]) -> str: function unescape (line 69) | def unescape(match: Match[str]) -> str: function string (line 76) | def string(_: Lexer, tok: Match[str]) -> Form: function read_list (line 83) | def read_list(lexer: Lexer, closing: str, pos: Match[str]) -> Iterator[F... function list_start (line 90) | def list_start(lexer: Lexer, tok: Match[str]) -> Form: function vector_start (line 95) | def vector_start(lexer: Lexer, tok: Match[str]) -> Form: function map_start (line 100) | def map_start(lexer: Lexer, tok: Match[str]) -> Form: function macro (line 114) | def macro(lexer: Lexer, tok: Match[str]) -> Form: function with_meta (line 119) | def with_meta(lexer: Lexer, tok: Match[str]) -> Form: function list_end (line 125) | def list_end(_: Lexer, tok: Match[str]) -> Form: function number (line 130) | def number(_: Lexer, tok: Match[str]) -> Form: function symbol (line 142) | def symbol(_: Lexer, tok: Match[str]) -> Form: function should_never_match (line 151) | def should_never_match(lexer: Lexer, tok: Match[str]) -> Form: function read_form (line 155) | def read_form(lexer: Lexer, pos: Match[str] | None) -> Form: function read (line 167) | def read(source: str) -> Form: FILE: impls/python3/step0_repl.py function read (line 4) | def read(source: str) -> str: function eval_ (line 8) | def eval_(ast: str) -> str: function print_ (line 12) | def print_(form: str) -> str: function rep (line 16) | def rep(source: str) -> str: function main (line 20) | def main() -> None: FILE: impls/python3/step1_read_print.py function eval_ (line 10) | def eval_(ast: Form) -> Form: function rep (line 15) | def rep(source: str) -> str: function main (line 19) | def main() -> None: FILE: impls/python3/step2_eval.py function eval_ (line 15) | def eval_(ast: Form, env: Env) -> Form: function add (line 36) | def add(args: Sequence[Form]) -> Form: function sub (line 44) | def sub(args: Sequence[Form]) -> Form: function mul (line 52) | def mul(args: Sequence[Form]) -> Form: function floordiv (line 60) | def floordiv(args: Sequence[Form]) -> Form: function rep (line 68) | def rep(source: str, env: Env) -> str: function main (line 72) | def main() -> None: FILE: impls/python3/step3_env.py function eval_def (line 13) | def eval_def(args: Sequence[Form], env: Env) -> Form: function eval_let (line 23) | def eval_let(args: Sequence[Form], env: Env) -> Form: function eval_ (line 45) | def eval_(ast: Form, env: Env) -> Form: function add (line 72) | def add(args: Sequence[Form]) -> Form: function sub (line 80) | def sub(args: Sequence[Form]) -> Form: function mul (line 88) | def mul(args: Sequence[Form]) -> Form: function floordiv (line 96) | def floordiv(args: Sequence[Form]) -> Form: function rep (line 104) | def rep(source: str, env: Env) -> str: function main (line 108) | def main() -> None: FILE: impls/python3/step4_if_fn_do.py function eval_def (line 17) | def eval_def(args: Sequence[Form], env: Env) -> Form: function eval_let (line 27) | def eval_let(args: Sequence[Form], env: Env) -> Form: function eval_do (line 43) | def eval_do(args: Sequence[Form], env: Env) -> Form: function eval_if (line 53) | def eval_if(args: Sequence[Form], env: Env) -> Form: function eval_fn (line 63) | def eval_fn(args: Sequence[Form], env: Env) -> Form: function eval_ (line 90) | def eval_(ast: Form, env: Env) -> Form: function rep (line 117) | def rep(source: str, env: Env) -> str: function main (line 121) | def main() -> None: FILE: impls/python3/step5_tco.py function eval_def (line 20) | def eval_def(args: Sequence[Form], env: Env) -> SpecialResult: function eval_let (line 30) | def eval_let(args: Sequence[Form], env: Env) -> SpecialResult: function eval_do (line 46) | def eval_do(args: Sequence[Form], env: Env) -> SpecialResult: function eval_if (line 56) | def eval_if(args: Sequence[Form], env: Env) -> SpecialResult: function eval_fn (line 66) | def eval_fn(args: Sequence[Form], env: Env) -> SpecialResult: function eval_ (line 96) | def eval_(ast: Form, env: Env) -> Form: function rep (line 131) | def rep(source: str, env: Env) -> str: function main (line 135) | def main() -> None: FILE: impls/python3/step6_file.py function eval_def (line 21) | def eval_def(args: Sequence[Form], env: Env) -> SpecialResult: function eval_let (line 31) | def eval_let(args: Sequence[Form], env: Env) -> SpecialResult: function eval_do (line 47) | def eval_do(args: Sequence[Form], env: Env) -> SpecialResult: function eval_if (line 57) | def eval_if(args: Sequence[Form], env: Env) -> SpecialResult: function eval_fn (line 67) | def eval_fn(args: Sequence[Form], env: Env) -> SpecialResult: function eval_ (line 97) | def eval_(ast: Form, env: Env) -> Form: function rep (line 132) | def rep(source: str, env: Env) -> str: function main (line 136) | def main() -> None: FILE: impls/python3/step7_quote.py function eval_def (line 22) | def eval_def(args: Sequence[Form], env: Env) -> SpecialResult: function eval_let (line 32) | def eval_let(args: Sequence[Form], env: Env) -> SpecialResult: function eval_do (line 48) | def eval_do(args: Sequence[Form], env: Env) -> SpecialResult: function eval_if (line 58) | def eval_if(args: Sequence[Form], env: Env) -> SpecialResult: function eval_fn (line 68) | def eval_fn(args: Sequence[Form], env: Env) -> SpecialResult: function eval_quote (line 89) | def eval_quote(args: Sequence[Form], _env: Env) -> SpecialResult: function qq_loop (line 97) | def qq_loop(acc: List, elt: Form) -> List: function qq_foldr (line 107) | def qq_foldr(forms: Sequence[Form]) -> List: function quasiquote (line 111) | def quasiquote(ast: Form) -> Form: function eval_quasiquote (line 127) | def eval_quasiquote(args: Sequence[Form], env: Env) -> SpecialResult: function eval_ (line 146) | def eval_(ast: Form, env: Env) -> Form: function rep (line 181) | def rep(source: str, env: Env) -> str: function main (line 185) | def main() -> None: FILE: impls/python3/step8_macros.py function eval_def (line 22) | def eval_def(args: Sequence[Form], env: Env) -> SpecialResult: function eval_let (line 32) | def eval_let(args: Sequence[Form], env: Env) -> SpecialResult: function eval_do (line 48) | def eval_do(args: Sequence[Form], env: Env) -> SpecialResult: function eval_if (line 58) | def eval_if(args: Sequence[Form], env: Env) -> SpecialResult: function eval_fn (line 68) | def eval_fn(args: Sequence[Form], env: Env) -> SpecialResult: function eval_quote (line 89) | def eval_quote(args: Sequence[Form], _env: Env) -> SpecialResult: function qq_loop (line 97) | def qq_loop(acc: List, elt: Form) -> List: function qq_foldr (line 107) | def qq_foldr(forms: Sequence[Form]) -> List: function quasiquote (line 111) | def quasiquote(ast: Form) -> Form: function eval_quasiquote (line 127) | def eval_quasiquote(args: Sequence[Form], env: Env) -> SpecialResult: function eval_defmacro (line 135) | def eval_defmacro(args: Sequence[Form], env: Env) -> SpecialResult: function eval_ (line 160) | def eval_(ast: Form, env: Env) -> Form: function rep (line 197) | def rep(source: str, env: Env) -> str: function main (line 201) | def main() -> None: FILE: impls/python3/step9_try.py function eval_def (line 22) | def eval_def(args: Sequence[Form], env: Env) -> SpecialResult: function eval_let (line 32) | def eval_let(args: Sequence[Form], env: Env) -> SpecialResult: function eval_do (line 48) | def eval_do(args: Sequence[Form], env: Env) -> SpecialResult: function eval_if (line 58) | def eval_if(args: Sequence[Form], env: Env) -> SpecialResult: function eval_fn (line 68) | def eval_fn(args: Sequence[Form], env: Env) -> SpecialResult: function eval_quote (line 89) | def eval_quote(args: Sequence[Form], _env: Env) -> SpecialResult: function qq_loop (line 97) | def qq_loop(acc: List, elt: Form) -> List: function qq_foldr (line 107) | def qq_foldr(forms: Sequence[Form]) -> List: function quasiquote (line 111) | def quasiquote(ast: Form) -> Form: function eval_quasiquote (line 127) | def eval_quasiquote(args: Sequence[Form], env: Env) -> SpecialResult: function eval_defmacro (line 135) | def eval_defmacro(args: Sequence[Form], env: Env) -> SpecialResult: function eval_try (line 148) | def eval_try(args: Sequence[Form], env: Env) -> SpecialResult: function eval_ (line 176) | def eval_(ast: Form, env: Env) -> Form: function rep (line 213) | def rep(source: str, env: Env) -> str: function main (line 217) | def main() -> None: FILE: impls/python3/stepA_mal.py function eval_def (line 27) | def eval_def(args: Sequence[Form], env: Env) -> SpecialResult: function eval_let (line 37) | def eval_let(args: Sequence[Form], env: Env) -> SpecialResult: function eval_do (line 53) | def eval_do(args: Sequence[Form], env: Env) -> SpecialResult: function eval_if (line 63) | def eval_if(args: Sequence[Form], env: Env) -> SpecialResult: function eval_fn (line 73) | def eval_fn(args: Sequence[Form], env: Env) -> SpecialResult: function eval_quote (line 94) | def eval_quote(args: Sequence[Form], _env: Env) -> SpecialResult: function qq_loop (line 102) | def qq_loop(acc: List, elt: Form) -> List: function qq_foldr (line 112) | def qq_foldr(forms: Sequence[Form]) -> List: function quasiquote (line 116) | def quasiquote(ast: Form) -> Form: function eval_quasiquote (line 132) | def eval_quasiquote(args: Sequence[Form], env: Env) -> SpecialResult: function eval_defmacro (line 140) | def eval_defmacro(args: Sequence[Form], env: Env) -> SpecialResult: function eval_try (line 153) | def eval_try(args: Sequence[Form], env: Env) -> SpecialResult: function eval_ (line 181) | def eval_(ast: Form, env: Env) -> Form: function rep (line 218) | def rep(source: str, env: Env) -> str: function main (line 222) | def main() -> None: FILE: impls/python3/tests/test_step2.py class TestStep3 (line 6) | class TestStep3(unittest.TestCase): method test_step3_let_multiple (line 7) | def test_step3_let_multiple(self): FILE: impls/python3/tests/test_step3.py class TestStep3 (line 11) | class TestStep3(unittest.TestCase): method test_env_find (line 12) | def test_env_find(self): method test_env_find_outer (line 18) | def test_env_find_outer(self): method test_env_find_no_key (line 25) | def test_env_find_no_key(self): method test_env_get (line 29) | def test_env_get(self): method test_env_get_error (line 35) | def test_env_get_error(self): method test_MalFunctionCompiled (line 43) | def test_MalFunctionCompiled(self): method test_eval_invalid (line 53) | def test_eval_invalid(self): method test_eval_1_plus_1 (line 57) | def test_eval_1_plus_1(self): method test_def (line 72) | def test_def(self): method test_mallist_native (line 82) | def test_mallist_native(self): method test_let_basic (line 86) | def test_let_basic(self): method test_let_advanced (line 102) | def test_let_advanced(self): method test_let_multiple (line 124) | def test_let_multiple(self): method test_step3_let_multiple (line 146) | def test_step3_let_multiple(self): method test_step3_let_nested_backref (line 149) | def test_step3_let_nested_backref(self): FILE: impls/python3/tests/test_step4.py class TestStep4 (line 10) | class TestStep4(unittest.TestCase): method test_step4_nil (line 11) | def test_step4_nil(self): method test_step4_boolean (line 14) | def test_step4_boolean(self): method test_print_function (line 18) | def test_print_function(self): method test_if_basic_true (line 21) | def test_if_basic_true(self): method test_if_basic_false (line 33) | def test_if_basic_false(self): method test_if_basic_false_no_fourth_arg (line 45) | def test_if_basic_false_no_fourth_arg(self): method test_env_constructor_binds (line 56) | def test_env_constructor_binds(self): method test_env_constructor_binds_multiple (line 60) | def test_env_constructor_binds_multiple(self): method test_step4_do (line 69) | def test_step4_do(self): method test_step4_fn (line 73) | def test_step4_fn(self): method test_step4_use_fn (line 76) | def test_step4_use_fn(self): method test_step4_use_fn_multiple (line 79) | def test_step4_use_fn_multiple(self): method test_step4_use_fn_multiple_nested (line 82) | def test_step4_use_fn_multiple_nested(self): method test_step4_use_fn_func_param (line 85) | def test_step4_use_fn_func_param(self): method test_step4_prn (line 90) | def test_step4_prn(self): method test_step4_list (line 93) | def test_step4_list(self): method test_step4_listP (line 96) | def test_step4_listP(self): method test_step4_empty (line 100) | def test_step4_empty(self): method test_step4_count (line 103) | def test_step4_count(self): method test_step4_equal (line 108) | def test_step4_equal(self): method test_step4_less (line 118) | def test_step4_less(self): method test_step4_less_equal (line 133) | def test_step4_less_equal(self): method test_step4_more (line 148) | def test_step4_more(self): method test_step4_more_equal (line 163) | def test_step4_more_equal(self): method test_step4_closures (line 178) | def test_step4_closures(self): method test_step4_variadic_a (line 193) | def test_step4_variadic_a(self): method test_step4_variadic_b (line 198) | def test_step4_variadic_b(self): method test_step4_quoted_string (line 201) | def test_step4_quoted_string(self): method test_step4_str (line 204) | def test_step4_str(self): method test_step4_equal_vector_list (line 207) | def test_step4_equal_vector_list(self): FILE: impls/python3/tests/test_step5.py class TestStep5 (line 6) | class TestStep5(unittest.TestCase): method test_step5_tco (line 7) | def test_step5_tco(self): FILE: impls/python3/tests/test_step6.py class TestStep6 (line 10) | class TestStep6(unittest.TestCase): method test_step6_string_unbalanced (line 11) | def test_step6_string_unbalanced(self): method test_step6_standard_string (line 15) | def test_step6_standard_string(self): method test_step6_reader_read_string (line 23) | def test_step6_reader_read_string(self): method test_step6_read_string_no_escapes (line 31) | def test_step6_read_string_no_escapes(self): method test_step6_slurp (line 36) | def test_step6_slurp(self): method test_step6_eval (line 41) | def test_step6_eval(self): method test_step6_str (line 44) | def test_step6_str(self): method test_step6_atom_type (line 47) | def test_step6_atom_type(self): method test_step6_read_atom (line 51) | def test_step6_read_atom(self): method test_step6_atom_deref (line 55) | def test_step6_atom_deref(self): method test_step6_atom_p (line 58) | def test_step6_atom_p(self): method test_step6_reset (line 62) | def test_step6_reset(self): method test_step6_swap (line 65) | def test_step6_swap(self): FILE: impls/python3/tests/test_step7.py class TestStep7 (line 6) | class TestStep7(unittest.TestCase): method test_step7_cons (line 7) | def test_step7_cons(self): method test_step7_concat (line 10) | def test_step7_concat(self): method test_step7_quote (line 13) | def test_step7_quote(self): method test_step7_quasiquote (line 16) | def test_step7_quasiquote(self): method test_step7_quasiquote_advanced (line 21) | def test_step7_quasiquote_advanced(self): FILE: impls/python3/tests/test_step8.py class TestStep8 (line 10) | class TestStep8(unittest.TestCase): method setUp (line 11) | def setUp(self) -> None: method rep (line 14) | def rep(self, input: str) -> str: method test_step8_is_macro (line 17) | def test_step8_is_macro(self): method test_step8_defmacro (line 24) | def test_step8_defmacro(self): method test_step8_quote_reader_macro (line 27) | def test_step8_quote_reader_macro(self): method test_step8_quasiquote_unquote_reader_macros (line 30) | def test_step8_quasiquote_unquote_reader_macros(self): method test_step8_repl_env_isolation (line 33) | def test_step8_repl_env_isolation(self): method test_step8_is_macro_call (line 42) | def test_step8_is_macro_call(self): method test_step8_macroexpand (line 59) | def test_step8_macroexpand(self): method test_step8_not (line 69) | def test_step8_not(self): method test_step8_let (line 75) | def test_step8_let(self): method test_step8_first (line 78) | def test_step8_first(self): method test_step8_rest (line 85) | def test_step8_rest(self): method test_step8_nth (line 92) | def test_step8_nth(self): FILE: impls/python3/tests/test_step9.py class TestStep9 (line 7) | class TestStep9(unittest.TestCase): method setUp (line 8) | def setUp(self) -> None: method rep (line 11) | def rep(self, input: str) -> str: method test_step9_throw (line 14) | def test_step9_throw(self): method test_step9_try_catch (line 18) | def test_step9_try_catch(self): method test_step9_nth (line 24) | def test_step9_nth(self): method test_step9_apply (line 30) | def test_step9_apply(self): method test_step9_map (line 34) | def test_step9_map(self): method test_step9_symbol_q (line 37) | def test_step9_symbol_q(self): method test_step9_nil (line 41) | def test_step9_nil(self): method test_step9_true (line 45) | def test_step9_true(self): method test_step9_false (line 51) | def test_step9_false(self): method test_step9_throw_hash_map (line 57) | def test_step9_throw_hash_map(self): method test_step9_symbol (line 61) | def test_step9_symbol(self): method test_step9_complex_apply (line 64) | def test_step9_complex_apply(self): method test_step9_get (line 67) | def test_step9_get(self): method test_step9_complex_str (line 71) | def test_step9_complex_str(self): method test_step9_sequential_q (line 74) | def test_step9_sequential_q(self): method test_step9_vector (line 83) | def test_step9_vector(self): method test_step9_hash_map (line 89) | def test_step9_hash_map(self): method test_step9_assoc (line 94) | def test_step9_assoc(self): method test_step9_contains_q (line 106) | def test_step9_contains_q(self): method test_step9_keys (line 119) | def test_step9_keys(self): method test_step9_vals (line 127) | def test_step9_vals(self): method test_step9_dissoc (line 135) | def test_step9_dissoc(self): FILE: impls/python3/tests/test_stepA.py class TestStepA (line 6) | class TestStepA(unittest.TestCase): method setUp (line 7) | def setUp(self) -> None: method rep (line 10) | def rep(self, input: str) -> str: method test_stepA_host_language (line 13) | def test_stepA_host_language(self): method test_stepA_eval_vector (line 16) | def test_stepA_eval_vector(self): method test_reader_multiple_lines (line 19) | def test_reader_multiple_lines(self): method test_read_string_multiple_lines (line 22) | def test_read_string_multiple_lines(self): method test_read_hash_map (line 28) | def test_read_hash_map(self): method test_get (line 33) | def test_get(self): method test_keyword (line 36) | def test_keyword(self): method test_deref_reader_macro (line 39) | def test_deref_reader_macro(self): method test_splice_unquote_reader_macro (line 42) | def test_splice_unquote_reader_macro(self): method test_swap_assoc_get (line 45) | def test_swap_assoc_get(self): FILE: impls/rpython/core.py function wrap_tf (line 15) | def wrap_tf(tf): function do_equal (line 19) | def do_equal(args): return wrap_tf(types._equal_Q(args[0], args[1])) function throw (line 22) | def throw(args): function nil_Q (line 26) | def nil_Q(args): return wrap_tf(types._nil_Q(args[0])) function true_Q (line 27) | def true_Q(args): return wrap_tf(types._true_Q(args[0])) function false_Q (line 28) | def false_Q(args): return wrap_tf(types._false_Q(args[0])) function string_Q (line 29) | def string_Q(args): return wrap_tf(types._string_Q(args[0])) function symbol (line 30) | def symbol(args): function symbol_Q (line 38) | def symbol_Q(args): return wrap_tf(types._symbol_Q(args[0])) function keyword (line 39) | def keyword(args): return types._keyword(args[0]) function keyword_Q (line 40) | def keyword_Q(args): return wrap_tf(types._keyword_Q(args[0])) function number_Q (line 41) | def number_Q(args): return wrap_tf(types._int_Q(args[0])) function function_Q (line 42) | def function_Q(args): return wrap_tf(types._function_Q(args[0]) and not ... function macro_Q (line 43) | def macro_Q(args): return wrap_tf(types._function_Q(args[0]) and args[0]... function pr_str (line 47) | def pr_str(args): function do_str (line 52) | def do_str(args): function prn (line 57) | def prn(args): function println (line 63) | def println(args): function do_readline (line 69) | def do_readline(args): function read_str (line 78) | def read_str(args): function slurp (line 84) | def slurp(args): function lt (line 91) | def lt(args): function lte (line 96) | def lte(args): function gt (line 101) | def gt(args): function gte (line 106) | def gte(args): function plus (line 112) | def plus(args): function minus (line 117) | def minus(args): function multiply (line 122) | def multiply(args): function divide (line 127) | def divide(args): function time_ms (line 135) | def time_ms(args): function do_hash_map (line 140) | def do_hash_map(ml): function hash_map_Q (line 143) | def hash_map_Q(args): function assoc (line 146) | def assoc(args): function dissoc (line 156) | def dissoc(args): function get (line 166) | def get(args): function contains_Q (line 184) | def contains_Q(args): function keys (line 190) | def keys(args): function vals (line 196) | def vals(args): function do_list (line 202) | def do_list(ml): function list_Q (line 205) | def list_Q(args): function do_vector (line 208) | def do_vector(ml): function vector_Q (line 211) | def vector_Q(args): function empty_Q (line 214) | def empty_Q(args): function count (line 223) | def count(args): function sequential_Q (line 232) | def sequential_Q(args): function vec (line 235) | def vec(args): function cons (line 242) | def cons(args): function concat (line 248) | def concat(args): function nth (line 256) | def nth(args): function first (line 265) | def first(args): function rest (line 274) | def rest(args): function apply (line 283) | def apply(args): function mapf (line 291) | def mapf(args): function conj (line 301) | def conj(args): function seq (line 315) | def seq(args): function with_meta (line 333) | def with_meta(args): function meta (line 342) | def meta(args): function do_atom (line 351) | def do_atom(args): function atom_Q (line 353) | def atom_Q(args): function deref (line 355) | def deref(args): function reset_BANG (line 360) | def reset_BANG(args): function swap_BANG (line 366) | def swap_BANG(args): FILE: impls/rpython/env.py class Env (line 4) | class Env(): method __init__ (line 5) | def __init__(self, outer=None, binds=None, exprs=None): method set (line 24) | def set(self, key, value): method get (line 30) | def get(self, key): FILE: impls/rpython/mal_readline.py function readline (line 28) | def readline(prompt): FILE: impls/rpython/mal_types.py class StringSort (line 11) | class StringSort(TimSort): method lt (line 12) | def lt(self, a, b): function _equal_Q (line 17) | def _equal_Q(a, b): function _sequential_Q (line 55) | def _sequential_Q(seq): return _list_Q(seq) or _vector_Q(seq) function _clone (line 57) | def _clone(obj): function _replace (line 70) | def _replace(match, sub, old_str): class MalException (line 87) | class MalException(Exception): method __init__ (line 88) | def __init__(self, object): function throw_str (line 91) | def throw_str(s): class MalType (line 96) | class MalType(): pass class MalMeta (line 97) | class MalMeta(MalType): pass class MalNil (line 100) | class MalNil(MalType): pass function _nil_Q (line 102) | def _nil_Q(exp): class MalTrue (line 106) | class MalTrue(MalType): pass function _true_Q (line 108) | def _true_Q(exp): class MalFalse (line 112) | class MalFalse(MalType): pass function _false_Q (line 114) | def _false_Q(exp): class MalInt (line 119) | class MalInt(MalType): method __init__ (line 120) | def __init__(self, value): function _int_Q (line 123) | def _int_Q(exp): class MalStr (line 128) | class MalStr(MalType): method __init__ (line 129) | def __init__(self, value): method __len__ (line 132) | def __len__(self): function _string_Q (line 134) | def _string_Q(exp): function _keyword (line 140) | def _keyword(mstr): function _keywordu (line 149) | def _keywordu(strn): function _keyword_Q (line 152) | def _keyword_Q(exp): class MalSym (line 159) | class MalSym(MalMeta): method __init__ (line 160) | def __init__(self, value): function _symbol (line 164) | def _symbol(strn): function _symbol_Q (line 167) | def _symbol_Q(exp): class MalList (line 172) | class MalList(MalMeta): method __init__ (line 173) | def __init__(self, vals): method append (line 177) | def append(self, val): method rest (line 179) | def rest(self): method __len__ (line 181) | def __len__(self): method __getitem__ (line 183) | def __getitem__(self, i): method slice (line 186) | def slice(self, start): method slice2 (line 188) | def slice2(self, start, end): function _list (line 191) | def _list(*vals): return MalList(list(vals)) function _listl (line 192) | def _listl(lst): return MalList(lst) function _list_Q (line 193) | def _list_Q(exp): class MalVector (line 198) | class MalVector(MalList): function _vector (line 200) | def _vector(*vals): return MalVector(list(vals)) function _vectorl (line 201) | def _vectorl(lst): return MalVector(lst) function _vector_Q (line 202) | def _vector_Q(exp): class MalHashMap (line 207) | class MalHashMap(MalMeta): method __init__ (line 208) | def __init__(self, dct): method append (line 211) | def append(self, val): method __getitem__ (line 213) | def __getitem__(self, k): method __setitem__ (line 218) | def __setitem__(self, k, v): function _hash_mapl (line 224) | def _hash_mapl(kvs): function _hash_map_Q (line 233) | def _hash_map_Q(exp): class MalFunc (line 241) | class MalFunc(MalMeta): method __init__ (line 242) | def __init__(self, fn, ast=None, env=None, params=None, method apply (line 253) | def apply(self, args): method gen_env (line 258) | def gen_env(self, args): function _function_Q (line 260) | def _function_Q(exp): class MalAtom (line 266) | class MalAtom(MalMeta): method __init__ (line 267) | def __init__(self, value): method get_value (line 270) | def get_value(self): function _atom (line 272) | def _atom(val): return MalAtom(val) function _atom_Q (line 273) | def _atom_Q(exp): return exp.__class__ is MalAtom FILE: impls/rpython/printer.py function _pr_a_str (line 13) | def _pr_a_str(s, print_readably=True): function _pr_str (line 23) | def _pr_str(obj, print_readably=True): FILE: impls/rpython/reader.py class Blank (line 13) | class Blank(Exception): pass class Reader (line 15) | class Reader(): method __init__ (line 16) | def __init__(self, tokens, position=0): method next (line 20) | def next(self): method peek (line 24) | def peek(self): function tokenize (line 30) | def tokenize(str): function read_atom (line 38) | def read_atom(reader): function read_sequence (line 69) | def read_sequence(reader, start='(', end=')'): function read_list (line 82) | def read_list(reader): function read_vector (line 86) | def read_vector(reader): function read_hash_map (line 90) | def read_hash_map(reader): function read_form (line 94) | def read_form(reader): function read_str (line 135) | def read_str(str): FILE: impls/rpython/step0_repl.py function READ (line 5) | def READ(str): function EVAL (line 9) | def EVAL(ast, env): function PRINT (line 14) | def PRINT(exp): function REP (line 18) | def REP(str): function entry_point (line 21) | def entry_point(argv): function target (line 36) | def target(*args): FILE: impls/rpython/step1_read_print.py function READ (line 7) | def READ(str): function EVAL (line 11) | def EVAL(ast, env): function PRINT (line 16) | def PRINT(exp): function REP (line 20) | def REP(str): function entry_point (line 23) | def entry_point(argv): function target (line 42) | def target(*args): FILE: impls/rpython/step2_eval.py function READ (line 10) | def READ(str): function EVAL (line 14) | def EVAL(ast, env): function PRINT (line 48) | def PRINT(exp): function REP (line 53) | def REP(str, env): function plus (line 56) | def plus(args): function minus (line 61) | def minus(args): function multiply (line 66) | def multiply(args): function divide (line 71) | def divide(args): function entry_point (line 81) | def entry_point(argv): function target (line 99) | def target(*args): FILE: impls/rpython/step3_env.py function READ (line 12) | def READ(str): function EVAL (line 16) | def EVAL(ast, env): function PRINT (line 66) | def PRINT(exp): function REP (line 71) | def REP(str, env): function plus (line 74) | def plus(args): function minus (line 79) | def minus(args): function multiply (line 84) | def multiply(args): function divide (line 89) | def divide(args): function entry_point (line 99) | def entry_point(argv): function target (line 117) | def target(*args): FILE: impls/rpython/step4_if_fn_do.py function READ (line 13) | def READ(str): function EVAL (line 17) | def EVAL(ast, env): function PRINT (line 86) | def PRINT(exp): function entry_point (line 90) | def entry_point(argv): function target (line 119) | def target(*args): FILE: impls/rpython/step5_tco.py function READ (line 13) | def READ(str): function EVAL (line 17) | def EVAL(ast, env): function PRINT (line 92) | def PRINT(exp): function entry_point (line 96) | def entry_point(argv): function target (line 125) | def target(*args): FILE: impls/rpython/step6_file.py function READ (line 13) | def READ(str): function EVAL (line 17) | def EVAL(ast, env): function PRINT (line 92) | def PRINT(exp): class MalEval (line 96) | class MalEval(MalFunc): method apply (line 97) | def apply(self, args): function entry_point (line 100) | def entry_point(argv): function target (line 140) | def target(*args): FILE: impls/rpython/step7_quote.py function READ (line 13) | def READ(str): function qq_loop (line 17) | def qq_loop(elt, acc): function qq_foldr (line 24) | def qq_foldr(seq): function quasiquote (line 30) | def quasiquote(ast): function EVAL (line 44) | def EVAL(ast, env): function PRINT (line 123) | def PRINT(exp): class MalEval (line 127) | class MalEval(MalFunc): method apply (line 128) | def apply(self, args): function entry_point (line 131) | def entry_point(argv): function target (line 171) | def target(*args): FILE: impls/rpython/step8_macros.py function READ (line 13) | def READ(str): function qq_loop (line 17) | def qq_loop(elt, acc): function qq_foldr (line 24) | def qq_foldr(seq): function quasiquote (line 30) | def quasiquote(ast): function EVAL (line 44) | def EVAL(ast, env): function PRINT (line 132) | def PRINT(exp): class MalEval (line 136) | class MalEval(MalFunc): method apply (line 137) | def apply(self, args): function entry_point (line 140) | def entry_point(argv): function target (line 181) | def target(*args): FILE: impls/rpython/step9_try.py function READ (line 13) | def READ(str): function qq_loop (line 17) | def qq_loop(elt, acc): function qq_foldr (line 24) | def qq_foldr(seq): function quasiquote (line 30) | def quasiquote(ast): function EVAL (line 44) | def EVAL(ast, env): function PRINT (line 150) | def PRINT(exp): class MalEval (line 154) | class MalEval(MalFunc): method apply (line 155) | def apply(self, args): function entry_point (line 158) | def entry_point(argv): function target (line 199) | def target(*args): FILE: impls/rpython/stepA_mal.py function READ (line 22) | def READ(str): function qq_loop (line 26) | def qq_loop(elt, acc): function qq_foldr (line 33) | def qq_foldr(seq): function quasiquote (line 39) | def quasiquote(ast): function EVAL (line 53) | def EVAL(ast, env): function PRINT (line 159) | def PRINT(exp): class MalEval (line 163) | class MalEval(MalFunc): method apply (line 164) | def apply(self, args): function entry_point (line 167) | def entry_point(argv): function target (line 213) | def target(*args): FILE: impls/ruby.2/core.rb type Mal (line 5) | module Mal type Core (line 6) | module Core function ns (line 9) | def ns FILE: impls/ruby.2/env.rb type Mal (line 4) | module Mal class Env (line 5) | class Env method initialize (line 6) | def initialize(outer = nil, binds = Types::List.new, exprs = Types::... method set (line 25) | def set(k, v) method get (line 29) | def get(k) FILE: impls/ruby.2/errors.rb type Mal (line 1) | module Mal class Error (line 2) | class Error < ::StandardError; end class TypeError (line 3) | class TypeError < ::TypeError; end class MalError (line 5) | class MalError < Error method initialize (line 8) | def initialize(value) method message (line 12) | def message class FileNotFoundError (line 17) | class FileNotFoundError < Error; end class IndexError (line 18) | class IndexError < TypeError; end class SkipCommentError (line 19) | class SkipCommentError < Error; end class InvalidHashmapKeyError (line 21) | class InvalidHashmapKeyError < TypeError; end class InvalidIfExpressionError (line 22) | class InvalidIfExpressionError < TypeError; end class InvalidLetBindingsError (line 23) | class InvalidLetBindingsError < TypeError; end class InvalidReaderPositionError (line 24) | class InvalidReaderPositionError < Error; end class InvalidTypeError (line 25) | class InvalidTypeError < TypeError; end class NotCallableError (line 27) | class NotCallableError < Error; end class SymbolNotFoundError (line 29) | class SymbolNotFoundError < Error; end class SyntaxError (line 30) | class SyntaxError < TypeError; end class UnbalancedEscapingError (line 32) | class UnbalancedEscapingError < Error; end class UnbalancedHashmapError (line 33) | class UnbalancedHashmapError < Error; end class UnbalancedListError (line 34) | class UnbalancedListError < Error; end class UnbalancedStringError (line 35) | class UnbalancedStringError < Error; end class UnbalancedVectorError (line 36) | class UnbalancedVectorError < Error; end class UnknownError (line 38) | class UnknownError < Error method initialize (line 41) | def initialize(original_error) method inspect (line 45) | def inspect method message (line 49) | def message FILE: impls/ruby.2/printer.rb type Mal (line 4) | module Mal function pr_str (line 7) | def pr_str(mal, print_readably = false) function pr_str_keyword (line 36) | def pr_str_keyword(mal) function pr_str_string (line 46) | def pr_str_string(mal) FILE: impls/ruby.2/reader.rb type Mal (line 4) | module Mal function read_atom (line 9) | def read_atom(reader) function read_deref (line 32) | def read_deref(reader) function read_false (line 39) | def read_false(reader) function read_form (line 44) | def read_form(reader) function read_hashmap (line 69) | def read_hashmap(reader) function read_keyword (line 99) | def read_keyword(reader) function read_list (line 106) | def read_list(reader) function read_nil (line 124) | def read_nil(reader) function read_number (line 129) | def read_number(reader) function read_quasiquote (line 140) | def read_quasiquote(reader) function read_quote (line 147) | def read_quote(reader) function read_splice_unquote (line 154) | def read_splice_unquote(reader) function read_str (line 161) | def read_str(input) function read_string (line 167) | def read_string(reader) function read_symbol (line 180) | def read_symbol(reader) function read_true (line 184) | def read_true(reader) function read_unquote (line 189) | def read_unquote(reader) function read_vector (line 196) | def read_vector(reader) function read_with_metadata (line 214) | def read_with_metadata(reader) function tokenize (line 227) | def tokenize(input) class Reader (line 235) | class Reader method initialize (line 238) | def initialize(tokens) method advance! (line 243) | def advance! method next (line 248) | def next method peek (line 254) | def peek function substitute_escaped_chars! (line 265) | def substitute_escaped_chars!(string_or_keyword) FILE: impls/ruby.2/step0_repl.rb type Mal (line 3) | module Mal function READ (line 6) | def READ(input) function EVAL (line 10) | def EVAL(input) function PRINT (line 14) | def PRINT(input) function rep (line 18) | def rep(input) FILE: impls/ruby.2/step1_read_print.rb type Mal (line 7) | module Mal function READ (line 10) | def READ(input) function EVAL (line 14) | def EVAL(input) function PRINT (line 18) | def PRINT(input) function rep (line 22) | def rep(input) FILE: impls/ruby.2/step2_eval.rb type Mal (line 7) | module Mal function READ (line 17) | def READ(input) function EVAL (line 21) | def EVAL(ast, environment) function PRINT (line 59) | def PRINT(input) function rep (line 63) | def rep(input) FILE: impls/ruby.2/step3_env.rb type Mal (line 8) | module Mal function READ (line 17) | def READ(input) function EVAL (line 21) | def EVAL(ast, environment) function PRINT (line 89) | def PRINT(input) function rep (line 93) | def rep(input) FILE: impls/ruby.2/step4_if_fn_do.rb type Mal (line 9) | module Mal function boot_repl! (line 12) | def boot_repl! function READ (line 22) | def READ(input) function EVAL (line 26) | def EVAL(ast, environment) function PRINT (line 131) | def PRINT(input) function rep (line 135) | def rep(input) FILE: impls/ruby.2/step5_tco.rb type Mal (line 9) | module Mal function boot_repl! (line 12) | def boot_repl! function READ (line 22) | def READ(input) function EVAL (line 26) | def EVAL(ast, environment) function PRINT (line 145) | def PRINT(input) function rep (line 149) | def rep(input) FILE: impls/ruby.2/step6_file.rb type Mal (line 9) | module Mal function boot_repl! (line 12) | def boot_repl! function run_application? (line 32) | def run_application? function run! (line 36) | def run! function READ (line 41) | def READ(input) function EVAL (line 45) | def EVAL(ast, environment) function PRINT (line 164) | def PRINT(input) function rep (line 168) | def rep(input) FILE: impls/ruby.2/step7_quote.rb type Mal (line 9) | module Mal function boot_repl! (line 12) | def boot_repl! function run_application? (line 32) | def run_application? function run! (line 36) | def run! function READ (line 41) | def READ(input) function EVAL (line 45) | def EVAL(ast, environment) function PRINT (line 170) | def PRINT(input) function rep (line 174) | def rep(input) function quasiquote_list (line 196) | def quasiquote_list(mal) function quasiquote (line 218) | def quasiquote(mal) FILE: impls/ruby.2/step8_macros.rb type Mal (line 9) | module Mal function boot_repl! (line 12) | def boot_repl! function run_application? (line 37) | def run_application? function run! (line 41) | def run! function READ (line 46) | def READ(input) function EVAL (line 50) | def EVAL(ast, environment) function PRINT (line 194) | def PRINT(input) function rep (line 198) | def rep(input) function quasiquote_list (line 222) | def quasiquote_list(mal) function quasiquote (line 244) | def quasiquote(mal) FILE: impls/ruby.2/step9_try.rb type Mal (line 9) | module Mal function boot_repl! (line 12) | def boot_repl! function run_application? (line 37) | def run_application? function run! (line 41) | def run! function READ (line 57) | def READ(input) function EVAL (line 61) | def EVAL(ast, environment) function PRINT (line 232) | def PRINT(input) function rep (line 236) | def rep(input) function quasiquote_list (line 262) | def quasiquote_list(mal) function quasiquote (line 284) | def quasiquote(mal) FILE: impls/ruby.2/stepA_mal.rb type Mal (line 9) | module Mal function boot_repl! (line 12) | def boot_repl! function run_application? (line 38) | def run_application? function run! (line 42) | def run! function READ (line 58) | def READ(input) function EVAL (line 62) | def EVAL(ast, environment) function PRINT (line 236) | def PRINT(input) function rep (line 240) | def rep(input) function quasiquote_list (line 266) | def quasiquote_list(mal) function quasiquote (line 288) | def quasiquote(mal) FILE: impls/ruby.2/types.rb type Mal (line 1) | module Mal type Types (line 2) | module Types class Args (line 3) | class Args < ::Array class List (line 6) | class List < ::Array method meta (line 7) | def meta method meta= (line 11) | def meta=(value) method to_list (line 15) | def to_list class Vector (line 20) | class Vector < ::Array method meta (line 21) | def meta method meta= (line 25) | def meta=(value) method to_list (line 29) | def to_list class Hashmap (line 34) | class Hashmap < ::Hash method meta (line 35) | def meta method meta= (line 39) | def meta=(value) class Base (line 44) | class Base < ::Struct.new(:value) method inspect (line 45) | def inspect class String (line 50) | class String < Base; end class Atom (line 52) | class Atom < Base method inspect (line 53) | def inspect class Keyword (line 58) | class Keyword < Base method for (line 59) | def self.for(value) class Number (line 70) | class Number < Base method + (line 71) | def +(other) method - (line 75) | def -(other) method * (line 79) | def *(other) method / (line 83) | def /(other) class Symbol (line 88) | class Symbol < Base method for (line 89) | def self.for(value) method inspect (line 99) | def inspect class Nil (line 104) | class Nil < Base method instance (line 105) | def self.instance method inspect (line 109) | def inspect class True (line 114) | class True < Base method instance (line 115) | def self.instance class False (line 120) | class False < Base method instance (line 121) | def self.instance class Callable (line 126) | class Callable method initialize (line 127) | def initialize(&block) method call (line 131) | def call(args = nil) method inspect (line 137) | def inspect method is_mal_fn? (line 141) | def is_mal_fn? method is_macro? (line 145) | def is_macro? method meta (line 149) | def meta method meta= (line 153) | def meta=(value) class Builtin (line 158) | class Builtin < Callable method initialize (line 161) | def initialize(name, &block) method inspect (line 166) | def inspect class Function (line 171) | class Function < Callable method initialize (line 174) | def initialize(ast, params, env, &block) method inspect (line 181) | def inspect method is_mal_fn? (line 185) | def is_mal_fn? method to_macro (line 189) | def to_macro class Macro (line 194) | class Macro < Callable method initialize (line 197) | def initialize(ast, params, env, &block) method inspect (line 204) | def inspect method is_mal_fn? (line 208) | def is_mal_fn? method is_macro? (line 212) | def is_macro? FILE: impls/ruby/env.rb class Env (line 1) | class Env method initialize (line 3) | def initialize(outer=nil, binds=[], exprs=[]) method find (line 17) | def find(key) method set (line 27) | def set(key, value) method get (line 32) | def get(key) method get_or_nil (line 38) | def get_or_nil(key) FILE: impls/ruby/mal_readline.rb function _readline (line 6) | def _readline(prompt) FILE: impls/ruby/printer.rb function _pr_str (line 3) | def _pr_str(obj, print_readably=true) FILE: impls/ruby/reader.rb class Reader (line 3) | class Reader method initialize (line 4) | def initialize(tokens) method peek (line 8) | def peek method next (line 11) | def next function tokenize (line 18) | def tokenize(str) function parse_str (line 25) | def parse_str(t) # trim and unescape function read_atom (line 29) | def read_atom(rdr) function read_list (line 44) | def read_list(rdr, klass, start="(", last =")") function read_form (line 60) | def read_form(rdr) function read_str (line 81) | def read_str(str) FILE: impls/ruby/step0_repl.rb function READ (line 4) | def READ(str) function EVAL (line 9) | def EVAL(ast, env) function PRINT (line 14) | def PRINT(exp) function REP (line 19) | def REP(str) FILE: impls/ruby/step1_read_print.rb function READ (line 7) | def READ(str) function EVAL (line 12) | def EVAL(ast, env) function PRINT (line 17) | def PRINT(exp) function REP (line 22) | def REP(str) FILE: impls/ruby/step2_eval.rb function READ (line 7) | def READ(str) function EVAL (line 12) | def EVAL(ast, env) function PRINT (line 39) | def PRINT(exp) FILE: impls/ruby/step3_env.rb function READ (line 8) | def READ(str) function EVAL (line 13) | def EVAL(ast, env) function PRINT (line 49) | def PRINT(exp) FILE: impls/ruby/step4_if_fn_do.rb function READ (line 9) | def READ(str) function EVAL (line 14) | def EVAL(ast, env) function PRINT (line 64) | def PRINT(exp) FILE: impls/ruby/step5_tco.rb function READ (line 9) | def READ(str) function EVAL (line 14) | def EVAL(ast, env) function PRINT (line 75) | def PRINT(exp) FILE: impls/ruby/step6_file.rb function READ (line 9) | def READ(str) function EVAL (line 14) | def EVAL(ast, env) function PRINT (line 75) | def PRINT(exp) FILE: impls/ruby/step7_quote.rb function READ (line 9) | def READ(str) function qq_loop (line 14) | def qq_loop(ast) function quasiquote (line 26) | def quasiquote(ast) function EVAL (line 43) | def EVAL(ast, env) function PRINT (line 108) | def PRINT(exp) FILE: impls/ruby/step8_macros.rb function READ (line 9) | def READ(str) function qq_loop (line 14) | def qq_loop(ast) function quasiquote (line 26) | def quasiquote(ast) function EVAL (line 43) | def EVAL(ast, env) function PRINT (line 116) | def PRINT(exp) FILE: impls/ruby/step9_try.rb function READ (line 9) | def READ(str) function qq_loop (line 14) | def qq_loop(ast) function quasiquote (line 26) | def quasiquote(ast) function EVAL (line 43) | def EVAL(ast, env) function PRINT (line 130) | def PRINT(exp) FILE: impls/ruby/stepA_mal.rb function READ (line 9) | def READ(str) function qq_loop (line 14) | def qq_loop(ast) function quasiquote (line 26) | def quasiquote(ast) function EVAL (line 43) | def EVAL(ast, env) function PRINT (line 136) | def PRINT(exp) FILE: impls/ruby/types.rb class MalException (line 3) | class MalException < StandardError method initialize (line 5) | def initialize(data) class String (line 10) | class String # re-open and add seq method seq (line 11) | def seq() class List (line 16) | class List < Array method conj (line 18) | def conj(xs) method seq (line 22) | def seq() class Vector (line 27) | class Vector < Array method conj (line 29) | def conj(xs) method seq (line 33) | def seq() class Hash (line 38) | class Hash # re-open and add meta function sequential? (line 42) | def sequential?(obj) class Proc (line 46) | class Proc # re-open and add meta class Function (line 50) | class Function < Proc method initialize (line 56) | def initialize(ast=nil, env=nil, params=nil, &block) method gen_env (line 64) | def gen_env(args) class Atom (line 69) | class Atom method initialize (line 72) | def initialize(val) FILE: impls/rust/core.rs function symbol (line 47) | fn symbol(a: MalArgs) -> MalRet { function readline (line 54) | fn readline(p: &str) -> MalRet { function slurp (line 61) | fn slurp(f: &str) -> MalRet { function time_ms (line 69) | fn time_ms(_a: MalArgs) -> MalRet { function get (line 79) | fn get(a: MalArgs) -> MalRet { function assoc (line 90) | fn assoc(a: MalArgs) -> MalRet { function dissoc (line 97) | fn dissoc(a: MalArgs) -> MalRet { function contains_q (line 110) | fn contains_q(a: MalArgs) -> MalRet { function keys (line 117) | fn keys(a: MalArgs) -> MalRet { function vals (line 124) | fn vals(a: MalArgs) -> MalRet { function vec (line 131) | fn vec(a: MalArgs) -> MalRet { function cons (line 139) | fn cons(a: MalArgs) -> MalRet { function concat (line 150) | fn concat(a: MalArgs) -> MalRet { function nth (line 161) | fn nth(a: MalArgs) -> MalRet { function first (line 171) | fn first(a: MalArgs) -> MalRet { function rest (line 179) | fn rest(a: MalArgs) -> MalRet { function apply (line 187) | fn apply(a: MalArgs) -> MalRet { function map (line 199) | fn map(a: MalArgs) -> MalRet { function conj (line 212) | fn conj(a: MalArgs) -> MalRet { function seq (line 223) | fn seq(a: MalArgs) -> MalRet { function keyword (line 233) | fn keyword(a: MalArgs) -> MalRet { function empty_q (line 241) | pub fn empty_q(a: MalArgs) -> MalRet { function count (line 249) | pub fn count(a: MalArgs) -> MalRet { function atom (line 257) | pub fn atom(a: MalArgs) -> MalRet { function deref (line 261) | pub fn deref(a: MalArgs) -> MalRet { function reset_bang (line 268) | pub fn reset_bang(a: MalArgs) -> MalRet { function swap_bang (line 278) | pub fn swap_bang(a: MalArgs) -> MalRet { function get_meta (line 291) | pub fn get_meta(a: MalArgs) -> MalRet { function with_meta (line 300) | pub fn with_meta(a: MalArgs) -> MalRet { function ns (line 315) | pub fn ns() -> Vec<(&'static str, MalVal)> { FILE: impls/rust/env.rs type EnvStruct (line 9) | pub struct EnvStruct { type Env (line 14) | pub type Env = Rc; function env_new (line 19) | pub fn env_new(outer: Option) -> Env { function env_bind (line 27) | pub fn env_bind(outer: Env, mbinds: &MalVal, exprs: Vec) -> Resu... function env_get (line 48) | pub fn env_get(env: &Env, key: &str) -> Option { function env_set (line 61) | pub fn env_set(env: &Env, key: &MalVal, val: MalVal) -> MalRet { function env_sets (line 71) | pub fn env_sets(env: &Env, key: &str, val: MalVal) { FILE: impls/rust/printer.rs function escape_str (line 6) | fn escape_str(s: &str) -> String { method pr_str (line 19) | pub fn pr_str(&self, print_readably: bool) -> String { function pr_seq (line 53) | pub fn pr_seq(seq: &[MalVal], print_readably: bool, start: &str, end: &s... FILE: impls/rust/reader.rs type Reader (line 8) | struct Reader { method next (line 14) | fn next(&mut self) -> Result { method peek (line 22) | fn peek(&self) -> Result { function tokenize (line 40) | fn tokenize(str: &str) -> Vec { function unescape_str (line 53) | fn unescape_str(s: &str) -> String { function read_atom (line 62) | fn read_atom(rdr: &mut Reader) -> MalRet { function read_seq (line 84) | fn read_seq(rdr: &mut Reader, end: &str) -> Result, MalVal> { function read_form (line 101) | fn read_form(rdr: &mut Reader) -> MalRet { function read_str (line 139) | pub fn read_str(str: &str) -> MalRet { FILE: impls/rust/readline.rs type S (line 6) | struct S { method drop (line 11) | fn drop(&mut self) { function readline (line 26) | pub fn readline(prompt: &str) -> Option { FILE: impls/rust/step0_repl.rs function main (line 5) | fn main() { FILE: impls/rust/step1_read_print.rs function read (line 18) | fn read(str: &str) -> MalRet { function eval (line 23) | fn eval(ast: MalVal) -> MalRet { function print (line 28) | fn print(ast: MalVal) -> String { function rep (line 32) | fn rep(str: &str) -> Result { function main (line 38) | fn main() { FILE: impls/rust/step2_eval.rs type Env (line 22) | pub type Env = FnvHashMap; method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 34) | fn read(str: &str) -> MalRet { function eval (line 39) | fn eval(ast: &MalVal, env: &Env) -> MalRet { function print (line 77) | fn print(ast: &MalVal) -> String { function rep (line 81) | fn rep(str: &str, env: &Env) -> Result { function int_op (line 87) | fn int_op(op: fn(i64, i64) -> i64, a: MalArgs) -> MalRet { function main (line 94) | fn main() { FILE: impls/rust/step3_env.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 34) | fn read(str: &str) -> MalRet { function eval (line 39) | fn eval(ast: &MalVal, env: &Env) -> MalRet { function print (line 101) | fn print(ast: &MalVal) -> String { function rep (line 105) | fn rep(str: &str, env: &Env) -> Result { function int_op (line 111) | fn int_op(op: fn(i64, i64) -> i64, a: MalArgs) -> MalRet { function main (line 118) | fn main() { FILE: impls/rust/step4_if_fn_do.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 43) | fn read(str: &str) -> MalRet { function eval (line 48) | fn eval(ast: &MalVal, env: &Env) -> MalRet { function print (line 135) | fn print(ast: &MalVal) -> String { function rep (line 139) | fn rep(str: &str, env: &Env) -> Result { function re (line 145) | fn re(str: &str, env: &Env) { function main (line 154) | fn main() { FILE: impls/rust/step5_tco.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 43) | fn read(str: &str) -> MalRet { function eval (line 48) | fn eval(orig_ast: &MalVal, orig_env: &Env) -> MalRet { function print (line 177) | fn print(ast: &MalVal) -> String { function rep (line 181) | fn rep(str: &str, env: &Env) -> Result { function re (line 187) | fn re(str: &str, env: &Env) { function main (line 196) | fn main() { FILE: impls/rust/step6_file.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 43) | fn read(str: &str) -> MalRet { function eval (line 48) | fn eval(orig_ast: &MalVal, orig_env: &Env) -> MalRet { function print (line 177) | fn print(ast: &MalVal) -> String { function rep (line 181) | fn rep(str: &str, env: &Env) -> Result { function re (line 187) | fn re(str: &str, env: &Env) { function main (line 200) | fn main() { FILE: impls/rust/step7_quote.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 43) | fn read(str: &str) -> MalRet { function qq_iter (line 49) | fn qq_iter(elts: &MalArgs) -> MalVal { function quasiquote (line 67) | fn quasiquote(ast: &MalVal) -> MalVal { function eval (line 85) | fn eval(orig_ast: &MalVal, orig_env: &Env) -> MalRet { function print (line 220) | fn print(ast: &MalVal) -> String { function rep (line 224) | fn rep(str: &str, env: &Env) -> Result { function re (line 230) | fn re(str: &str, env: &Env) { function main (line 243) | fn main() { FILE: impls/rust/step8_macros.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 43) | fn read(str: &str) -> MalRet { function qq_iter (line 49) | fn qq_iter(elts: &MalArgs) -> MalVal { function quasiquote (line 67) | fn quasiquote(ast: &MalVal) -> MalVal { function eval (line 85) | fn eval(orig_ast: &MalVal, orig_env: &Env) -> MalRet { function print (line 243) | fn print(ast: &MalVal) -> String { function rep (line 247) | fn rep(str: &str, env: &Env) -> Result { function re (line 253) | fn re(str: &str, env: &Env) { function main (line 266) | fn main() { FILE: impls/rust/step9_try.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 43) | fn read(str: &str) -> MalRet { function qq_iter (line 49) | fn qq_iter(elts: &MalArgs) -> MalVal { function quasiquote (line 67) | fn quasiquote(ast: &MalVal) -> MalVal { function eval (line 85) | fn eval(orig_ast: &MalVal, orig_env: &Env) -> MalRet { function print (line 264) | fn print(ast: &MalVal) -> String { function rep (line 268) | fn rep(str: &str, env: &Env) -> Result { function re (line 274) | fn re(str: &str, env: &Env) { function main (line 287) | fn main() { FILE: impls/rust/stepA_mal.rs method apply (line 25) | pub fn apply(&self, args: MalArgs) -> MalRet { function read (line 43) | fn read(str: &str) -> MalRet { function qq_iter (line 49) | fn qq_iter(elts: &MalArgs) -> MalVal { function quasiquote (line 67) | fn quasiquote(ast: &MalVal) -> MalVal { function eval (line 85) | fn eval(orig_ast: &MalVal, orig_env: &Env) -> MalRet { function print (line 264) | fn print(ast: &MalVal) -> String { function rep (line 268) | fn rep(str: &str, env: &Env) -> Result { function re (line 274) | fn re(str: &str, env: &Env) { function main (line 287) | fn main() { FILE: impls/rust/types.rs type MalVal (line 15) | pub enum MalVal { type FuncStruct (line 32) | pub struct FuncStruct { type MalArgs (line 40) | pub type MalArgs = Vec; type MalRet (line 41) | pub type MalRet = Result; function error (line 54) | pub fn error(s: &str) -> Result { function list (line 58) | pub fn list(seq: MalArgs) -> MalVal { function vector (line 62) | pub fn vector(seq: MalArgs) -> MalVal { method eq (line 67) | fn eq(&self, other: &MalVal) -> bool { function func (line 86) | pub fn func(f: fn(MalArgs) -> MalRet) -> MalVal { function _assoc (line 90) | pub fn _assoc(mut hm: FnvHashMap, kvs: MalArgs) -> MalRet { function wrap_map_key (line 100) | pub fn wrap_map_key(k: &MalVal) -> Result { function unwrap_map_key (line 108) | pub fn unwrap_map_key(s: &str) -> MalVal { function hash_map (line 115) | pub fn hash_map(kvs: MalArgs) -> MalRet { FILE: impls/ts/core.ts method "=" (line 11) | "="(a: MalType, b: MalType): MalBoolean { method throw (line 14) | throw(v: MalType): MalType { method "nil?" (line 18) | "nil?"(v: MalType) { method "true?" (line 21) | "true?"(v: MalType) { method "false?" (line 24) | "false?"(v: MalType) { method "string?" (line 27) | "string?"(v: MalType) { method symbol (line 30) | symbol(v: MalType) { method "symbol?" (line 36) | "symbol?"(v: MalType) { method keyword (line 39) | keyword(v: MalType) { method "keyword?" (line 48) | "keyword?"(v: MalType) { method "number?" (line 51) | "number?"(v: MalType) { method "fn?" (line 54) | "fn?"(v: MalType) { method "macro?" (line 57) | "macro?"(v: MalType) { method "pr-str" (line 61) | "pr-str"(...args: MalType[]): MalString { method "str" (line 64) | "str"(...args: MalType[]): MalString { method prn (line 67) | prn(...args: MalType[]): MalNil { method println (line 72) | println(...args: MalType[]): MalNil { method "read-string" (line 77) | "read-string"(v: MalType) { method readline (line 83) | readline(v: MalType) { method slurp (line 95) | slurp(v: MalType) { method "<" (line 103) | "<"(a: MalType, b: MalType): MalBoolean { method "<=" (line 113) | "<="(a: MalType, b: MalType): MalBoolean { method ">" (line 123) | ">"(a: MalType, b: MalType): MalBoolean { method ">=" (line 133) | ">="(a: MalType, b: MalType): MalBoolean { method "+" (line 143) | "+"(a: MalType, b: MalType): MalNumber { method "-" (line 153) | "-"(a: MalType, b: MalType): MalNumber { method "*" (line 163) | "*"(a: MalType, b: MalType): MalNumber { method "/" (line 173) | "/"(a: MalType, b: MalType): MalNumber { method "time-ms" (line 183) | "time-ms"() { method list (line 187) | list(...args: MalType[]): MalList { method "list?" (line 190) | "list?"(v: MalType): MalBoolean { method vector (line 193) | vector(...args: MalType[]): MalVector { method "vector?" (line 196) | "vector?"(v: MalType): MalBoolean { method "hash-map" (line 199) | "hash-map"(...args: MalType[]) { method "map?" (line 202) | "map?"(v: MalType): MalBoolean { method assoc (line 205) | assoc(v: MalType, ...args: MalType[]) { method dissoc (line 211) | dissoc(v: MalType, ...args: MalType[]) { method get (line 217) | get(v: MalType, key: MalType) { method "contains?" (line 230) | "contains?"(v: MalType, key: MalType) { method keys (line 243) | keys(v: MalType) { method vals (line 250) | vals(v: MalType) { method "sequential?" (line 258) | "sequential?"(v: MalType) { method cons (line 261) | cons(a: MalType, b: MalType) { method concat (line 268) | concat(...args: MalType[]) { method vec (line 280) | vec(a: MalType) { method nth (line 290) | nth(list: MalType, idx: MalType) { method first (line 305) | first(v: MalType) { method rest (line 315) | rest(v: MalType) { method "empty?" (line 325) | "empty?"(v: MalType): MalBoolean { method count (line 331) | count(v: MalType): MalNumber { method apply (line 340) | apply(f: MalType, ...list: MalType[]) { method map (line 352) | map(f: MalType, list: MalType) { method conj (line 363) | conj(list: MalType, ...args: MalType[]) { method seq (line 375) | seq(v: MalType) { method meta (line 401) | meta(v: MalType) { method "with-meta" (line 404) | "with-meta"(v: MalType, m: MalType) { method atom (line 407) | atom(v: MalType): MalAtom { method "atom?" (line 410) | "atom?"(v: MalType): MalBoolean { method deref (line 413) | deref(v: MalType): MalType { method "reset!" (line 419) | "reset!"(atom: MalType, v: MalType): MalType { method "swap!" (line 426) | "swap!"(atom: MalType, f: MalType, ...args: MalType[]): MalType { FILE: impls/ts/env.ts class Env (line 3) | class Env { method constructor (line 6) | constructor(public outer?: Env, binds: MalSymbol[] = [], exprts: MalTy... method set (line 19) | set(key: string, value: MalType): MalType { method get (line 24) | get(key: string): MalType | null { FILE: impls/ts/node_readline.ts constant RL_LIB (line 6) | const RL_LIB = "libreadline.so.8"; constant HISTORY_FILE (line 9) | const HISTORY_FILE = path.join(process.env.HOME || ".", ".mal-history"); function readline (line 24) | function readline(prompt?: string): string | null { FILE: impls/ts/printer.ts function prStr (line 3) | function prStr(v: MalType, printReadably = true): string { FILE: impls/ts/reader.ts class Reader (line 3) | class Reader { method constructor (line 6) | constructor(private tokens: string[]) { } method next (line 8) | next(): string { method peek (line 14) | peek(): string { function readStr (line 19) | function readStr(input: string): MalType { function tokenizer (line 25) | function tokenizer(input: string): string[] { function readForm (line 45) | function readForm(reader: Reader): MalType { function readList (line 83) | function readList(reader: Reader): MalType { function readVector (line 87) | function readVector(reader: Reader): MalType { function readHashMap (line 91) | function readHashMap(reader: Reader): MalType { function readParen (line 95) | function readParen(reader: Reader, ctor: { new (list: MalType[]): MalTyp... function readAtom (line 115) | function readAtom(reader: Reader): MalType { FILE: impls/ts/step0_repl.ts function read (line 4) | function read(str: string): any { function evalMal (line 10) | function evalMal(ast: any, _env?: any): any { function print (line 16) | function print(exp: any): string { function rep (line 21) | function rep(str: string): string { FILE: impls/ts/step1_read_print.ts function read (line 8) | function read(str: string): MalType { function evalMal (line 13) | function evalMal(ast: any, _env?: any): any { function print (line 19) | function print(exp: MalType): string { function rep (line 23) | function rep(str: string): string { FILE: impls/ts/step2_eval.ts function read (line 8) | function read(str: string): MalType { type MalEnvironment (line 12) | interface MalEnvironment { function evalMal (line 17) | function evalMal(ast: MalType, env: MalEnvironment): MalType { function print (line 53) | function print(exp: MalType): string { function rep (line 63) | function rep(str: string): string { FILE: impls/ts/step3_env.ts function read (line 9) | function read(str: string): MalType { function evalMal (line 14) | function evalMal(ast: MalType, env: Env): MalType { function print (line 92) | function print(exp: MalType): string { function rep (line 97) | function rep(str: string): string { FILE: impls/ts/step4_if_fn_do.ts function read (line 10) | function read(str: string): MalType { function evalMal (line 15) | function evalMal(ast: MalType, env: Env): MalType { function print (line 129) | function print(exp: MalType): string { function rep (line 134) | function rep(str: string): string { FILE: impls/ts/step5_tco.ts function read (line 10) | function read(str: string): MalType { function evalMal (line 15) | function evalMal(ast: MalType, env: Env): MalType { function print (line 138) | function print(exp: MalType): string { function rep (line 143) | function rep(str: string): string { FILE: impls/ts/step6_file.ts function read (line 10) | function read(str: string): MalType { function evalMal (line 15) | function evalMal(ast: MalType, env: Env): MalType { function print (line 138) | function print(exp: MalType): string { function rep (line 143) | function rep(str: string): string { FILE: impls/ts/step7_quote.ts function read (line 10) | function read(str: string): MalType { function starts_with (line 14) | function starts_with(lst: MalType[], sym: string): boolean { function qq_loop (line 25) | function qq_loop(elt: MalType, acc: MalList): MalList { function qq_foldr (line 33) | function qq_foldr(xs : MalType[]): MalList { function quasiquote (line 41) | function quasiquote(ast: MalType): MalType { function evalMal (line 61) | function evalMal(ast: MalType, env: Env): MalType { function print (line 191) | function print(exp: MalType): string { function rep (line 196) | function rep(str: string): string { FILE: impls/ts/step8_macros.ts function read (line 10) | function read(str: string): MalType { function starts_with (line 14) | function starts_with(lst: MalType[], sym: string): boolean { function qq_loop (line 25) | function qq_loop(elt: MalType, acc: MalList): MalList { function qq_foldr (line 33) | function qq_foldr(xs : MalType[]): MalList { function quasiquote (line 41) | function quasiquote(ast: MalType): MalType { function evalMal (line 61) | function evalMal(ast: MalType, env: Env): MalType { function print (line 209) | function print(exp: MalType): string { function rep (line 214) | function rep(str: string): string { FILE: impls/ts/step9_try.ts function read (line 10) | function read(str: string): MalType { function starts_with (line 14) | function starts_with(lst: MalType[], sym: string): boolean { function qq_loop (line 25) | function qq_loop(elt: MalType, acc: MalList): MalList { function qq_foldr (line 33) | function qq_foldr(xs : MalType[]): MalList { function quasiquote (line 41) | function quasiquote(ast: MalType): MalType { function evalMal (line 61) | function evalMal(ast: MalType, env: Env): MalType { function print (line 234) | function print(exp: MalType): string { function rep (line 239) | function rep(str: string): string { FILE: impls/ts/stepA_mal.ts function read (line 10) | function read(str: string): MalType { function starts_with (line 14) | function starts_with(lst: MalType[], sym: string): boolean { function qq_loop (line 25) | function qq_loop(elt: MalType, acc: MalList): MalList { function qq_foldr (line 33) | function qq_foldr(xs : MalType[]): MalList { function quasiquote (line 41) | function quasiquote(ast: MalType): MalType { function evalMal (line 61) | function evalMal(ast: MalType, env: Env): MalType { function print (line 234) | function print(exp: MalType): string { function rep (line 239) | function rep(str: string): string { FILE: impls/ts/types.ts type MalType (line 3) | type MalType = MalList | MalNumber | MalString | MalNil | MalBoolean | M... type Node (line 5) | const enum Node { function equals (line 19) | function equals(a: MalType, b: MalType, strict?: boolean): boolean { function isSeq (line 77) | function isSeq(ast: MalType): ast is MalList | MalVector { function isAST (line 81) | function isAST(v: MalType): v is MalType { class MalList (line 85) | class MalList { method constructor (line 89) | constructor(public list: MalType[]) { method withMeta (line 92) | withMeta(meta: MalType) { class MalNumber (line 99) | class MalNumber { method constructor (line 103) | constructor(public v: number) { method withMeta (line 106) | withMeta(meta: MalType) { class MalString (line 113) | class MalString { method constructor (line 117) | constructor(public v: string) { method withMeta (line 120) | withMeta(meta: MalType) { class MalNil (line 127) | class MalNil { method instance (line 131) | static get instance(): MalNil { method constructor (line 142) | private constructor() { } method withMeta (line 144) | withMeta(_meta: MalType): MalNil { class MalBoolean (line 149) | class MalBoolean { method constructor (line 153) | constructor(public v: boolean) { method withMeta (line 156) | withMeta(meta: MalType) { class MalSymbol (line 163) | class MalSymbol { method get (line 166) | static get(name: string): MalSymbol { method constructor (line 180) | private constructor(public v: string) { method withMeta (line 183) | withMeta(_meta: MalType): MalSymbol { class MalKeyword (line 188) | class MalKeyword { method get (line 191) | static get(name: string): MalKeyword { method constructor (line 205) | private constructor(public v: string) { method withMeta (line 208) | withMeta(_meta: MalType): MalKeyword { class MalVector (line 213) | class MalVector { method constructor (line 217) | constructor(public list: MalType[]) { method withMeta (line 220) | withMeta(meta: MalType) { class MalHashMap (line 227) | class MalHashMap { method constructor (line 233) | constructor(list: MalType[]) { method withMeta (line 250) | withMeta(meta: MalType) { method has (line 256) | has(key: MalKeyword | MalString) { method get (line 263) | get(key: MalKeyword | MalString) { method entries (line 270) | entries(): [MalType, MalType][] { method keys (line 281) | keys(): MalType[] { method vals (line 290) | vals(): MalType[] { method assoc (line 299) | assoc(args: MalType[]): MalHashMap { method dissoc (line 313) | dissoc(args: MalType[]): MalHashMap { type MalF (line 329) | type MalF = (...args: (MalType | undefined)[]) => MalType; class MalFunction (line 331) | class MalFunction { method fromLisp (line 332) | static fromLisp(evalMal: (ast: MalType, env: Env) => MalType, env: Env... method fromBootstrap (line 352) | static fromBootstrap(func: MalF): MalFunction { method constructor (line 368) | private constructor() { } method toMacro (line 370) | toMacro() { method withMeta (line 382) | withMeta(meta: MalType) { method newEnv (line 394) | newEnv(args: MalType[]) { class MalAtom (line 399) | class MalAtom { method constructor (line 403) | constructor(public v: MalType) { method withMeta (line 406) | withMeta(meta: MalType) { FILE: impls/vb/getline.cs class LineEditor (line 35) | public class LineEditor { class Completion (line 37) | public class Completion { method Completion (line 41) | public Completion (string prefix, string [] result) type Handler (line 99) | struct Handler { method Handler (line 103) | public Handler (ConsoleKey key, KeyHandler h) method Handler (line 109) | public Handler (char c, KeyHandler h) method Handler (line 116) | public Handler (ConsoleKeyInfo cki, KeyHandler h) method Control (line 122) | public static Handler Control (char c, KeyHandler h) method Alt (line 127) | public static Handler Alt (char c, ConsoleKey k, KeyHandler h) method LineEditor (line 150) | public LineEditor (string name) : this (name, 10) { } method LineEditor (line 152) | public LineEditor (string name, int histsize) method CmdDebug (line 201) | void CmdDebug () method Render (line 208) | void Render () method UpdateHomeRow (line 226) | void UpdateHomeRow (int screenpos) method RenderFrom (line 236) | void RenderFrom (int pos) method ComputeRendered (line 253) | void ComputeRendered () method TextToRenderPos (line 271) | int TextToRenderPos (int pos) method TextToScreenPos (line 292) | int TextToScreenPos (int pos) method ForceCursor (line 308) | void ForceCursor (int newpos) method UpdateCursor (line 324) | void UpdateCursor (int newpos) method InsertChar (line 332) | void InsertChar (char c) method CmdDone (line 352) | void CmdDone () method CmdTabOrComplete (line 357) | void CmdTabOrComplete () method CmdHome (line 422) | void CmdHome () method CmdEnd (line 427) | void CmdEnd () method CmdLeft (line 432) | void CmdLeft () method CmdBackwardWord (line 440) | void CmdBackwardWord () method CmdForwardWord (line 448) | void CmdForwardWord () method CmdRight (line 456) | void CmdRight () method RenderAfter (line 464) | void RenderAfter (int p) method CmdBackspace (line 471) | void CmdBackspace () method CmdDeleteChar (line 481) | void CmdDeleteChar () method WordForward (line 498) | int WordForward (int p) method WordBackward (line 524) | int WordBackward (int p) method CmdDeleteWord (line 556) | void CmdDeleteWord () method CmdDeleteBackword (line 575) | void CmdDeleteBackword () method HistoryUpdateLine (line 596) | void HistoryUpdateLine () method CmdHistoryPrev (line 601) | void CmdHistoryPrev () method CmdHistoryNext (line 611) | void CmdHistoryNext () method CmdKillToEOF (line 621) | void CmdKillToEOF () method CmdYank (line 629) | void CmdYank () method InsertTextAtCursor (line 634) | void InsertTextAtCursor (string str) method SetSearchPrompt (line 652) | void SetSearchPrompt (string s) method ReverseSearch (line 657) | void ReverseSearch () method CmdReverseSearch (line 695) | void CmdReverseSearch () method SearchAppend (line 717) | void SearchAppend (char c) method CmdRefresh (line 734) | void CmdRefresh () method InterruptEdit (line 742) | void InterruptEdit (object sender, ConsoleCancelEventArgs a) method HandleChar (line 751) | void HandleChar (char c) method EditLoop (line 759) | void EditLoop () method InitText (line 806) | void InitText (string initial) method SetText (line 815) | void SetText (string newtext) method SetPrompt (line 821) | void SetPrompt (string newprompt) method Edit (line 829) | public string Edit (string prompt, string initial) method SaveHistory (line 873) | public void SaveHistory () class History (line 886) | class History { method History (line 892) | public History (string app, int size) method Close (line 929) | public void Close () method Append (line 950) | public void Append (string s) method Update (line 967) | public void Update (string s) method RemoveLast (line 972) | public void RemoveLast () method Accept (line 979) | public void Accept (string s) method PreviousAvailable (line 988) | public bool PreviousAvailable () method NextAvailable (line 1003) | public bool NextAvailable () method Previous (line 1018) | public string Previous () method Next (line 1030) | public string Next () method CursorToEnd (line 1039) | public void CursorToEnd () method Dump (line 1047) | public void Dump () method SearchBackward (line 1056) | public string SearchBackward (string term) class Demo (line 1077) | class Demo { method Main (line 1078) | static void Main () FILE: impls/vimscript/vimextras.c function vimtimems (line 39) | int vimtimems(int dummy) { FILE: impls/wasm/run.js function toUint8Array (line 20) | function toUint8Array(buf) { function get_string (line 29) | function get_string(memory, addr) { function put_string (line 39) | function put_string(memory, addr, str, max_length) { function marshal_argv (line 53) | function marshal_argv(memory, offset, args) { function loadWebAssembly (line 71) | async function loadWebAssembly(filename, args) { function main (line 129) | async function main() { FILE: runtest.py function debug (line 20) | def debug(data): function log (line 25) | def log(data, verbosity=0, end='\n'): function vlog (line 33) | def vlog(data, end='\n'): log(data, verbosity=1, end=end) function vvlog (line 34) | def vvlog(data, end='\n'): log(data, verbosity=2, end=end) class Runner (line 82) | class Runner(): method __init__ (line 83) | def __init__(self, args, no_pty=False, line_break="\n"): method read_to_prompt (line 128) | def read_to_prompt(self, prompts, timeout): method writeline (line 155) | def writeline(self, str): method cleanup (line 163) | def cleanup(self): class TestReader (line 172) | class TestReader: method __init__ (line 173) | def __init__(self, test_file): method next (line 181) | def next(self): function assert_prompt (line 251) | def assert_prompt(runner, prompts, timeout): function elide (line 262) | def elide(s, max = 79): class TestTimeout (line 289) | class TestTimeout(Exception):