### Update "typesafe interpreter" article to new math delimiters

Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
parent 15beddf96b
commit 1df315612a
1 changed files with 9 additions and 9 deletions

#### 18 content/blog/typesafe_interpreter_revisited.md View File

 @ -130,16 +130,16 @@ to values of the types. To get settled into this idea, let's look at a few 'well-known' examples:   * (A,B), the tuple of two types A and B is equivalent to the proposition \$$A \land B\$$, which means \$$A\$$ and \$$B\$$. Intuitively, to provide a proof of \$$A \land B\$$, we have to provide the proofs of \$$A\$$ and \$$B\$$. proposition $$A \land B$$, which means $$A$$ and $$B$$. Intuitively, to provide a proof of $$A \land B$$, we have to provide the proofs of $$A$$ and $$B$$. * Either A B, which contains one of A or B, is equivalent to the proposition \$$A \lor B\$$, which means \$$A\$$ or \$$B\$$. Intuitively, to provide a proof that either \$$A\$$ or \$$B\$$ to the proposition $$A \lor B$$, which means $$A$$ or $$B$$. Intuitively, to provide a proof that either $$A$$ or $$B$$ is true, we need to provide one of them. * A -> B, the type of a function from A to B, is equivalent to the proposition \$$A \rightarrow B\$$, which reads \$$A\$$ implies \$$B\$$. We can think of a function A -> B as creating to the proposition $$A \rightarrow B$$, which reads $$A$$ implies $$B$$. We can think of a function A -> B as creating a proof of B given a proof of A.    Now, consider Idris' unit type (): @ -150,7 +150,7 @@ data () = ()   This type takes no arguments, and there's only one way to construct it. We can create a value of type () at any time, by just writing (). This type is equivalent to \$$\\text{true}\$$: only one proof of it exists, This type is equivalent to $$\text{true}$$: only one proof of it exists, and it requires no premises. It just is.   Consider also the type Void, which too is present in Idris: @ -163,7 +163,7 @@ data Void = -- Nothing The type Void has no constructors: it's impossible to create a value of this type, and therefore, it's  impossible to create a proof of Void. Thus, as you may have guessed, Void is equivalent to \$$\\text{false}\$$. is equivalent to $$\text{false}$$.   Finally, we get to a more complicated example: