WIP: lambda Individuuen

This commit is contained in:
Johannes Merl 2024-02-19 21:56:28 +01:00
parent ba9e3fd86b
commit b6c1c27224
6 changed files with 30 additions and 8 deletions

View File

@ -22,6 +22,7 @@ build-type: Simple
library
build-depends: base
, cassava
, containers
, extra
, MonadRandom
, monad-loops
@ -44,10 +45,12 @@ library
, Seminar
, Pretty
, Szenario191
, LambdaCalculus
executable haga
build-depends: base
, cassava
, containers
, extra
, MonadRandom
, monad-loops
@ -71,10 +74,12 @@ executable haga
, Seminar
, Pretty
, Szenario191
, LambdaCalculus
executable haga-test
build-depends: base
, cassava
, containers
, Cabal
, extra
, MonadRandom
@ -99,3 +104,4 @@ executable haga-test
, Seminar
, Pretty
, Szenario191
, LambdaCalculus

View File

@ -19,7 +19,7 @@
-- In order to use it for a certain problem, basically, you have to make your
-- solution type an instance of 'Individual' and then simply call the 'run'
-- function.
module GA where
module GA ( Environment,new, population, mutate, crossover1,crossover, Evaluator, fitness, Individual, GA.run, tournament, N, R, Population, steps, bests, runTests) where
import Control.Arrow hiding (first, second)
import Data.List.NonEmpty ((<|))

View File

@ -11,8 +11,8 @@ import System.IO
import Szenario191
data Options = Options
{ iterations :: N,
populationSize :: N
{ iterations :: !N,
populationSize :: !N
}
options :: Parser Options

View File

@ -1,13 +1,29 @@
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE NoImplicitPrelude #-}
module Main where
import qualified GA
import Protolude
import qualified Seminar
import qualified LambdaCalculus
import Data.Typeable
import qualified Type.Reflection as Ref
main :: IO ()
main = do
_ <- GA.runTests
_ <- Seminar.runTests
_ <- putStrLn $ ((show (typeRepArgs (Ref.SomeTypeRep (Ref.TypeRep @(Int->Int->Int->Text))))) :: Text)
_ <- putStrLn $ ((show (typeRepArgs (Ref.SomeTypeRep (Ref.TypeRep @(Text))))) :: Text)
_ <- putStrLn (LambdaCalculus.toLambdaExpressionShort LambdaCalculus.testIntToClassCorrect)
_ <- putStrLn $ ((show (LambdaCalculus.res 1)) :: Text)
_ <- putStrLn $ ((show (LambdaCalculus.res 2)) :: Text)
_ <- putStrLn $ ((show (LambdaCalculus.res 3)) :: Text)
return ()

View File

@ -17,7 +17,7 @@
#
# resolver: ./custom-snapshot.yaml
# resolver: https://example.com/snapshots/2023-01-01.yaml
resolver: lts-21.25
resolver: nightly-2024-02-11
# User packages to be built.
# Various formats can be used as shown in the example below.

View File

@ -6,7 +6,7 @@
packages: []
snapshots:
- completed:
sha256: a81fb3877c4f9031e1325eb3935122e608d80715dc16b586eb11ddbff8671ecd
size: 640086
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/25.yaml
original: lts-21.25
sha256: 3693cc17b3c739a22032b7c7bf44aa7ddbeef79311bb9f175e68372f92fc749b
size: 600684
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2024/2/11.yaml
original: nightly-2024-02-11