WIP: lambda Individuuen
This commit is contained in:
parent
ba9e3fd86b
commit
b6c1c27224
|
@ -22,6 +22,7 @@ build-type: Simple
|
||||||
library
|
library
|
||||||
build-depends: base
|
build-depends: base
|
||||||
, cassava
|
, cassava
|
||||||
|
, containers
|
||||||
, extra
|
, extra
|
||||||
, MonadRandom
|
, MonadRandom
|
||||||
, monad-loops
|
, monad-loops
|
||||||
|
@ -44,10 +45,12 @@ library
|
||||||
, Seminar
|
, Seminar
|
||||||
, Pretty
|
, Pretty
|
||||||
, Szenario191
|
, Szenario191
|
||||||
|
, LambdaCalculus
|
||||||
|
|
||||||
executable haga
|
executable haga
|
||||||
build-depends: base
|
build-depends: base
|
||||||
, cassava
|
, cassava
|
||||||
|
, containers
|
||||||
, extra
|
, extra
|
||||||
, MonadRandom
|
, MonadRandom
|
||||||
, monad-loops
|
, monad-loops
|
||||||
|
@ -71,10 +74,12 @@ executable haga
|
||||||
, Seminar
|
, Seminar
|
||||||
, Pretty
|
, Pretty
|
||||||
, Szenario191
|
, Szenario191
|
||||||
|
, LambdaCalculus
|
||||||
|
|
||||||
executable haga-test
|
executable haga-test
|
||||||
build-depends: base
|
build-depends: base
|
||||||
, cassava
|
, cassava
|
||||||
|
, containers
|
||||||
, Cabal
|
, Cabal
|
||||||
, extra
|
, extra
|
||||||
, MonadRandom
|
, MonadRandom
|
||||||
|
@ -99,3 +104,4 @@ executable haga-test
|
||||||
, Seminar
|
, Seminar
|
||||||
, Pretty
|
, Pretty
|
||||||
, Szenario191
|
, Szenario191
|
||||||
|
, LambdaCalculus
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
-- In order to use it for a certain problem, basically, you have to make your
|
-- 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'
|
-- solution type an instance of 'Individual' and then simply call the 'run'
|
||||||
-- function.
|
-- 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 Control.Arrow hiding (first, second)
|
||||||
import Data.List.NonEmpty ((<|))
|
import Data.List.NonEmpty ((<|))
|
||||||
|
|
|
@ -11,8 +11,8 @@ import System.IO
|
||||||
import Szenario191
|
import Szenario191
|
||||||
|
|
||||||
data Options = Options
|
data Options = Options
|
||||||
{ iterations :: N,
|
{ iterations :: !N,
|
||||||
populationSize :: N
|
populationSize :: !N
|
||||||
}
|
}
|
||||||
|
|
||||||
options :: Parser Options
|
options :: Parser Options
|
||||||
|
|
16
src/Test.hs
16
src/Test.hs
|
@ -1,13 +1,29 @@
|
||||||
{-# LANGUAGE NoImplicitPrelude #-}
|
{-# LANGUAGE NoImplicitPrelude #-}
|
||||||
|
{-# LANGUAGE GADTs #-}
|
||||||
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||||
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE ScopedTypeVariables #-}
|
||||||
|
{-# LANGUAGE Trustworthy #-}
|
||||||
|
{-# LANGUAGE TypeApplications #-}
|
||||||
|
{-# LANGUAGE NoImplicitPrelude #-}
|
||||||
|
|
||||||
module Main where
|
module Main where
|
||||||
|
|
||||||
import qualified GA
|
import qualified GA
|
||||||
import Protolude
|
import Protolude
|
||||||
import qualified Seminar
|
import qualified Seminar
|
||||||
|
import qualified LambdaCalculus
|
||||||
|
import Data.Typeable
|
||||||
|
import qualified Type.Reflection as Ref
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
_ <- GA.runTests
|
_ <- GA.runTests
|
||||||
_ <- Seminar.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 ()
|
return ()
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#
|
#
|
||||||
# resolver: ./custom-snapshot.yaml
|
# resolver: ./custom-snapshot.yaml
|
||||||
# resolver: https://example.com/snapshots/2023-01-01.yaml
|
# resolver: https://example.com/snapshots/2023-01-01.yaml
|
||||||
resolver: lts-21.25
|
resolver: nightly-2024-02-11
|
||||||
|
|
||||||
# User packages to be built.
|
# User packages to be built.
|
||||||
# Various formats can be used as shown in the example below.
|
# Various formats can be used as shown in the example below.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
packages: []
|
packages: []
|
||||||
snapshots:
|
snapshots:
|
||||||
- completed:
|
- completed:
|
||||||
sha256: a81fb3877c4f9031e1325eb3935122e608d80715dc16b586eb11ddbff8671ecd
|
sha256: 3693cc17b3c739a22032b7c7bf44aa7ddbeef79311bb9f175e68372f92fc749b
|
||||||
size: 640086
|
size: 600684
|
||||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/25.yaml
|
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2024/2/11.yaml
|
||||||
original: lts-21.25
|
original: nightly-2024-02-11
|
||||||
|
|
Loading…
Reference in New Issue
Block a user