diff -r 5c33c4b52ad7 -r 1d1e795bc3ad ProgTutorial/First_Steps.thy --- a/ProgTutorial/First_Steps.thy Thu Apr 07 00:25:26 2011 +0100 +++ b/ProgTutorial/First_Steps.thy Tue May 17 18:11:21 2011 +0100 @@ -537,22 +537,7 @@ is often used for setup functions inside the \isacommand{setup}-command. These functions have to be of type @{ML_type "theory -> theory"}. More than one such setup function can be composed with - @{ML "#>"}. For example -*} - -setup %gray {* let - val (ival1, setup_ival1) = Attrib.config_int "ival1" (K 1) - val (ival2, setup_ival2) = Attrib.config_int "ival2" (K 2) -in - setup_ival1 #> - setup_ival2 -end *} - -text {* - after this the configuration values @{text ival1} and @{text ival2} are known - in the current theory and can be manipulated by the user (for more information - about configuration values see Section~\ref{sec:storing}, for more about setup - functions see Section~\ref{sec:theories}). + @{ML "#>"}.\footnote{give example} The remaining combinators we describe in this section add convenience for the ``waterfall method'' of writing functions. The combinator @{ML_ind tap in @@ -1308,22 +1293,12 @@ values can be declared by *} -ML{*val (bval, setup_bval) = Attrib.config_bool "bval" (K false) -val (ival, setup_ival) = Attrib.config_int "ival" (K 0) -val (sval, setup_sval) = Attrib.config_string "sval" (K "some string") *} +ML{*val bval = Attrib.setup_config_bool @{binding "bval"} (K false) +val ival = Attrib.setup_config_int @{binding "ival"} (K 0) +val sval = Attrib.setup_config_string @{binding "sval"} (K "some string") *} text {* - where each value needs to be given a default. To enable these values on the - user-level, they need to be set up with -*} - -setup %gray {* - setup_bval #> - setup_ival #> - setup_sval -*} - -text {* + where each value needs to be given a default. The user can now manipulate the values from the user-level of Isabelle with the command *}