advent2021-0.1.0.0: Advent of Code 2021 Solutions
Copyright(c) Eric Mertens 2021
LicenseISC
Maintaineremertens@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Advent.Memo

Description

Re-exported MemoTrie operations and extended arity memoization.

Synopsis
  • memo4 :: (HasTrie a, HasTrie b, HasTrie c, HasTrie d) => (a -> b -> c -> d -> e) -> a -> b -> c -> d -> e
  • memo5 :: (HasTrie a, HasTrie b, HasTrie c, HasTrie d, HasTrie e) => (a -> b -> c -> d -> e -> f) -> a -> b -> c -> d -> e -> f
  • memo6 :: (HasTrie a, HasTrie b, HasTrie c, HasTrie d, HasTrie e, HasTrie f) => (a -> b -> c -> d -> e -> f -> g) -> a -> b -> c -> d -> e -> f -> g

Documentation

memo4 :: (HasTrie a, HasTrie b, HasTrie c, HasTrie d) => (a -> b -> c -> d -> e) -> a -> b -> c -> d -> e Source #

Memoize a quaternary function on successive arguments. Take care to exploit any partial evaluation.

memo5 :: (HasTrie a, HasTrie b, HasTrie c, HasTrie d, HasTrie e) => (a -> b -> c -> d -> e -> f) -> a -> b -> c -> d -> e -> f Source #

Memoize a quaternary function on successive arguments. Take care to exploit any partial evaluation.

memo6 :: (HasTrie a, HasTrie b, HasTrie c, HasTrie d, HasTrie e, HasTrie f) => (a -> b -> c -> d -> e -> f -> g) -> a -> b -> c -> d -> e -> f -> g Source #

Memoize a quaternary function on successive arguments. Take care to exploit any partial evaluation.