BSD-3-Clause licensed and maintained by Oleg Grenrus
This version can be pinned in stack with:kleene-0.1@sha256:6b8d57c99e33b6473d6382e5f2abe549c97f0fd1dbd79fbf4e047dbe207e3932,2391

Module documentation for 0.1

  • Kleene
    • Kleene.Classes
    • Kleene.DFA
    • Kleene.ERE
    • Kleene.Equiv
    • Kleene.Functor
      • Kleene.Functor.NonEmpty
    • Kleene.Internal
      • Kleene.Internal.Partition
      • Kleene.Internal.Pretty
      • Kleene.Internal.Sets
    • Kleene.Monad
    • Kleene.RE

Kleene algebra

Think: Regular expressions

Implements ideas from Regular-expression derivatives re-examined by Scott Owens, John Reppy and Aaron Turon https://doi.org/10.1017/S0956796808007090

Changes

0.1

  • Drop superclasses from Kleene.
  • Rearrange classes. Introduce CharKleene, FiniteKleene.
  • Add ToLatin1 and ability to match on ByteString.
  • Add Derivate c (DFA c) instance.
  • Add toDot to output DFA to be rendered by graphviz.
  • Add fromRE :: RE c -> ERE c
  • Add nullableProof :: RE c -> Maybe (RE c) which returns non-nullable part of given regular expression.
  • Support/require lattices-2: RE is now a Lattice, M isn’t.