author blanchet Mon, 15 Sep 2014 11:54:47 +0200 changeset 58339 f6af48bd7c04 parent 58338 d109244b89aa child 58340 5f6f48e87de6
more hints on how to port 'size'
--- a/src/Doc/Datatypes/Datatypes.thy	Mon Sep 15 11:37:55 2014 +0200
+++ b/src/Doc/Datatypes/Datatypes.thy	Mon Sep 15 11:54:47 2014 +0200
@@ -1069,6 +1069,10 @@
The new function returns @{text 1} instead of @{text 0} for some nonrecursive
constructors. This departure from the old behavior made it possible to implement
@{const size} in terms of the parameterized function @{text "t.size_t"}.
+Moreover, the new function considers nested occurrences of a value, in the nested
+recursive case. The old behavior can be obtained by disabling the @{text size}
+plugin (Section~\ref{sec:controlling-plugins}) and instantiating the
+@{text size} type class manually.

\item \emph{The internal constructions are completely different.} Proof texts
that unfold the definition of constants introduced by \keyw{old_datatype} will