summaryrefslogtreecommitdiff
path: root/liblali.h
diff options
context:
space:
mode:
Diffstat (limited to 'liblali.h')
-rw-r--r--liblali.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/liblali.h b/liblali.h
index 9ffb63d..40b8859 100644
--- a/liblali.h
+++ b/liblali.h
@@ -70,8 +70,8 @@ struct Object {
Type type;
size_t size;
union {
- struct { double number; }; // number
- struct { char string[sizeof (Object *[3])]; }; // string, symbol
+ /* struct { double number; }; // number */
+ struct { char string[sizeof (Object *[3])]; }; // string, symbol, number
struct { Object *car, *cdr; }; // cons
struct { Object *params, *body, *env; }; // lambda, macro
struct { int primitive; char *name; }; // primitive
@@ -188,7 +188,8 @@ Object *newObject(Type type, GC_PARAM);
Object *newObjectFrom(Object **from, GC_PARAM);
-Object *newNumber(double number, GC_PARAM);
+//Object *newNumber(double number, GC_PARAM);
+Object *newNumber(char *string, GC_PARAM);
Object *newObjectWithString(Type type, size_t size, GC_PARAM);
@@ -255,6 +256,8 @@ Object *readList(Stream *stream, GC_PARAM);
// WRITING OBJECTS ////////////////////////////////////////////////////////////
+char *removeZeroPadding(char *string);
+
void writeObject(Object *object, bool readably, FILE *file);
// ENVIRONMENT ////////////////////////////////////////////////////////////////