From fbeff9c995c1ace0efe487d82cc95744c8ed18db Mon Sep 17 00:00:00 2001 From: dos-reis Date: Fri, 10 Feb 2012 02:13:03 +0000 Subject: * interp/database.boot (categoryConstructor?): New. * interp/define.boot (mkEvalableCategoryForm): Use it. Tidy. --- src/ChangeLog | 5 +++++ src/interp/database.boot | 6 +++++- 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 + + * interp/database.boot (categoryConstructor?): New. + * interp/define.boot (mkEvalableCategoryForm): Use it. Tidy. + 2012-02-08 Gabriel Dos Reis * 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) == -- cgit v1.2.3