diff options
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/database.boot | 6 | ||||
-rw-r--r-- | src/interp/define.boot | 8 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 04e6c425..070189e8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-02-09 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/database.boot (categoryConstructor?): New. + * interp/define.boot (mkEvalableCategoryForm): Use it. Tidy. + 2012-02-08 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/g-opt.boot (optCall): Simplify SPADCALL of atomic diff --git a/src/interp/database.boot b/src/interp/database.boot index 867c40c0..278630d9 100644 --- a/src/interp/database.boot +++ b/src/interp/database.boot @@ -1,6 +1,6 @@ -- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. -- All rights reserved. --- Copyright (C) 2007-2011, Gabriel Dos Reis. +-- Copyright (C) 2007-2012, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -173,6 +173,10 @@ getConstructorKind ctor == builtinCategoryName? ctor => "category" nil +categoryConstructor? ctor == + getConstructorKindFromDB ctor is "category" + or builtinCategoryName? ctor + --% Functions for manipulating MODEMAP DATABASE ++ We are about to finish the elaboration of the category `form' with diff --git a/src/interp/define.boot b/src/interp/define.boot index 66d8c458..608f34bd 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -1,6 +1,6 @@ -- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. -- All rights reserved. --- Copyright (C) 2007-2011, Gabriel Dos Reis. +-- Copyright (C) 2007-2012, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -915,12 +915,10 @@ mkEvalableCategoryForm c == op is "mkCategory" => c builtinCategoryName? op => ([x,m,$e]:= compOrCroak(c,$EmptyMode,$e); m=$Category => x) - --loadIfNecessary op - getConstructorKindFromDB op = 'category or - get(op,"isCategory",$CategoryFrame) => - [op,:[MKQ x for x in argl]] + categoryConstructor? op => [op,:[MKQ x for x in argl]] [x,m,$e]:= compOrCroak(c,$EmptyMode,$e) m=$Category => x + MKQ c MKQ c evalCategoryForm(x,e) == |