do-list: List construction with do notation

[ bsd3, data, library, list, syntax ] [ Propose Tags ]

Please see README.md


[Skip to Readme]
Versions [faq] 0.8.0, 0.8.1, 0.9.0, 0.9.1, 1.0.0, 1.0.1
Change log changelog.md
Dependencies base (<5), criterion, dlist, do-list [details]
License BSD-3-Clause
Copyright 2016 Taras Serduke
Author Taras Serduke
Maintainer taras.serduke@gmail.com
Category Data, List
Home page https://github.com/tserduke/do-list
Bug tracker https://github.com/tserduke/do-list/issues
Source repo head: git clone https://github.com/tserduke/do-list
Uploaded by TarasSerduke at Wed Sep 7 19:27:09 UTC 2016
Distributions LTSHaskell:1.0.1, NixOS:1.0.1, Stackage:1.0.1
Executables example
Downloads 2149 total (111 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2016-09-07 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for do-list-0.8.1

[back to package description]

do-list

DoList makes it easy to use do notation syntatic sugar for defining list structures.

Example

module Main (main) where

import Criterion.Main
import Data.DoList (DoList, item, toList)

main :: IO ()
main = defaultMain $ toList $ do
  doBench "plus"  $ whnf (2 +) (1 :: Int)
  doBench "minus" $ whnf (2 -) (1 :: Int)

-- Now we can define benchmarks with do notation.
doBench :: String -> Benchmarkable -> DoList Benchmark ()
doBench name = item . bench name