aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog7
-rw-r--r--src/interp/i-analy.boot4
-rw-r--r--src/testsuite/interpreter/category.input10
3 files changed, 19 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0afd7402..1cb0b285 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,7 +1,14 @@
2008-05-29 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/i-analy.boot (conceptualType): Only Mode, Domain, and
+ Category are conceptually abstract.
+ * testsuite/interpreter/category.input: Add a testcase.
+
+2008-05-29 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/interop.boot (newHasCategory): Category is a category, and
all domains belong to Category.
+ * testsuite/interpreter/category.input: New.
2008-05-28 Gabriel Dos Reis <gdr@cs.tamu.edu>
diff --git a/src/interp/i-analy.boot b/src/interp/i-analy.boot
index cfd483e5..8bf457d8 100644
--- a/src/interp/i-analy.boot
+++ b/src/interp/i-analy.boot
@@ -623,13 +623,13 @@ sayIntelligentMessageAboutOpAvailability(opName, nArgs) ==
nil
-++ Returns the `conceptual' type of `type', e.g., the type type in
+++ Returns the `conceptual' type of `type', e.g., the type of type in
++ the abstract semantics, not necessarily the one from implementation
++ point of view.
conceptualType: %Thing -> %List
conceptualType type ==
isPartialMode type => $Mode
- member(type,$LangSupportTypes) => $Type
+ member(type,[$Mode,$Domain,$Category]) => $Type
categoryForm?(type) => $Category
$Domain
diff --git a/src/testsuite/interpreter/category.input b/src/testsuite/interpreter/category.input
new file mode 100644
index 00000000..53cfc328
--- /dev/null
+++ b/src/testsuite/interpreter/category.input
@@ -0,0 +1,10 @@
+Domain has Category
+Category has Category -- 'true', but it probably should be 'no'.
+Category has Type
+
+ST(x: Integer): Category ==
+ x=0 => SetCategory
+ Type
+
+ST 0
+ST 1