aboutsummaryrefslogtreecommitdiffstats
path: root/NSArray+LispExtensions.m
diff options
context:
space:
mode:
Diffstat (limited to 'NSArray+LispExtensions.m')
-rw-r--r--NSArray+LispExtensions.m36
1 files changed, 36 insertions, 0 deletions
diff --git a/NSArray+LispExtensions.m b/NSArray+LispExtensions.m
new file mode 100644
index 0000000..308516e
--- /dev/null
+++ b/NSArray+LispExtensions.m
@@ -0,0 +1,36 @@
+//
+// NSArray+LispExtensions.m
+// Moxie
+//
+// Created by Brian Cully on Tue Sep 07 2004.
+// Copyright (c) 2004 Brian Cully. All rights reserved.
+//
+
+#import "NSArray+LispExtensions.h"
+
+@implementation NSArray (LispExtensions)
+- (NSString *)lispForm
+{
+ NSEnumerator *objectEnum;
+ NSMutableString *result;
+ id obj;
+
+ if ([self count] == 0)
+ return @"NIL";
+
+ objectEnum = [self objectEnumerator];
+ result = [NSMutableString stringWithString: @"("];
+ obj = [objectEnum nextObject];
+ while (obj != nil) {
+ NSString *form;
+
+ form = [obj lispForm];
+ [result appendString: form];
+ obj = [objectEnum nextObject];
+ if (obj)
+ [result appendString: @" "];
+ }
+ [result appendString: @")"];
+ return result;
+}
+@end \ No newline at end of file