diff options
Diffstat (limited to 'MLKForm.m')
-rw-r--r-- | MLKForm.m | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -18,7 +18,7 @@ #import "MLKCons.h" #import "MLKForm.h" -#import "MLKLLVMCompiler.h" +#import "MLKInterpreter.h" #import "util.h" #import "special-symbols.h" @@ -130,7 +130,6 @@ id car = [object car]; if (car == CATCH) return [MLKCatchForm class]; - else if (car == EVAL) return [MLKFunctionCallForm class]; else if (car == EVAL_WHEN) return [MLKEvalWhenForm class]; else if (car == _FOREIGN_LAMBDA) return [MLKForeignLambdaForm class]; else if (car == FUNCTION) return [MLKFunctionForm class]; @@ -215,6 +214,7 @@ [NSArray arrayWithObjects: _form, context, nil]] objectAtIndex:0]); + //NSLog (@"=> %@", MLKPrintToString (expansion)); return LRETAIN ([MLKForm formWithObject:expansion inContext:context @@ -361,11 +361,11 @@ int i; self = [super complete]; - LASSIGN (_foreignName, [[_tail cdr] car]); - LASSIGN (_name, [_tail car]); - _returnType = MLKForeignTypeWithTypeDesignator ([[[_tail cdr] cdr] car]); + LASSIGN (_foreignName, [_tail car]); + LASSIGN (_foreignLibraryDesignator, [[_tail cdr] car]); + _returnType = MLKForeignTypeWithTypeDesignator ([[[[_tail cdr] cdr] cdr] car]); - argtypes = [[[_tail cdr] cdr] cdr]; + argtypes = [[[_tail cdr] cdr] car]; _argc = [argtypes length]; _argumentTypes = malloc (_argc * sizeof (MLKForeignType)); @@ -483,6 +483,11 @@ inContext:newContext]; return self; } + +-(MLKSymbol *) lambdaListName +{ + return _lambdaListName; +} @end |