Commit 69d15854 authored by Adam Chlipala's avatar Adam Chlipala

Remove Part IV

parent 6d5b22fd
...@@ -2,7 +2,7 @@ MODULES_NODOC := CpdtTactics MoreSpecif DepList ...@@ -2,7 +2,7 @@ MODULES_NODOC := CpdtTactics MoreSpecif DepList
MODULES_PROSE := Intro MODULES_PROSE := Intro
MODULES_CODE := StackMachine InductiveTypes Predicates Coinductive Subset \ MODULES_CODE := StackMachine InductiveTypes Predicates Coinductive Subset \
MoreDep DataStruct Equality Generic Universes LogicProg Match Reflection \ MoreDep DataStruct Equality Generic Universes LogicProg Match Reflection \
Large Firstorder DeBruijn Hoas Interps Extensional Intensional OpSem Large
MODULES_DOC := $(MODULES_PROSE) $(MODULES_CODE) MODULES_DOC := $(MODULES_PROSE) $(MODULES_CODE)
MODULES := $(MODULES_NODOC) $(MODULES_DOC) MODULES := $(MODULES_NODOC) $(MODULES_DOC)
VS := $(MODULES:%=src/%.v) VS := $(MODULES:%=src/%.v)
......
...@@ -50,13 +50,6 @@ The license text is available at: ...@@ -50,13 +50,6 @@ The license text is available at:
\include{Match.v} \include{Match.v}
\include{Reflection.v} \include{Reflection.v}
\include{Large.v} \include{Large.v}
\include{Firstorder.v}
\include{DeBruijn.v}
\include{Hoas.v}
\include{Interps.v}
\include{Extensional.v}
\include{Intensional.v}
\include{OpSem.v}
\clearpage \clearpage
\addcontentsline{toc}{chapter}{Bibliography} \addcontentsline{toc}{chapter}{Bibliography}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -137,7 +137,7 @@ If I do that job well, then this book should be of interest even to people who h ...@@ -137,7 +137,7 @@ If I do that job well, then this book should be of interest even to people who h
(** (**
I try to keep the required background knowledge to a minimum in this book. I will assume familiarity with the material from usual discrete math and logic courses taken by undergraduate computer science majors, and I will assume that readers have significant experience programming in one of the ML dialects, in Haskell, or in some other, closely related language. Experience with only dynamically typed functional languages might lead to befuddlement in some places, but a reader who has come to understand Scheme deeply will probably be fine. I try to keep the required background knowledge to a minimum in this book. I will assume familiarity with the material from usual discrete math and logic courses taken by undergraduate computer science majors, and I will assume that readers have significant experience programming in one of the ML dialects, in Haskell, or in some other, closely related language. Experience with only dynamically typed functional languages might lead to befuddlement in some places, but a reader who has come to understand Scheme deeply will probably be fine.
Part IV of this manuscript is about formalizing programming languages and compilers. That part certainly depends on basic knowledge of formal type systems, operational semantics, and the theorems usually proved about such systems. As a reference on these topics, I recommend %\emph{%#<i>#Types and Programming Languages#</i>#%}~\cite{TAPL}%, by Benjamin C. Pierce. However, my current plan is to break Part IV into a separate, online-only document, since I expect the formalization interests of many readers of the book to lie outside of programming languages. I do often use examples from programming languages in the earlier parts of the book, but I have tried to design them to be comprehensible on the basis of ML or Haskell experience alone. My background is in programming languages, formal semantics, and program verification. I sometimes use examples from that domain, As a reference on these topics, I recommend %\emph{%#<i>#Types and Programming Languages#</i>#%}~\cite{TAPL}%, by Benjamin C. Pierce; however, I have tried to choose examples so that they may be understood without background in semantics.
*) *)
...@@ -245,20 +245,6 @@ Proof by Reflection & \texttt{Reflection.v} \\ ...@@ -245,20 +245,6 @@ Proof by Reflection & \texttt{Reflection.v} \\
\hline \hline
Proving in the Large & \texttt{Large.v} \\ Proving in the Large & \texttt{Large.v} \\
\hline \hline
First-Order Abstract Syntax & \texttt{Firstorder.v} \\
\hline
Dependent De Bruijn Indices & \texttt{DeBruijn.v} \\
\hline
Higher-Order Abstract Syntax & \texttt{Hoas.v} \\
\hline
Type-Theoretic Interpreters & \texttt{Interps.v} \\
\hline
Extensional Transformations & \texttt{Extensional.v} \\
\hline
Intensional Transformations & \texttt{Intensional.v} \\
\hline
Higher-Order Operational Semantics & \texttt{OpSem.v} \\
\hline
\end{tabular} \end{center} \end{tabular} \end{center}
% *) % *)
This diff is collapsed.
...@@ -19,12 +19,5 @@ ...@@ -19,12 +19,5 @@
<li><a href="Match.html">Proof Search in Ltac</a> <li><a href="Match.html">Proof Search in Ltac</a>
<li><a href="Reflection.html">Proof by Reflection</a> <li><a href="Reflection.html">Proof by Reflection</a>
<li><a href="Large.html">Proving in the Large</a> <li><a href="Large.html">Proving in the Large</a>
<li><a href="Firstorder.html">First-Order Abstract Syntax</a>
<li><a href="DeBruijn.html">Dependent De Bruijn Indices</a>
<li><a href="Hoas.html">Higher-Order Abstract Syntax</a>
<li><a href="Interps.html">Type-Theoretic Interpreters</a>
<li><a href="Extensional.html">Extensional Transformations</a>
<li><a href="Intensional.html">Intensional Transformations</a>
<li><a href="OpSem.html">Higher-Order Operational Semantics</a>
</body></html> </body></html>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<p>The main omissions have to do with some supporting resources that I didn't get around to implementing when I used this book for a course. Some suggested exercises are present, but only at points where I was looking to assign an exercise in the course. Some chapters are lacking the annotations used to build reduced versions of their source code, where some definitions and proofs have been elided; the course instructor can step through such a file, guiding class participants in filling in the omitted code.</p> <p>The main omissions have to do with some supporting resources that I didn't get around to implementing when I used this book for a course. Some suggested exercises are present, but only at points where I was looking to assign an exercise in the course. Some chapters are lacking the annotations used to build reduced versions of their source code, where some definitions and proofs have been elided; the course instructor can step through such a file, guiding class participants in filling in the omitted code.</p>
<p>My current tentative plan is to separate out the final part, on programming languages and compilers, into a distinct, online-only document, but I might be persuaded otherwise.</p> <p>Previous versions included a final Part on programming language semantics in particular. I have decided to separate that part out. I plan to put it up as a supplementary resource eventually; for now it is simply removed. (It remains present in the <a href="repo">Mercurial</a> history.)</p>
</div> </div>
</body></html> </body></html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment