aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--configure.ac.pamphlet2
-rw-r--r--src/ChangeLog15
-rw-r--r--src/algebra/boolean.spad.pamphlet46
-rw-r--r--src/interp/fnewmeta.lisp4
-rw-r--r--src/interp/metalex.lisp5
-rw-r--r--src/interp/newaux.lisp4
-rw-r--r--src/interp/sys-constants.boot2
9 files changed, 56 insertions, 42 deletions
diff --git a/configure b/configure
index b46145b8..11d62226 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.63 for OpenAxiom 1.3.0-2009-05-24.
+# Generated by GNU Autoconf 2.63 for OpenAxiom 1.3.0-2009-05-27.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.3.0-2009-05-24'
-PACKAGE_STRING='OpenAxiom 1.3.0-2009-05-24'
+PACKAGE_VERSION='1.3.0-2009-05-27'
+PACKAGE_STRING='OpenAxiom 1.3.0-2009-05-27'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
ac_unique_file="src/Makefile.pamphlet"
@@ -1500,7 +1500,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-2009-05-24 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.3.0-2009-05-27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1570,7 +1570,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-05-24:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-05-27:";;
esac
cat <<\_ACEOF
@@ -1672,7 +1672,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.3.0-2009-05-24
+OpenAxiom configure 1.3.0-2009-05-27
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1686,7 +1686,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-2009-05-24, which was
+It was created by OpenAxiom $as_me 1.3.0-2009-05-27, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -17686,7 +17686,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-2009-05-24, which was
+This file was extended by OpenAxiom $as_me 1.3.0-2009-05-27, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17749,7 +17749,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-OpenAxiom config.status 1.3.0-2009-05-24
+OpenAxiom config.status 1.3.0-2009-05-27
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index c42d9147..94760d3f 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-2009-05-24],
+AC_INIT([OpenAxiom], [1.3.0-2009-05-27],
[open-axiom-bugs@lists.sf.net])
AC_CONFIG_AUX_DIR(config)
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index 5a74d353..b9c50089 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1131,7 +1131,7 @@ information:
<<Autoconf init>>=
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.3.0-2009-05-24],
+AC_INIT([OpenAxiom], [1.3.0-2009-05-27],
[open-axiom-bugs@lists.sf.net])
@
diff --git a/src/ChangeLog b/src/ChangeLog
index 4960a30f..7e20ea09 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,16 @@
+2009-05-27 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/newaux.lisp: Bot / and /\ are gliphs.
+ * interp/sys-constants.boot ($OperatorFunctionNames): Include /\
+ and \/.
+ * interp/fnewmeta.lisp (|PARSE-ReductionOp|): Tidy.
+ * interp/metalex.lisp (|PARSE-OperatorFunctionName|): Likewise.
+ * algebra/boolean.spad.pamphlet (PropositionalLogic): Use plain
+ syntax for operators.
+ (Logic): Likewise.
+ (Boolean): Likewise.
+ (KleeneTrivalentLogic): Likewise.
+
2009-05-25 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/sys-constants.boot ($OperatorFunctionNames): New.
@@ -61,7 +74,7 @@
* testsuite/interpreter/aw-193.input: New.
* testsuite/interpreter/aw-334.input: Likewise.
-2009-05-21 Gabriel Dos Reis <gdr@cse.tamu.edu>
+2009-05-21 Gabriel Dos Reis <gdr@cs.tamu.edu>
* algebra/catdef.spad.pamphlet (before?$SetCategory): New.
diff --git a/src/algebra/boolean.spad.pamphlet b/src/algebra/boolean.spad.pamphlet
index 7c30999b..0c9adbc6 100644
--- a/src/algebra/boolean.spad.pamphlet
+++ b/src/algebra/boolean.spad.pamphlet
@@ -17,15 +17,15 @@
)abbrev category PROPLOG PropositionalLogic
++ Author: Gabriel Dos Reis
++ Date Created: Januray 14, 2008
-++ Date Last Modified: September 20, 2008
+++ Date Last Modified: May 27, 2009
++ Description: This category declares the connectives of
++ Propositional Logic.
PropositionalLogic(): Category == SetCategory with
- "not": % -> %
+ not: % -> %
++ not p returns the logical negation of `p'.
- "and": (%, %) -> %
+ and: (%, %) -> %
++ p and q returns the logical conjunction of `p', `q'.
- "or": (%, %) -> %
+ or: (%, %) -> %
++ p or q returns the logical disjunction of `p', `q'.
implies: (%,%) -> %
++ implies(p,q) returns the logical implication of `q' by `p'.
@@ -223,7 +223,7 @@ PropositionalFormula(T: SetCategory): Public == Private where
)abbrev domain REF Reference
++ Author: Stephen M. Watt
++ Date Created:
-++ Change History:
+++ Date Last Changed: May 27, 2009
++ Basic Operations: deref, elt, ref, setelt, setref, =
++ Related Constructors:
++ Keywords: reference
@@ -242,7 +242,7 @@ Reference(S:Type): Type with
++ deref(n) is equivalent to \spad{elt(n)}.
setref: (%, S) -> S
++ setref(n,m) same as \spad{setelt(n,m)}.
- _= : (%, %) -> Boolean
+ = : (%, %) -> Boolean
++ a=b tests if \spad{a} and b are equal.
if S has SetCategory then SetCategory
@@ -268,7 +268,7 @@ Reference(S:Type): Type with
)abbrev category LOGIC Logic
++ Author:
++ Date Created:
-++ Change History:
+++ Date Last Changed: May 27, 2009
++ Basic Operations: ~, /\, \/
++ Related Constructors:
++ Keywords: boolean
@@ -278,14 +278,14 @@ Reference(S:Type): Type with
Logic: Category == BasicType with
- _~: % -> %
+ ~: % -> %
++ ~(x) returns the logical complement of x.
- _/_\: (%, %) -> %
+ /\: (%, %) -> %
++ \spadignore { /\ }returns the logical `meet', e.g. `and'.
- _\_/: (%, %) -> %
+ \/: (%, %) -> %
++ \spadignore{ \/ } returns the logical `join', e.g. `or'.
add
- _\_/(x: %,y: %) == _~( _/_\(_~(x), _~(y)))
+ x \/ y == ~(~x /\ ~y)
@
\section{domain BOOLEAN Boolean}
@@ -293,7 +293,7 @@ Logic: Category == BasicType with
)abbrev domain BOOLEAN Boolean
++ Author: Stephen M. Watt
++ Date Created:
-++ Date Last Changed: September 20, 2008
+++ Date Last Changed: May 27, 2009
++ Basic Operations: true, false, not, and, or, xor, nand, nor, implies
++ Related Constructors:
++ Keywords: boolean
@@ -322,11 +322,11 @@ Boolean(): Join(OrderedFinite, Logic, PropositionalLogic, ConvertibleTo InputFor
false == NIL$Lisp
sample() == true
not b == nt b
- _~ b == (b => false; true)
- _and(a, b) == AND(a,b)$Lisp
- _/_\(a, b) == AND(a,b)$Lisp
- _or(a, b) == OR(a,b)$Lisp
- _\_/(a, b) == OR(a,b)$Lisp
+ ~ b == (b => false; true)
+ a and b == AND(a,b)$Lisp
+ a /\ b == AND(a,b)$Lisp
+ a or b == OR(a,b)$Lisp
+ a \/ b == OR(a,b)$Lisp
xor(a, b) == (a => nt b; b)
nor(a, b) == (a => false; nt b)
nand(a, b) == (a => nt b; true)
@@ -405,8 +405,8 @@ IndexedBits(mn:Integer): BitAggregate() with
#v == BVEC_-SIZE(v)$Lisp
v = u == BVEC_-EQUAL(v, u)$Lisp
v < u == BVEC_-GREATER(u, v)$Lisp
- _and(u, v) == (#v=#u => BVEC_-AND(v,u)$Lisp; map("and",v,u))
- _or(u, v) == (#v=#u => BVEC_-OR(v, u)$Lisp; map("or", v,u))
+ u and v == (#v=#u => BVEC_-AND(v,u)$Lisp; map("and",v,u))
+ u or v == (#v=#u => BVEC_-OR(v, u)$Lisp; map("or", v,u))
xor(v,u) == (#v=#u => BVEC_-XOR(v,u)$Lisp; map("xor",v,u))
setelt(v:%, i:Integer, f:Boolean) ==
BIT_-TO_-TRUTH(BVEC_-SETELT(v, range(v, i-mn),
@@ -445,7 +445,7 @@ Bits(): Exports == Implementation where
)abbrev domain KTVLOGIC KleeneTrivalentLogic
++ Author: Gabriel Dos Reis
++ Date Created: September 20, 2008
-++ Date Last Modified: September 20, 2008
+++ Date Last Modified: May 27, 2009
++ Description:
++ This domain implements Kleene's 3-valued propositional logic.
KleeneTrivalentLogic(): Public == Private where
@@ -453,11 +453,11 @@ KleeneTrivalentLogic(): Public == Private where
false: % ++ the definite falsehood value
unknown: % ++ the indefinite `unknown'
true: % ++ the definite truth value
- _case: (%,[| false |]) -> Boolean
+ case: (%,[| false |]) -> Boolean
++ x case false holds if the value of `x' is `false'
- _case: (%,[| unknown |]) -> Boolean
+ case: (%,[| unknown |]) -> Boolean
++ x case unknown holds if the value of `x' is `unknown'
- _case: (%,[| true |]) -> Boolean
+ case: (%,[| true |]) -> Boolean
++ s case true holds if the value of `x' is `true'.
Private == add
Rep == Byte -- We need only 3 bits, in fact.
diff --git a/src/interp/fnewmeta.lisp b/src/interp/fnewmeta.lisp
index c819222d..adf96fe8 100644
--- a/src/interp/fnewmeta.lisp
+++ b/src/interp/fnewmeta.lisp
@@ -168,7 +168,7 @@
;; Reduction: ReductionOp Expr{1000} +(Reduce #2 #1) ;
;; ReductionOp: ?(AND (GETL (CURRENT-SYMBOL) "Led)
-;; (MATCH-NEXT-TOKEN "SPECIAL-CHAR (CODE-CHAR 47))) % Forgive me!
+;; (MATCH-NEXT-TOKEN "GLIPH "/)) % Forgive me!
;; +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) .(ADVANCE-TOKEN) ;
;; Form: 'iterate' < 'from' Label +(#1) >! +(iterate -#1)
@@ -695,7 +695,7 @@
(DEFUN |PARSE-ReductionOp| ()
(AND (GETL (CURRENT-SYMBOL) '|Led|)
- (MATCH-NEXT-TOKEN 'SPECIAL-CHAR (CODE-CHAR 47))
+ (MATCH-NEXT-TOKEN 'GLIPH '/)
(PUSH-REDUCTION '|PARSE-ReductionOp| (CURRENT-SYMBOL))
(ACTION (ADVANCE-TOKEN)) (ACTION (ADVANCE-TOKEN))))
diff --git a/src/interp/metalex.lisp b/src/interp/metalex.lisp
index f89ebf6e..18183d0d 100644
--- a/src/interp/metalex.lisp
+++ b/src/interp/metalex.lisp
@@ -637,9 +637,10 @@ as keywords.")
(defun-parse-token ARGUMENT-DESIGNATOR)
(defun |PARSE-OperatorFunctionName| ()
- (let ((tok (match-current-token 'keyword)))
+ (let ((tok (or (match-current-token 'keyword)
+ (match-current-token 'gliph))))
(when (and tok (member (token-symbol tok) |$OperatorFunctionNames|))
- (Push-Reduction 'IDENTIFIER-TOKEN
+ (Push-Reduction '|PARSE-OperatorFunctionName|
(copy-tree (token-symbol tok)))
(action (advance-token)))))
diff --git a/src/interp/newaux.lisp b/src/interp/newaux.lisp
index d8ac603e..182e6135 100644
--- a/src/interp/newaux.lisp
+++ b/src/interp/newaux.lisp
@@ -1,6 +1,6 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
-;; Copyright (C) 2007, Gabriel Dos Reis.
+;; Copyright (C) 2007-2009, Gabriel Dos Reis.
;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
@@ -179,7 +179,7 @@
( + (- (>)) )
( - (>) )
( < (=) (<) )
- ;; ( / (\\) ) breaks */xxx
+ ( / (\\) )
( \\ (/) )
( > (=) (>) (\)))
( = (= (>)) (>) )
diff --git a/src/interp/sys-constants.boot b/src/interp/sys-constants.boot
index b50e1d56..d8521b88 100644
--- a/src/interp/sys-constants.boot
+++ b/src/interp/sys-constants.boot
@@ -738,5 +738,5 @@ $SpadReaderTag ==
$OperatorFunctionNames ==
["**", "^", "*", "/", "rem", "quo", "mod", "div", "exquo",
"+", "-", ">", ">=", "=", "~=", "<", "<=", "~", "not",
- "case", "and", "or", "<<", ">>" ]
+ "case", "and", "or", "<<", ">>", "/\", "\/" ]