change printing
[lambda.git] / lambda.h
index 8256f04..d9921d6 100644 (file)
--- a/lambda.h
+++ b/lambda.h
@@ -12,11 +12,11 @@ struct lambda {
        union {
                struct {
                        char *ident;
-                       unsigned int revision;
+                       struct lambda *binding;
                } identifier;
                struct {
                        char *ident;
-                       unsigned int revision;
+                       bool strict;
                        struct lambda *expr;
                } abstraction;
                struct {
@@ -32,8 +32,9 @@ struct decllist {
        struct lambda *value;
 };
 
+struct lambda *make_lambda();
 struct lambda *make_ident(char *);
-struct lambda *make_abstraction(char *, struct lambda *);
+struct lambda *make_abstraction(char *, bool, struct lambda *);
 struct lambda *make_application(struct lambda *, struct lambda *);
 struct lambda *make_numeral(unsigned int i);
 struct lambda *make_bool(bool b);