diff options
author | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-24 19:10:21 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <matthias@benkard.de> | 2008-08-24 19:10:21 +0200 |
commit | aa3f4a2b760c3d890aa51b3afa904ab604de794c (patch) | |
tree | c031c1242e0c1ad2ae92cf00347f36ec343065de /MLKForm.m | |
parent | baae263841853c289d48ce172e614171167cf1dd (diff) | |
parent | a34b771cd9cc823260407b2905312b3be05390db (diff) |
Merge mulk_benkard@ssh.phx.nearlyfreespeech.net:/home/htdocs/code/mulklisp
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 |