From d6d73cfbcfd4eae88e53c4c30e221a66daade5e1 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Tue, 17 Jun 2008 16:11:43 +0200 Subject: MLKCons, MLKSymbol: Override -descriptionForLisp. --- MLKCons.m | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'MLKCons.m') diff --git a/MLKCons.m b/MLKCons.m index fbfecb7..aee322a 100644 --- a/MLKCons.m +++ b/MLKCons.m @@ -18,6 +18,8 @@ #import "MLKCons.h" +#import + @implementation MLKCons +(MLKCons*) cons:(id)car with:(id)cdr @@ -54,6 +56,25 @@ ASSIGN (_cdr, value); } +-(NSString *)bareDescriptionForLisp +{ + if (!_cdr) + return [NSString stringWithFormat:@"%@", [_car descriptionForLisp]]; + else if (![_cdr isKindOfClass:[MLKCons class]]) + return [NSString stringWithFormat:@"%@ %@", + [_car descriptionForLisp], + [_cdr bareDescriptionForLisp]]; + else + return [NSString stringWithFormat:@"%@ . %@", + [_car descriptionForLisp], + [_cdr descriptionForLisp]]; +} + +-(NSString *)descriptionForLisp +{ + return [NSString stringWithFormat:@"(%@)", [self bareDescriptionForLisp]]; +} + -(void) dealloc { RELEASE (_car); -- cgit v1.2.3