| Safe Haskell | None |
|---|
Main
Description
This module presents a minimalistic example of the usage of HAAP, consisting on testing an HSpec
specification, running several code analysis plugins, providing global feedback with the ranking and
tournament plugins, visualization of solutions with CodeWorld, all connected by a webpage
generated by Hakyll.
- example :: Project
- emptyLi1DB :: Example_DB
- data Example_DB = Example_DB {
- exTourneyDB :: HaapTourneyDB ExPlayer
- lnsTourney :: DBLens (BinaryDB Example_DB) (HaapTourneyDB ExPlayer)
- main :: IO ((), HaapLog)
- exSpec :: HaapSpec
- exRankSpec :: Int -> HaapSpec
- exRankScore :: HaapTestRes -> FloatScore
- exRank :: HaapStack t m => HaapSpecRank t m Int FloatScore
- data ExPlayer = ExPlayer (String, Bool)
- exTourney :: MonadIO m => HaapTourney t m (BinaryDB Example_DB) ExPlayer Link
- codeworldDrawArgs :: CodeWorldArgs
- codeworldGameArgs :: CodeWorldArgs
Documentation
data Example_DB #
Constructors
| Example_DB | |
Fields
| |
Instances
| Generic Example_DB # | |
| Binary Example_DB # | |
| type Rep Example_DB # | |
lnsTourney :: DBLens (BinaryDB Example_DB) (HaapTourneyDB ExPlayer) #
An HAAP script that runs tests with the HSpec plugin, runs several code analysis plugins, generates
feedback with the ranking and tournament plugins, provides visualization with the CodeWorld plugin
and uses the Hakyll plugin to generate a webpage that connects all artifacts.
exRankSpec :: Int -> HaapSpec #
A specification to be used in a ranking, will be run for each group.
exRankScore :: HaapTestRes -> FloatScore #
Calculates a quantitative score from the results of the tests.
exRank :: HaapStack t m => HaapSpecRank t m Int FloatScore #
Builds a global ranking according to the result of exRankSpec for each group, normalized according to exRankScore.
Constructors
| ExPlayer (String, Bool) |
exTourney :: MonadIO m => HaapTourney t m (BinaryDB Example_DB) ExPlayer Link #
codeworldDrawArgs :: CodeWorldArgs #
Arguments for the CodeWorld plugin to draw maps.
codeworldGameArgs :: CodeWorldArgs #
Arguments for the CodeWorld plugin to play a game.