- Getting started with Idris
- An introduction to type-driven development
- The essence of pure functional programming
-
Type-driven development:
- Write a Type to represent the system we are modelling
- Define a function over that type
- Refine the type and definition as necessary to capture any missing properties, or to help ensure totality
-
two distinct features:
- In Idris, types are a first-class language construct. A first-class language construct is one for which there are no syntactic restrictions on where or how it can be used.
- Idris functions themselves can contain holes. A function with a hole is incomplete. Only a value of an appropriate type will fit into the hole.
-
Type has type Type 1, then Type 1 has type Type 2, and so on.
- id
- append
- tail
- index