--- a/CookBook/FirstSteps.thy Tue Jan 27 21:22:27 2009 +0000
+++ b/CookBook/FirstSteps.thy Wed Jan 28 06:29:16 2009 +0000
@@ -381,6 +381,8 @@
number representing their sum.
\end{exercise}
+
+ (FIXME: operation from page 19 of the implementation manual)
*}
section {* Type-Checking *}
@@ -429,6 +431,8 @@
result that type-checks.
\end{exercise}
+ (FIXME: @{text "ctyp_of"})
+
*}
section {* Theorems *}
@@ -503,6 +507,8 @@
text {*
@{ML_response [display] "Sign.base_name \"List.list.Nil\"" "\"Nil\""}
+
+ authentic syntax
*}
@@ -531,7 +537,7 @@
text {*
@{ML K} ``wraps'' a function around the argument @{text "x"}. However, this
- function ignores its argument. So @{ML K} defines a constant function
+ function ignores its argument. As a result @{ML K} defines a constant function
returning @{text x}.
The next combinator is reverse application, @{ML "|>"}, defined as
@@ -585,7 +591,7 @@
(FIXME: give a real world example involving theories)
Similarly, the combinator @{ML "#>"} is the reverse function
- composition. It can be used to define functions as follows
+ composition. It can be used to define the following function
*}
ML{*val inc_by_six =
@@ -660,11 +666,11 @@
|-> (fn x => fn y => x + y)*}
text {*
- Recall that @{ML "|>"} is the reverse function applications. The related
- reverse function composition is @{ML "#>"}. In fact all combinators @{ML "|->"},
+ Recall that @{ML "|>"} is the reverse function applications. Recall also that the related
+ reverse function composition is @{ML "#>"}. In fact all the combinators @{ML "|->"},
@{ML "|>>"} and @{ML "||>"} described above have related combinators for function
- composition, namely @{ML "#->"}, @{ML "#>>"} and @{ML "##>"}. Using @{ML "|->"},
- the function @{text double} can also be written as
+ composition, namely @{ML "#->"}, @{ML "#>>"} and @{ML "##>"}. Using @{ML "#->"},
+ for example, the function @{text double} can also be written as
*}
ML{*val double =
--- a/CookBook/Parsing.thy Tue Jan 27 21:22:27 2009 +0000
+++ b/CookBook/Parsing.thy Wed Jan 28 06:29:16 2009 +0000
@@ -584,7 +584,7 @@
The option @{text "-k foobar"} indicates which postfix the name of the keyword file
will be assigned. In the case above the file will be named @{text
- "isar-keywords-foobar.el"}. As can be seen, this command requires log files to be
+ "isar-keywords-foobar.el"}. This command requires log files to be
present (in order to extract the keywords from them). To generate these log
files, we first package the code above into a separate theory file named
@{text "Command.thy"}, say---see Figure~\ref{fig:commandtheory} for the
@@ -683,9 +683,9 @@
$ISABELLE_LOGS/{Pure.gz,HOL.gz,Pure-ProofGeneral.gz,HOL-FoobarCommand.gz}"}
The result is the file @{text "isar-keywords-foobar.el"}. It should contain
- the string @{text "foobar"} twice (to see whether things went wrong, check
+ the string @{text "foobar"} twice.\footnote{To see whether things are fine, check
that @{text "grep foobar"} on this file returns something
- non-empty). This keyword file needs to
+ non-empty.} This keyword file needs to
be copied into the directory @{text "~/.isabelle/etc"}. To make Isabelle
aware of this keyword file, we have to start Isabelle with the option @{text
"-k foobar"}, i.e.
@@ -740,7 +740,7 @@
\isacommand{definition} and \isacommand{declare}. In other cases,
commands are expected to parse some arguments, for example a proposition,
and then ``open up'' a proof in order to prove the proposition (for example
- \isacommand{lemma}) or prove some other properties (for example in
+ \isacommand{lemma}) or prove some other properties (for example
\isacommand{function}). To achieve this kind of behaviour, we have to use the kind
indicator @{ML thy_goal in OuterKeyword}.
@@ -767,7 +767,7 @@
end *}
text {*
- The function @{text set_up_thm} takes a string (the proposition to be
+ The function @{text set_up_thm} in Lines 2 to 7 takes a string (the proposition to be
proved) and a context. The context is necessary in order to be able to use
@{ML Syntax.read_prop}, which converts a string into a proper proposition.
In Line 6 the function @{ML Proof.theorem_i} starts the proof for the
@@ -794,6 +794,8 @@
\isacommand{done}
\end{isabelle}
+ Similarly for the other function composition combinators.
+
(FIXME What does @{text "Toplevel.theory"} @{text "Toplevel.print"}?)
Binary file cookbook.pdf has changed