bupropion 0.0.9

Fancy error handler implementation for Miette
Documentation
module Ind.

import Prelude.

-- | Defines an natural inductive type, which can be either `Zero`,
-- or it's successor `Succ`, which takes the previous and returns the
-- next natural number.
inductive data Nat where
  Zero : Nat,
  Succ : Nat -> Nat.

-- | Defines a simple sum aritimetic function which sums with church
-- encoding.
+ : Nnat -> Nat -> Nat := \a, b ->
  elim a of
    Zero   => Zero,
    Succ n => Succ (+ n b).

@eval + (Succ Zero) Zero.

@type Succ (Succ Zero).