summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-01-31 06:33:00 -0800
committerKaz Kylheku <kaz@kylheku.com>2020-01-31 06:33:00 -0800
commite9000f35cd994c307a31df37f225432e8ddf36ac (patch)
tree804101666e116f213231ef8193d9b3673e93782b
parentbcd564474fc2fec8f1d29838b5242a49b311a82d (diff)
downloadtxr-e9000f35cd994c307a31df37f225432e8ddf36ac.tar.gz
txr-e9000f35cd994c307a31df37f225432e8ddf36ac.tar.bz2
txr-e9000f35cd994c307a31df37f225432e8ddf36ac.zip
doc: defex does allow duplicate registration.
* txr.1: Fix wrong documentation about defex. It does allow registration of duplicate relationhips and updates that do not create cycles. Document a rule that is missing: that a subtype relationships can't be registered when the opposite relationship already exists.
-rw-r--r--txr.122
1 files changed, 9 insertions, 13 deletions
diff --git a/txr.1 b/txr.1
index 49fe9810..93018264 100644
--- a/txr.1
+++ b/txr.1
@@ -41752,23 +41752,10 @@ has three or more arguments, they are processed from left to right.
If errors are encountered during the processing, the correct registrations
already made for prior arguments remain in place.
-It is erroneous to register a duplicate relationship. If symbol
-.code a
-is already a direct or indirect subtype of
-.code b
-then
-.code "(defex a b)"
-and
-.code "(defex a x b)"
-are erroneous.
-
Every symbol is implicitly considered to be its own exception subtype,
therefore it is erroneous to explicitly register a symbol as its
own subtype.
-The foregoing rules eliminate the possibility of creating cycles in the
-exception subtype inheritance graph.
-
The symbol
.code nil
is implicitly a subtype of every exception type. Therefore, it is erroneous
@@ -41788,6 +41775,15 @@ Using
.code t
as a supertype in a registration is also erroneous.
+A symbol
+.code a
+may not be registered as a subtype of a symbol
+.code b
+if the reverse relationship already exists between those two symbols.
+
+The foregoing rules allow redefinitions to take place, while forbidding cycles
+from being created in the exception subtype inheritance graph.
+
Keyword symbols may be used as exception types.
.coNP Function @ register-exception-subtypes