{- |
Copyright Bogdan Penkovsky (c) 2017

= Multiple Expression Programming

-}

module MEP (
  Chromosome (..)
  , Gene
  , Population
  , Phenotype
  , Config (..)
  , defaultConfig
  , LossFunction

  -- * Genetic algorithm
  , initialize
  , evaluateGeneration
  , evolve
  , binaryTournament
  , crossover
  , mutation3
  , smoothMutation
  , newChromosome

  -- * Random
  , Rand
  , newPureMT
  , runRandom
  , evalRandom
  ) where

import System.Random.Mersenne.Pure64 ( newPureMT )

import MEP.Types
import MEP.Operators
import MEP.Run
import MEP.Random