summaryrefslogtreecommitdiff
path: root/include/lcq
diff options
context:
space:
mode:
Diffstat (limited to 'include/lcq')
-rw-r--r--include/lcq/pit/library.h1
-rw-r--r--include/lcq/pit/runtime.h5
2 files changed, 3 insertions, 3 deletions
diff --git a/include/lcq/pit/library.h b/include/lcq/pit/library.h
index ff325dc..6bca3a6 100644
--- a/include/lcq/pit/library.h
+++ b/include/lcq/pit/library.h
@@ -5,6 +5,7 @@
void pit_install_library_essential(pit_runtime *rt);
void pit_install_library_io(pit_runtime *rt);
+void pit_install_library_plist(pit_runtime *rt);
void pit_install_library_bytestring(pit_runtime *rt);
#endif
diff --git a/include/lcq/pit/runtime.h b/include/lcq/pit/runtime.h
index a8b6593..32bf198 100644
--- a/include/lcq/pit/runtime.h
+++ b/include/lcq/pit/runtime.h
@@ -60,7 +60,7 @@ typedef struct { /* "heavy" values, the targets of refs */
struct { pit_value car, cdr; } cons;
struct { pit_value *data; i64 len; } array;
struct { u8 *data; i64 len; } bytes;
- struct { pit_value env; pit_value args; pit_value body; } func;
+ struct { pit_value env; pit_value args; pit_value arg_rest_nm; pit_value body; } func;
pit_nativefunc nativefunc;
struct { pit_value tag; void *data; } nativedata;
} in;
@@ -70,7 +70,7 @@ typedef struct {
pit_value name; /* ref to bytestring */
pit_value value; /* ref to cell */
pit_value function; /* ref to cell */
- bool is_macro, is_special_form;
+ bool is_macro, is_special_form, is_keyword;
} pit_symtab_entry;
/* "programs"; vectors of "instructions" for a very simple VM used by the evaluator */
@@ -206,7 +206,6 @@ pit_value pit_apply(pit_runtime *rt, pit_value f, pit_value args);
/* working with native data */
pit_value pit_nativedata_new(pit_runtime *rt, pit_value tag, void *d);
-
/* evaluation! */
pit_value pit_expand_macros(pit_runtime *rt, pit_value top);
pit_value pit_eval(pit_runtime *rt, pit_value e);