Commit | Line | Data |
---|---|---|
57350ed7 JM |
1 | #import <Foundation/Foundation.h> |
2 | ||
3 | /* | |
4 | // Forward declaration of Env (see env.h for full interface) | |
5 | @class Env; | |
6 | */ | |
7 | // Forward declaration of EVAL function | |
8 | NSObject *EVAL(id ast, id env); | |
9 | ||
7cae6e6f | 10 | @interface MalFunc : NSObject <NSCopying> |
57350ed7 JM |
11 | |
12 | @property (copy) NSArray * ast; | |
13 | @property (copy) Env * env; | |
14 | @property (copy) NSArray * params; | |
7cae6e6f JM |
15 | @property BOOL isMacro; |
16 | @property (copy) NSObject * meta; | |
57350ed7 JM |
17 | |
18 | - (id)init:(NSArray *)ast env:(Env *)env params:(NSArray *)params; | |
19 | ||
20 | - (id)apply:(NSArray *)args; | |
21 | ||
22 | @end | |
7cae6e6f JM |
23 | |
24 | NSObject * apply(id f, NSArray *args); |