Primitive notions . WAT

WAT

Thoughts

Some necessary ingrediences in the end of the HoTT book. (In an old version, it was around p.44 and at the very end.)

A year ago I asked a relevant related question here

http://cstheory.stackexchange.com/questions/27400/minimal-specification-of-martin-l%C3%B6f-type-theory

Apple pie

Think about what would be a good order of introduction (using WAT) (see Outline). E.g. adding 5+3 would be among the very first things to do. For educational purposes, talking about $\to, \times$ before more intricate concepts is also a good idea. As I thought about before, going bottom (Hands on stuff) to top (abstract minimalistic stuff) with the typey/computational/constructive stuff should be a good idea. Then, for sets and cats, it's the other other way around.

Code

\prod

Stuff that eventually needs to be available

And I mean “Stuff that eventually needs to be available to do basic computation”, otherwise the answer is “everything”.

notions to play around with

$\to$

$\lambda.$

${\mathbb N}$

$0, 1, 2, 3, 4, 5, 6, 7, 8, 9$

$+, *$

todo

  • Basic computational playgrounds like ${\mathbb N}\to{\mathbb N}$ and basic numerical LaTeX expressions should be a first starting point.
  • As it's always easy to translate any syntax to something that's valuable TeX, the first step is to take must-have concepts in Intutionistic type theory and translate them to their LaTeX output.
  • Before I don't know which dependent language(s) I'll map the dependent type aspect into, there is harm in introducing a broader spectrum of Basic notions (e.g. $A\to B$ is $\Pi_{x:A}B(x)$ for $x$-Independent $B$, but I'll want to have $\to$ from the get-go, I don't know the last Thing about how people check if $B$ is free of $x$, etc.)
  • Of course, I'll want a write a fraction-of-LaTeX to WAT parser as well! The issue arising here is the fact that some languages overload their expressions, and the the parser must be intelligent. Even worse, in LaTeX operations like multiplication of numbers are not expressed with a particular syntax ($3\dots 7, 3\ 7, 3*7, \dots$)

Reference


Requirements

WAT

Link to graph
Log In
Improvements of the human condition