packages feed

Agda-2.3.2.2: examples/outdated-and-incorrect/syntax/ModuleA.agda

-- This module is used to illustrate how to import a non-parameterised module.
module examples.syntax.ModuleA where

  data Nat : Set where
    zero  : Nat
    suc   : Nat -> Nat
    plus  : Nat -> Nat -> Nat

  eval : Nat -> Nat
  eval zero		    = zero
  eval (suc x)		    = suc (eval x)
  eval (plus zero y)	    = eval y
  eval (plus (suc x) y)	    = suc (eval (plus x y))
  eval (plus (plus x y) z)  = eval (plus x (plus y z))