SYMBOL INDEX (114 symbols across 7 files) FILE: src/collapse.c function Term (line 19) | static inline Term ic_era_lam(IC* ic, Term lam, Term era) { function Term (line 34) | static inline Term ic_era_app(IC* ic, Term app, Term era) { function Term (line 45) | static inline Term ic_sup_lam(IC* ic, Term lam, Term sup) { function Term (line 86) | static inline Term ic_sup_app(IC* ic, Term app, Term sup) { function Term (line 127) | static inline Term ic_sup_sup_x(IC* ic, Term outer_sup, Term inner_sup) { function Term (line 169) | static inline Term ic_sup_sup_y(IC* ic, Term outer_sup, Term inner_sup) { function Term (line 212) | static inline Term ic_dup_var(IC* ic, Term dup, Term var) { function Term (line 226) | static inline Term ic_dup_app(IC* ic, Term dup, Term app) { function Term (line 279) | static inline Term ic_sup_swi_z(IC* ic, Term swi, Term sup) { function Term (line 327) | static inline Term ic_sup_swi_s(IC* ic, Term swi, Term sup) { function Term (line 374) | Term ic_collapse_sups(IC* ic, Term term) { function Term (line 445) | Term ic_collapse_dups(IC* ic, Term term) { FILE: src/ic.c function IC (line 11) | inline IC* ic_new(Val heap_size, Val stack_size) { function IC (line 36) | inline IC* ic_default_new() { function ic_free (line 42) | inline void ic_free(IC* ic) { function Val (line 56) | inline Val ic_alloc(IC* ic, Val n) { function Term (line 70) | inline Term ic_make_term(TermTag tag, Lab lab, Val val) { function Term (line 77) | inline Term ic_make_sub(Term term) { function Term (line 84) | inline Term ic_clear_sub(Term term) { function Term (line 92) | inline Term ic_make_sup(Lab lab, Val val) { function Term (line 100) | inline Term ic_make_co0(Lab lab, Val val) { function Term (line 108) | inline Term ic_make_co1(Lab lab, Val val) { function Term (line 114) | inline Term ic_make_era() { function Term (line 121) | inline Term ic_make_num(Val val) { function Term (line 128) | inline Term ic_make_suc(Val val) { function Term (line 135) | inline Term ic_make_swi(Val val) { function ic_is_era (line 142) | inline bool ic_is_era(Term term) { function Val (line 147) | inline Val ic_lam(IC* ic, Term bod) { function Val (line 154) | inline Val ic_app(IC* ic, Term fun, Term arg) { function Val (line 162) | inline Val ic_sup(IC* ic, Term lft, Term rgt) { function Val (line 170) | inline Val ic_dup(IC* ic, Term val) { function Val (line 177) | inline Val ic_suc(IC* ic, Term num) { function Val (line 184) | inline Val ic_swi(IC* ic, Term num, Term ifz, Term ifs) { function Term (line 200) | inline Term ic_app_lam(IC* ic, Term app, Term lam) { function Term (line 218) | inline Term ic_app_era(IC* ic, Term app, Term era) { function Term (line 227) | inline Term ic_app_sup(IC* ic, Term app, Term sup) { function Term (line 270) | inline Term ic_dup_era(IC* ic, Term dup, Term era) { function Term (line 295) | inline Term ic_dup_lam(IC* ic, Term dup, Term lam) { function Term (line 352) | inline Term ic_dup_sup(IC* ic, Term dup, Term sup) { function Term (line 414) | inline Term ic_suc_num(IC* ic, Term suc, Term num) { function Term (line 423) | inline Term ic_suc_era(IC* ic, Term suc, Term era) { function Term (line 431) | inline Term ic_suc_sup(IC* ic, Term suc, Term sup) { function Term (line 455) | inline Term ic_swi_num(IC* ic, Term swi, Term num) { function Term (line 479) | inline Term ic_swi_era(IC* ic, Term swi, Term era) { function Term (line 489) | inline Term ic_swi_sup(IC* ic, Term swi, Term sup) { function Term (line 531) | inline Term ic_dup_num(IC* ic, Term dup, Term num) { function Term (line 554) | inline Term ic_whnf(IC* ic, Term term) { function Term (line 691) | inline Term ic_normal(IC* ic, Term term) { FILE: src/ic.h type TermTag (line 35) | typedef enum { type Term (line 49) | typedef uint64_t Term; type Val (line 50) | typedef uint64_t Val; type Lab (line 51) | typedef uint16_t Lab; type TermTag (line 87) | typedef enum { type Term (line 123) | typedef uint32_t Term; type Val (line 124) | typedef uint32_t Val; type Lab (line 125) | typedef uint8_t Lab; type IC (line 167) | typedef struct { FILE: src/main.c function ic_metal_available (line 19) | static inline int ic_metal_available() { function Term (line 23) | static inline Term ic_normal_metal(IC* ic, Term term) { function Term (line 40) | static Term normalize_term(IC* ic, Term term, int use_gpu, int use_colla... function process_term (line 70) | static void process_term(IC* ic, Term term, int use_gpu, int use_collaps... function benchmark_term (line 117) | static void benchmark_term(IC* ic, Term term, int use_gpu, int use_colla... function test (line 189) | static void test(IC* ic, int use_gpu, int use_collapse, int thread_count) { function print_usage (line 196) | static void print_usage(void) { function main (line 211) | int main(int argc, char* argv[]) { FILE: src/parse.c function starts_with_dollar (line 18) | static bool starts_with_dollar(const char* name) { function find_or_add_global_var (line 22) | static size_t find_or_add_global_var(Parser* parser, const char* name) { function push_lexical_binder (line 40) | static void push_lexical_binder(Parser* parser, const char* name, Term t... function pop_lexical_binder (line 52) | static void pop_lexical_binder(Parser* parser) { function Binder (line 58) | static Binder* find_lexical_binder(Parser* parser, const char* name) { function resolve_global_vars (line 67) | static void resolve_global_vars(Parser* parser) { function move_term (line 81) | static void move_term(Parser* parser, Val from_loc, Val to_loc) { function consume (line 96) | bool consume(Parser* parser, const char* str) { function parse_error (line 108) | void parse_error(Parser* parser, const char* message) { function expect (line 120) | bool expect(Parser* parser, const char* token, const char* error_context) { function init_parser (line 130) | void init_parser(Parser* parser, IC* ic, const char* input) { function parse_name (line 140) | static void parse_name(Parser* parser, char* name) { function next_char (line 156) | char next_char(Parser* parser) { function peek_char (line 167) | char peek_char(Parser* parser) { function peek_is (line 171) | bool peek_is(Parser* parser, char c) { function store_term (line 175) | void store_term(Parser* parser, Val loc, TermTag tag, Lab lab, Val value) { function Val (line 179) | Val parse_uint(Parser* parser) { function skip (line 192) | void skip(Parser* parser) { function check_utf8 (line 212) | bool check_utf8(Parser* parser, uint8_t b1, uint8_t b2) { function consume_utf8 (line 217) | void consume_utf8(Parser* parser, int bytes) { function parse_term_var (line 224) | static void parse_term_var(Parser* parser, Val loc) { function parse_term_lam (line 256) | static void parse_term_lam(Parser* parser, Val loc) { function parse_term_app (line 285) | static void parse_term_app(Parser* parser, Val loc) { function parse_term_sup (line 299) | static void parse_term_sup(Parser* parser, Val loc) { function parse_term_dup (line 311) | static void parse_term_dup(Parser* parser, Val loc) { function parse_term_era (line 358) | static void parse_term_era(Parser* parser, Val loc) { function parse_term_num (line 363) | static void parse_term_num(Parser* parser, Val loc) { function parse_term_suc (line 368) | static void parse_term_suc(Parser* parser, Val loc) { function parse_term_swi (line 375) | static void parse_term_swi(Parser* parser, Val loc) { function parse_term_let (line 392) | static void parse_term_let(Parser* parser, Val loc) { function parse_term (line 421) | void parse_term(Parser* parser, Val loc) { function Val (line 461) | Val parse_term_alloc(Parser* parser) { function Term (line 467) | Term parse_string(IC* ic, const char* input) { function Term (line 476) | Term parse_file(IC* ic, const char* filename) { FILE: src/parse.h type Binder (line 12) | typedef struct { type Parser (line 18) | typedef struct { FILE: src/show.c function Val (line 13) | static Val get_num_val(Term term) { type VarNameTable (line 25) | typedef struct { type DupTable (line 34) | typedef struct { function init_var_table (line 42) | void init_var_table(VarNameTable* table) { function free_var_table (line 51) | void free_var_table(VarNameTable* table) { function init_dup_table (line 61) | void init_dup_table(DupTable* table) { function free_dup_table (line 69) | void free_dup_table(DupTable* table) { function register_duplication (line 159) | bool register_duplication(DupTable* table, Val location, Lab label) { function assign_var_ids (line 181) | void assign_var_ids(IC* ic, Term term, VarNameTable* var_table, DupTable... function stringify_duplications (line 242) | void stringify_duplications(IC* ic, DupTable* dup_table, VarNameTable* v... function stringify_term (line 276) | void stringify_term(IC* ic, Term term, VarNameTable* var_table, char* bu... function show_term (line 397) | void show_term(FILE* stream, IC* ic, Term term) { function show_term_namespaced (line 404) | void show_term_namespaced(FILE* stream, IC* ic, Term term, const char* p...