moving plta to plfa
This commit is contained in:
parent
1fdadb8928
commit
cf7a3e630c
24 changed files with 47 additions and 35 deletions
5
Notes.md
5
Notes.md
|
@ -81,6 +81,11 @@ The following comments were collected on the Agda mailing list.
|
||||||
- https://github.com/effectfully/random-stuff/blob/master/Normalization/Liftable.agda
|
- https://github.com/effectfully/random-stuff/blob/master/Normalization/Liftable.agda
|
||||||
+ also cites Abel's habilitation
|
+ also cites Abel's habilitation
|
||||||
- http://www.cse.chalmers.se/~abela/habil.pdf
|
- http://www.cse.chalmers.se/~abela/habil.pdf
|
||||||
|
+ See his note to the Agda mailing list of 26 June,
|
||||||
|
"Typed Jigger in vanilla Agda"
|
||||||
|
It points to the following solution.
|
||||||
|
- https://github.com/effectfully/random-stuff/blob/master/TypedJigger.agda
|
||||||
|
|
||||||
|
|
||||||
* András Kovács <kovacsahun@hotmail.com>
|
* András Kovács <kovacsahun@hotmail.com>
|
||||||
+ applies unary parametricity
|
+ applies unary parametricity
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
title: >
|
title: >
|
||||||
Code the Infinite:
|
Programming Language Foundations in Agda
|
||||||
Programming Languages in Agda
|
|
||||||
|
|
||||||
# the author field should not be used in the template
|
# the author field should not be used in the template
|
||||||
author: Wen Kokke
|
author: Wen Kokke
|
||||||
|
@ -18,7 +17,7 @@ contributors:
|
||||||
twitter_username: philipwadler
|
twitter_username: philipwadler
|
||||||
|
|
||||||
description: >
|
description: >
|
||||||
Programming Languages in Agda.
|
Programming Language Foundations in Agda
|
||||||
|
|
||||||
# include disqus to allow comments e.d.
|
# include disqus to allow comments e.d.
|
||||||
disqus:
|
disqus:
|
||||||
|
|
|
@ -5,7 +5,7 @@ permalink : /Connectives/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Connectives where
|
module plfa.Connectives where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
This chapter introduces the basic logical connectives, by observing a
|
This chapter introduces the basic logical connectives, by observing a
|
|
@ -5,7 +5,7 @@ permalink : /DeBruijn/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.DeBruijn where
|
module plfa.DeBruijn where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
The previous two chapters introduced lambda calculus, with a
|
The previous two chapters introduced lambda calculus, with a
|
|
@ -5,7 +5,7 @@ permalink : /Decidable/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Decidable where
|
module plfa.Decidable where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
We have a choice as to how to represent relations:
|
We have a choice as to how to represent relations:
|
|
@ -5,7 +5,7 @@ permalink : /Equality/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Equality where
|
module plfa.Equality where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
Much of our reasoning has involved equality. Given two terms `M`
|
Much of our reasoning has involved equality. Given two terms `M`
|
|
@ -4,10 +4,6 @@ layout : page
|
||||||
permalink : /Fonts/
|
permalink : /Fonts/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
|
||||||
module plta.Fonts where
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
Test page for fonts. All vertical bars should line up.
|
Test page for fonts. All vertical bars should line up.
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
|
@ -17,7 +13,8 @@ abcdefghijklmnopqrstuvwxyz|
|
||||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ|
|
ABCDEFGHIJKLMNOPQRSTUVWXYZ|
|
||||||
ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖ ʳˢᵗᵘᵛʷˣʸᶻ|
|
ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖ ʳˢᵗᵘᵛʷˣʸᶻ|
|
||||||
ᴬᴮ ᴰᴱ ᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾ ᴿ ᵀᵁⱽᵂ |
|
ᴬᴮ ᴰᴱ ᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾ ᴿ ᵀᵁⱽᵂ |
|
||||||
ₐ ₑ ᵢⱼ ₒ ᵣ ᵤ ₓ |
|
ₐ ₑ ᵢⱼ ₒ ᵣₛₜᵤ ₓ |
|
||||||
|
𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ|
|
||||||
--------------------------|
|
--------------------------|
|
||||||
----------|
|
----------|
|
||||||
0123456789|
|
0123456789|
|
||||||
|
@ -29,23 +26,42 @@ ABCDEFGHIJKLMNOPQRSTUVWXYZ|
|
||||||
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ|
|
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ|
|
||||||
------------------------|
|
------------------------|
|
||||||
----|
|
----|
|
||||||
|
ℕℕℕℕ|
|
||||||
∀∀∃∃|
|
∀∀∃∃|
|
||||||
ƛƛ··|
|
ƛƛ··|
|
||||||
|
′′″″|
|
||||||
|
‴‴⁗⁗|
|
||||||
|
††‡‡|
|
||||||
|
''""|
|
||||||
|
``~~|
|
||||||
≡≡≢≢|
|
≡≡≢≢|
|
||||||
|
≃≃≲≲|
|
||||||
≟≟≐≐|
|
≟≟≐≐|
|
||||||
⟨⟨⟩⟩|
|
⟨⟨⟩⟩|
|
||||||
⌊⌊⌋⌋|
|
⌊⌊⌋⌋|
|
||||||
⌈⌈⌉⌉|
|
⌈⌈⌉⌉|
|
||||||
→→⇒⇒|
|
→→⇒⇒|
|
||||||
←←⇐⇐|
|
←←⇐⇐|
|
||||||
↦↦↠↠|
|
——↠↠|
|
||||||
∈∈∋∋|
|
∈∈∋∋|
|
||||||
⊢⊢⊣⊣|
|
⊢⊢⊣⊣|
|
||||||
|
∷∷∷∷|
|
||||||
|
⦂⦂⦂⦂|
|
||||||
----|
|
----|
|
||||||
-}
|
-}
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
Here are some characters that are not required to be monospaced.
|
Here are some characters that are exactly two spaces wide.
|
||||||
|
\begin{code}
|
||||||
|
{-
|
||||||
|
----|
|
||||||
|
😇😇|
|
||||||
|
😈😈|
|
||||||
|
----|
|
||||||
|
-}
|
||||||
|
\end{code}
|
||||||
|
|
||||||
|
Here are some characters that are not used because they are not monospaced.
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
{-
|
{-
|
|
@ -5,7 +5,7 @@ permalink : /Induction/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Induction where
|
module plfa.Induction where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
> Induction makes you feel guilty for getting something out of nothing
|
> Induction makes you feel guilty for getting something out of nothing
|
|
@ -5,7 +5,7 @@ permalink : /Inference/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Inference where
|
module plfa.Inference where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ permalink : /Isomorphism/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Isomorphism where
|
module plfa.Isomorphism where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
This section introduces isomorphism as a way of asserting that two
|
This section introduces isomorphism as a way of asserting that two
|
|
@ -7,7 +7,7 @@ permalink : /Lambda/
|
||||||
*Todo: Experiment with defining variable names* smart constructor `` ƛ`_⇒_ ``
|
*Todo: Experiment with defining variable names* smart constructor `` ƛ`_⇒_ ``
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Lambda where
|
module plfa.Lambda where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
<!--
|
<!--
|
|
@ -5,7 +5,7 @@ permalink : /Lists/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Lists where
|
module plfa.Lists where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
This chapter discusses the list data type. It gives further examples
|
This chapter discusses the list data type. It gives further examples
|
|
@ -8,7 +8,7 @@ permalink : /Modules/
|
||||||
from the standard library. **
|
from the standard library. **
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Modules where
|
module plfa.Modules where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
This chapter introduces modules as a way of structuring proofs,
|
This chapter introduces modules as a way of structuring proofs,
|
|
@ -5,7 +5,7 @@ permalink : /More/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.More where
|
module plfa.More where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
So far, we have focussed on a relatively minimal language,
|
So far, we have focussed on a relatively minimal language,
|
|
@ -5,7 +5,7 @@ permalink : /Naturals/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Naturals where
|
module plfa.Naturals where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
The night sky holds more stars than I can count, though fewer than five
|
The night sky holds more stars than I can count, though fewer than five
|
|
@ -5,7 +5,7 @@ permalink : /Negation/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Negation where
|
module plfa.Negation where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
This chapter introduces negation, and discusses intuitionistic
|
This chapter introduces negation, and discusses intuitionistic
|
|
@ -4,10 +4,6 @@ layout : page
|
||||||
permalink : /Preface/
|
permalink : /Preface/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
|
||||||
module plta.Preface where
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
The most profound connection between logic and computation is a pun.
|
The most profound connection between logic and computation is a pun.
|
||||||
The doctrine of Propositions as Types asserts that a certain kind of formal
|
The doctrine of Propositions as Types asserts that a certain kind of formal
|
||||||
structure may be read in two ways: either as a proposition in logic or
|
structure may be read in two ways: either as a proposition in logic or
|
|
@ -5,7 +5,7 @@ permalink : /Properties/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Properties where
|
module plfa.Properties where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
[Parts of this chapter take their text from chapter _StlcProp_
|
[Parts of this chapter take their text from chapter _StlcProp_
|
|
@ -5,7 +5,7 @@ permalink : /Quantifiers/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Quantifiers where
|
module plfa.Quantifiers where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
This chapter introduces universal and existential quantification.
|
This chapter introduces universal and existential quantification.
|
|
@ -5,7 +5,7 @@ permalink : /Relations/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Relations where
|
module plfa.Relations where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
After having defined operations such as addition and multiplication,
|
After having defined operations such as addition and multiplication,
|
|
@ -4,10 +4,6 @@ layout : page
|
||||||
permalink : /Statistics/
|
permalink : /Statistics/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
|
||||||
module plta.Statistics where
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
Total number of lines and number of lines of Agda code in each chapter
|
Total number of lines and number of lines of Agda code in each chapter
|
||||||
(as of 2 July 2018).
|
(as of 2 July 2018).
|
||||||
|
|
|
@ -5,7 +5,7 @@ permalink : /Untyped/
|
||||||
---
|
---
|
||||||
|
|
||||||
\begin{code}
|
\begin{code}
|
||||||
module plta.Untyped where
|
module plfa.Untyped where
|
||||||
\end{code}
|
\end{code}
|
||||||
|
|
||||||
This chapter considers a system that varies, in interesting ways,
|
This chapter considers a system that varies, in interesting ways,
|
Loading…
Reference in a new issue