aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-10-16 08:57:52 +0000
committerdos-reis <gdr@axiomatics.org>2008-10-16 08:57:52 +0000
commit9636715a5e06c8c174fd44cbf2847c4a8d2a87c7 (patch)
treebcee41d002aa0f681aa8e1ff612bc368eefd83c0
parente193c16d6eec5d174a24987a8590247c4c4227d1 (diff)
downloadopen-axiom-9636715a5e06c8c174fd44cbf2847c4a8d2a87c7.tar.gz
* interp/i-spec1.boot (categoryImplies): New.
(evalCategory): Use it.
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--configure.ac.pamphlet2
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/i-spec1.boot19
5 files changed, 34 insertions, 12 deletions
diff --git a/configure b/configure
index 8c9ffd2a..1a231708 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2008-10-15.
+# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2008-10-16.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -713,8 +713,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.3.0-2008-10-15'
-PACKAGE_STRING='OpenAxiom 1.3.0-2008-10-15'
+PACKAGE_VERSION='1.3.0-2008-10-16'
+PACKAGE_STRING='OpenAxiom 1.3.0-2008-10-16'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
ac_unique_file="src/Makefile.pamphlet"
@@ -1404,7 +1404,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures OpenAxiom 1.3.0-2008-10-15 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.3.0-2008-10-16 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1474,7 +1474,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2008-10-15:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2008-10-16:";;
esac
cat <<\_ACEOF
@@ -1578,7 +1578,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.3.0-2008-10-15
+OpenAxiom configure 1.3.0-2008-10-16
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1592,7 +1592,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by OpenAxiom $as_me 1.3.0-2008-10-15, which was
+It was created by OpenAxiom $as_me 1.3.0-2008-10-16, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -26097,7 +26097,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by OpenAxiom $as_me 1.3.0-2008-10-15, which was
+This file was extended by OpenAxiom $as_me 1.3.0-2008-10-16, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26146,7 +26146,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-OpenAxiom config.status 1.3.0-2008-10-15
+OpenAxiom config.status 1.3.0-2008-10-16
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index 94f8297c..e09ffafa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.3.0-2008-10-15],
+AC_INIT([OpenAxiom], [1.3.0-2008-10-16],
[open-axiom-bugs@lists.sf.net])
AC_CONFIG_AUX_DIR(config)
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index 99039bd7..5631cbcf 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1126,7 +1126,7 @@ information:
<<Autoconf init>>=
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.3.0-2008-10-15],
+AC_INIT([OpenAxiom], [1.3.0-2008-10-16],
[open-axiom-bugs@lists.sf.net])
@
diff --git a/src/ChangeLog b/src/ChangeLog
index ea652e11..ad42b989 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-16 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/i-spec1.boot (categoryImplies): New.
+ (evalCategory): Use it.
+
2008-10-15 Waldek Hebisch <hebisch@math.uni.wroc.pl>
Fix AW/101
diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot
index cec4db2b..ee6d9787 100644
--- a/src/interp/i-spec1.boot
+++ b/src/interp/i-spec1.boot
@@ -1201,9 +1201,26 @@ isDomainValuedVariable form ==
objValUnwrap(val)
nil
+
+++ returns true if category form `c1' implies category form `c2'.
+++ Both are assumed to be definite categories, i.e. they contain
+++ no variables.
+categoryImplies(c1,c2) ==
+ c2 = $Type => true
+ c1 is ["Join",:cats] =>
+ or/[categoryImplies(c,c2) for c in cats] => true
+ c1 = c2
+ -- ??? Should also check conditional definition and
+ -- ??? possibly attributes
+
+++ returns true if domain `d' satisfies category `c'.
evalCategory(d,c) ==
-- tests whether domain d has category c
- isPartialMode d or ofCategory(d,c)
+ isPartialMode d => true -- maybe too generous
+ -- If this is a local variable then, its declared type
+ -- must imply category `c' satisfaction.
+ IDENTP d and (m := getmode(d,$env)) => categoryImplies(m,c)
+ ofCategory(d,c)
isOkInterpMode m ==
isPartialMode(m) => isLegitimateMode(m,nil,nil)