aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--src/ChangeLog7
-rw-r--r--src/algebra/Makefile.in11
-rw-r--r--src/algebra/boolean.spad.pamphlet6
-rw-r--r--src/interp/g-opt.boot11
-rw-r--r--src/interp/lisp-backend.boot4
7 files changed, 37 insertions, 24 deletions
diff --git a/configure b/configure
index cff2c83a..29253950 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.65 for OpenAxiom 1.4.0-2011-02-20.
+# Generated by GNU Autoconf 2.65 for OpenAxiom 1.4.0-2011-03-09.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -701,8 +701,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.4.0-2011-02-20'
-PACKAGE_STRING='OpenAxiom 1.4.0-2011-02-20'
+PACKAGE_VERSION='1.4.0-2011-03-09'
+PACKAGE_STRING='OpenAxiom 1.4.0-2011-03-09'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
PACKAGE_URL=''
@@ -1491,7 +1491,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.4.0-2011-02-20 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.4.0-2011-03-09 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1566,7 +1566,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2011-02-20:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2011-03-09:";;
esac
cat <<\_ACEOF
@@ -1677,7 +1677,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.4.0-2011-02-20
+OpenAxiom configure 1.4.0-2011-03-09
generated by GNU Autoconf 2.65
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2569,7 +2569,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.4.0-2011-02-20, which was
+It was created by OpenAxiom $as_me 1.4.0-2011-03-09, which was
generated by GNU Autoconf 2.65. Invocation command line was
$ $0 $@
@@ -5468,7 +5468,7 @@ fi
# Define the identity of the package.
PACKAGE='openaxiom'
- VERSION='1.4.0-2011-02-20'
+ VERSION='1.4.0-2011-03-09'
cat >>confdefs.h <<_ACEOF
@@ -20968,7 +20968,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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.4.0-2011-02-20, which was
+This file was extended by OpenAxiom $as_me 1.4.0-2011-03-09, which was
generated by GNU Autoconf 2.65. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21034,7 +21034,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-OpenAxiom config.status 1.4.0-2011-02-20
+OpenAxiom config.status 1.4.0-2011-03-09
configured by $0, generated by GNU Autoconf 2.65,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 3a64f9c7..f7916e23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ dnl Makefiles for building OpenAxiom interpreter, compiler, libraries, and
dnl auxiliary tools where appropriate.
dnl
-AC_INIT([OpenAxiom], [1.4.0-2011-02-20],
+AC_INIT([OpenAxiom], [1.4.0-2011-03-09],
[open-axiom-bugs@lists.sf.net])
dnl Most of the macros used in this configure.ac are defined in files
diff --git a/src/ChangeLog b/src/ChangeLog
index a4fd1290..cb7cff4e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,12 @@
2011-03-09 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/g-opt.boot: %pair, %list, %vector, %bitvector are now
+ considered side-effect free functions.
+ * algebra/boolean.spad.pamphlet: Reflect change.
+ * algebra/Makefile.in (oa_strap_0_sources): Include MAYBE.
+
+2011-03-09 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/g-opt.boot (semiSimpleRelativeTo?): Consider conditionals.
2011-03-07 Gabriel Dos Reis <gdr@cs.tamu.edu>
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 5ba7f1f3..721df237 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -105,7 +105,7 @@ oa_strap_2_fasls = \
$(addprefix strap-2/,$(addsuffix .$(FASLEXT),$(oa_strap_2_sources)))
oa_strap_0_sources = \
- TYPE BASTYPE KOERCE KRCFROM KONVERT RETRACT FRETRCT SETCAT \
+ TYPE UTYPE BASTYPE KOERCE KRCFROM KONVERT RETRACT FRETRCT SETCAT \
FINITE ORDTYPE ORDSET ORDFIN \
PROPLOG BOOLE LOGIC \
ABELGRP LLINSET RLINSET LINSET CABMON ABELMON ABELSG \
@@ -122,7 +122,7 @@ oa_strap_0_sources = \
RADCAT AMR FAMR FLINEXP POLYCAT UPOLYC PATAB FPATMAB PFECAT \
KVTFROM SEXCAT QFCAT \
RNS FPS \
- BOOLEAN INT NNI PI LIST VECTOR CHAR STRING
+ BOOLEAN INT NNI PI MAYBE LIST VECTOR CHAR STRING
oa_strap_1_sources = $(oa_strap_0_sources) \
SRAGG AHYP HYPCAT ATRIG TRIGCAT TRANFUN \
@@ -140,6 +140,7 @@ oa_strap_2_sources = $(oa_strap_1_sources) \
## constructors.
## Consequently, the dependencies listed here are at the categories
## inheritance level; not necessarily at the use level.
+strap-0/UTYPE.$(FASLEXT): strap-0/TYPE.$(FASLEXT)
strap-0/BASTYPE.$(FASLEXT): strap-0/TYPE.$(FASLEXT)
strap-0/KOERCE.$(FASLEXT): strap-0/TYPE.$(FASLEXT)
strap-0/KONVERT.$(FASLEXT): strap-0/TYPE.$(FASLEXT)
@@ -303,6 +304,8 @@ strap-0/STRING.$(FASLEXT): strap-0/SRAGG.$(FASLEXT)
# We need Boolean to be complete when compiling the defaults of BasicType.
strap-1/BOOLEAN.$(FASLEXT): strap-1/BOOLE.$(FASLEXT)
+strap-1/MAYBE.$(FASLEXT): strap-1/SETCAT.$(FASLEXT) \
+ strap-1/KOERCE.$(FASLEXT) strap-1/RETRACT.$(FASLEXT)
strap-1/BASTYPE.$(FASLEXT): strap-1/BOOLEAN.$(FASLEXT)
strap-1/SETCAT.$(FASLEXT): strap-1/BASTYPE.$(FASLEXT) strap-1/KOERCE.$(FASLEXT)
strap-1/KOERCE.$(FASLEXT): strap-1/TYPE.$(FASLEXT)
@@ -325,7 +328,7 @@ strap-1/ABELSG.$(FASLEXT): strap-1/SETCAT.$(FASLEXT)
strap-1/ABELMON.$(FASLEXT): strap-1/ABELSG.$(FASLEXT)
strap-1/CABMON.$(FASLEXT): strap-1/ABELMON.$(FASLEXT)
strap-1/SGROUP.$(FASLEXT): strap-1/SETCAT.$(FASLEXT)
-strap-1/MONOID.$(FASLEXT): strap-1/SGROUP.$(FASLEXT)
+strap-1/MONOID.$(FASLEXT): strap-1/SGROUP.$(FASLEXT) strap-1/MAYBE.$(FASLEXT)
strap-1/ABELGRP.$(FASLEXT): strap-1/CABMON.$(FASLEXT) \
strap-1/LLINSET.$(FASLEXT)
strap-1/RNG.$(FASLEXT): strap-1/ABELGRP.$(FASLEXT)
@@ -420,6 +423,7 @@ strap-2/SINT.$(FASLEXT): strap-2/INT.$(FASLEXT)
strap-2/NNI.$(FASLEXT): strap-2/INT.$(FASLEXT)
strap-2/PI.$(FASLEXT): strap-2/NNI.$(FASLEXT)
strap-2/BOOLEAN.$(FASLEXT): strap-2/SINT.$(FASLEXT)
+strap-2/MAYBE.$(FASLEXT): strap-2/BOOLEAN.$(FASLEXT)
strap-2/ISTRING.$(FASLEXT): strap-2/INT.$(FASLEXT)
strap-2/CHAR.$(FASLEXT): strap-2/PI.$(FASLEXT)
strap-2/STRING.$(FASLEXT): strap-2/CHAR.$(FASLEXT) strap-2/ISTRING.$(FASLEXT)
@@ -443,6 +447,7 @@ strap-2/ORDSET.$(FASLEXT): strap-2/SETCAT.$(FASLEXT) strap-2/ORDTYPE.$(FASLEXT)
strap-2/ORDFIN.$(FASLEXT): strap-2/ORDSET.$(FASLEXT) strap-2/FINITE.$(FASLEXT)
strap-2/LOGIC.$(FASLEXT): strap-2/TYPE.$(FASLEXT)
strap-2/BOOLE.$(FASLEXT): strap-2/LOGIC.$(FASLEXT)
+strap-2/MONOID.$(FASLEXT): strap-2/MAYBE.$(FASLEXT)
strap-2/PROPLOG.$(FASLEXT): strap-2/SETCAT.$(FASLEXT) strap-2/BOOLE.$(FASLEXT)
strap-2/PID.$(FASLEXT): strap-2/GCDDOM.$(FASLEXT)
strap-2/EUCDOM.$(FASLEXT): strap-2/PID.$(FASLEXT)
diff --git a/src/algebra/boolean.spad.pamphlet b/src/algebra/boolean.spad.pamphlet
index 1b5f5ce8..4112797e 100644
--- a/src/algebra/boolean.spad.pamphlet
+++ b/src/algebra/boolean.spad.pamphlet
@@ -564,7 +564,7 @@ IndexedBits(mn:Integer): BitAggregate() with
import %bitvecand: (%,%) -> % from Foreign Builtin
import %bitvecor: (%,%) -> % from Foreign Builtin
import %bitvecxor: (%,%) -> % from Foreign Builtin
- import %makebitvec: (NonNegativeInteger,NonNegativeInteger) -> %
+ import %bitvector: (NonNegativeInteger,NonNegativeInteger) -> %
from Foreign Builtin
minIndex u == mn
@@ -582,8 +582,8 @@ IndexedBits(mn:Integer): BitAggregate() with
s.i := if v.j then t else f
s::OutputForm
- new(n, b) == %makebitvec(n, %2bit(b)$Foreign(Builtin))
- empty() == %makebitvec(0,0)
+ new(n, b) == %bitvector(n, %2bit(b)$Foreign(Builtin))
+ empty() == %bitvector(0,0)
copy v == %bitveccopy v
#v == %bitveclength v
v = u == %bitveceq(v,u)
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index b7a72aca..59cb8363 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -443,11 +443,12 @@ $VMsideEffectFreeOperators ==
%val2z %z2val %zlit %zreal %zimag
%zexp %zlog %zsin %zcos %ztan %zasin %zacos %zatan
%zsinh %zcosh %ztanh %zasinh %zacosh %zatanh
- %nil %pair? %lconcat %llength %lfirst %lsecond %lthird
+ %nil %pair %list %pair? %lconcat %llength %lfirst %lsecond %lthird
%lreverse %lempty? %hash %ismall? %string? %f2s
%ccst %ceq %clt %cle %cgt %cge %c2i %i2c %s2c %c2s %cup %cdown %sname
%strlength %streq %i2s %schar %strlt %strconc %strcopy
- %aref %vref %vlength
+ %vector %aref %vref %vlength
+ %bitvector
%bitvecnot %bitvecand %bitvecnand %bivecor %bitvecnor %bitvecxor
%bitveccopy %bitvecconc %bitveclength %bitvecref %bitveceq %bitveclt
%before? %equal %sptreq %ident? %property %tref)
@@ -455,9 +456,8 @@ $VMsideEffectFreeOperators ==
++ List of simple VM operators
$simpleVMoperators ==
append($VMsideEffectFreeOperators,
- ['STRINGIMAGE,'FUNCALL,'%gensym, '%lreverse_!,'%pair,'%list,
- '%strstc,'%makebitvec,'%makevector,'%vector,
- "MAKE-FULL-CVEC","BVEC-MAKE-FULL"])
+ ['STRINGIMAGE,'FUNCALL,'%gensym, '%lreverse_!,
+ '%strstc,"MAKE-FULL-CVEC","BVEC-MAKE-FULL"])
++ Return true if the `form' is semi-simple with respect to
++ to the list of operators `ops'.
@@ -495,6 +495,7 @@ isVMConstantForm: %Code -> %Boolean
isVMConstantForm form ==
integer? form or string? form => true
form isnt [op,:args] => false
+ op in '(%list %pair %vector) => false
MEMQ(op,$VMsideEffectFreeOperators) and
"and"/[isVMConstantForm arg for arg in args]
diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot
index 7a068efb..1899ec39 100644
--- a/src/interp/lisp-backend.boot
+++ b/src/interp/lisp-backend.boot
@@ -354,7 +354,7 @@ expandBitveceq ['%bitveceq,x,y] ==
expandBitveclt ['%bitveclt,x,y] ==
['BVEC_-GREATER,expandToVMForm y,expandToVMForm x]
-expandMakebitvec ['%makebitvec,x,y] ==
+expandBitvector ['%bitvector,x,y] ==
['MAKE_-ARRAY,['LIST,expandToVMForm x],
KEYWORD::ELEMENT_-TYPE,quoteForm '%Bit,
KEYWORD::INITIAL_-ELEMENT,expandToVMForm y]
@@ -651,7 +651,7 @@ for x in [
['%bitveceq, :function expandBitveceq],
['%bitveclt, :function expandBitveclt],
['%bitvecref, :function expandBitvecref],
- ['%makebitvec, :function expandMakebitvec],
+ ['%bitvector, :function expandBitvector],
['%peq, :function expandPeq],
['%before?, :function expandBefore?],