summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorjthorn <jthorn@17b73243-c579-4c4c-a9d2-2d5706c11dac>2005-09-14 16:41:50 +0000
committerjthorn <jthorn@17b73243-c579-4c4c-a9d2-2d5706c11dac>2005-09-14 16:41:50 +0000
commitbb9c07890550118f91cf7df470e5ff8d2e36fec9 (patch)
treecdf983d383ce9d3c32e2c9aa2ef86e193ccf59c7 /doc
parentbb4caf8f022cdef41fe06a050b3bd6c879b92edf (diff)
changes to section E2.2.1 "Header block":
* give capsule definitions of "transitive" as it applies to inheritance and friendship * state explicitly that friendship is transitive (previous this was implied by the wording, but the word "transitive" wasn't actually used) * add some commented-out-in-the-latex notes about what "associative" and "commutative" mean With regard to the last point, Thomas and I looked at this, and came to the conclusion that we don't really know what was meant here. We'll ask Steve to investigate what the actual semantics are, and update the docs to describe this... git-svn-id: http://svn.cactuscode.org/flesh/trunk@4127 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'doc')
-rw-r--r--doc/UsersGuide/Appendices.tex25
1 files changed, 18 insertions, 7 deletions
diff --git a/doc/UsersGuide/Appendices.tex b/doc/UsersGuide/Appendices.tex
index 96f085ee..24804410 100644
--- a/doc/UsersGuide/Appendices.tex
+++ b/doc/UsersGuide/Appendices.tex
@@ -418,14 +418,25 @@ where
\item{} Inheriting from another implementation makes all that implementation's
public variables available to your thorn. At least one thorn
providing any inherited implementation must be present at compile time.
- A thorn cannot inherit from itself. Inheritance is transitive, but not commutative.
+ A thorn cannot inherit from itself. Inheritance is transitive
+ (if $A$ inherits from $B$, and $B$ inherits from $C$, then
+ $A$ also implicitly inherits from $C$),
+ but not commutative.
+% FIXME: Jonathan and Thomas aren't sure if this is true!
+% (if $A$ inherits from $B$, then $B$ can't inherit from $A$)
\item{} Being a friend of another implementation makes all that
- implementation's
- protected variables available to your thorn. At least one thorn
- providing an implementation for each friend must be present at
- compile time. A thorn cannot be its own friend. Friendship is
- associative and commutative. Note that your thorn is also a friend
- of all your thorn's friends' friends.
+ implementation's protected variables available to your thorn.
+ At least one thorn providing an implementation for each friend
+ must be present at compile time.
+ A thorn cannot be its own friend.
+% FIXME: what does "associative" mean here???
+ Friendship is associative,
+ commutative
+% FIXME: Jonathan and Thomas aren't sure whether B *must* be declared this way
+% or is *implicitly* declared this way
+% (if $A$ is a friend of $B$, then $B$ is also a friend of $A$),
+ and transitive (i.e.~if $A$ is a friend of $B$
+ and $B$ is a friend of $C$, then $A$ is implicitly a friend of $C$).
\end{itemize}
\subsection{Include files}