packages feed

fused-effects-1.0.2.0: benchmark/Bench/NonDet.hs

{-# LANGUAGE TypeApplications #-}
module Bench.NonDet
( benchmark
) where

import qualified Bench.NonDet.NQueens as NQueens
import           Control.Algebra
import qualified Control.Carrier.NonDet.Church as NonDet.Church
import           Gauge hiding (benchmark)

benchmark :: Gauge.Benchmark
benchmark = bgroup "NonDet"
  [ bgroup "N-queens problem"
    [ NQueens.benchmark "NonDet.Church" (run . NonDet.Church.runNonDetA)
    , NQueens.benchmark "[]"            (id @[_])
    ]
  ]