UnusedArguments.agda 771 B

1234567891011121314151617181920212223242526
  1. {-# OPTIONS -v treeless.opt:20 -v treeless.opt.unused:30 #-}
  2. module _ where
  3. open import Common.Prelude
  4. -- First four arguments are unused.
  5. maybe : ∀ {a b} {A : Set a} {B : Set b} → B → (A → B) → Maybe A → B
  6. maybe z f nothing = z
  7. maybe z f (just x) = f x
  8. mapMaybe : ∀ {a b} {A : Set a} {B : Set b} → (A → B) → Maybe A → Maybe B
  9. mapMaybe f x = maybe nothing (λ y → just (f y)) x
  10. maybeToNat : Maybe Nat → Nat
  11. maybeToNat m = maybe 0 (λ x → x) m
  12. foldr : {A B : Set} → (A → B → B) → B → List A → B
  13. foldr f z [] = z
  14. foldr f z (x ∷ xs) = f x (foldr f z xs)
  15. main : IO Unit
  16. main = printNat (maybeToNat (just 42))
  17. ,, printNat (maybeToNat (mapMaybe (10 +_) (just 42)))
  18. ,, printNat (foldr _+_ 0 (1 ∷ 2 ∷ 3 ∷ 4 ∷ []))