From 5fa9211d806a675131b44cc49a694a4fd6a38f2a Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sun, 6 Jul 2008 20:08:58 +0200 Subject: Implement STRING and FIND-PACKAGE. --- util.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'util.h') diff --git a/util.h b/util.h index 71dc3d6..0e27fc0 100644 --- a/util.h +++ b/util.h @@ -1,4 +1,5 @@ #include "runtime-compatibility.h" +#include #include #define DEFINE_GMP_OPERATION(SIGNATURE, TYPE, GMPOP, OBJTYPE, CONSTRUCTOR) \ @@ -18,6 +19,7 @@ static id nullify (id value) __attribute__ ((pure, unused)); static id denullify (id value) __attribute__ ((pure, unused)); +static id stringify (id value) __attribute__ ((pure, unused)); static id nullify (id value) { @@ -34,3 +36,19 @@ static id denullify (id value) else return value; } + +static id stringify (id thing) +{ + // FIXME: Some cases may be missing. + if (!thing) + return @"NIL"; + if ([thing isKindOfClass:[NSString class]]) + return thing; + else if ([thing isKindOfClass:[MLKSymbol class]]) + return [thing name]; + + [NSException raise:@"MLKTypeError" format:@"Can't coerce %@ to a string.", + [thing descriptionForLisp]]; + + return nil; +} -- cgit v1.2.3