1name:          free-examples
2category:      Control, Monads
3version:       0.1
4license:       BSD3
5cabal-version: >= 1.18
6license-file:  LICENSE
7author:        Edward A. Kmett
8maintainer:    Edward A. Kmett <ekmett@gmail.com>
9stability:     provisional
10homepage:      http://github.com/ekmett/free/
11bug-reports:   http://github.com/ekmett/free/issues
12copyright:     Copyright (C) 2008-2015 Edward A. Kmett
13tested-with:   GHC == 7.4.2
14             , GHC == 7.6.3
15             , GHC == 7.8.4
16             , GHC == 7.10.3
17             , GHC == 8.0.2
18             , GHC == 8.2.2
19             , GHC == 8.4.4
20             , GHC == 8.6.5
21             , GHC == 8.8.1
22             , GHC == 8.10.1
23synopsis:      Monads for free
24description:   Examples projects using @free@
25build-type:    Simple
26
27source-repository head
28  type: git
29  location: git://github.com/ekmett/free.git
30
31flag mandelbrot-iter
32  default: True
33  manual:  True
34
35library
36  hs-source-dirs: .
37  default-language: Haskell2010
38  exposed-modules: Cabbage
39  ghc-options: -Wall
40  build-depends:
41    base         == 4.*,
42    free,
43    mtl          >= 2.0.1 && < 2.3,
44    transformers >= 0.2   && < 0.6
45
46-- This example depends on the HGL library which, unfortunately, fails to
47-- compile on GHC 8.4 or later. (See https://github.com/xpika/hgl/issues/3.)
48-- Build at your own risk.
49executable free-mandelbrot-iter
50  if !flag(mandelbrot-iter)
51    buildable: False
52  hs-source-dirs: .
53  default-language: Haskell2010
54  main-is: MandelbrotIter.lhs
55  ghc-options: -Wall
56  build-depends:
57    base == 4.*,
58    free,
59    HGL,
60    mtl          >= 2.0.1 && < 2.3,
61    transformers >= 0.2   && < 0.6
62
63executable free-newton-coiter
64  hs-source-dirs: .
65  default-language: Haskell2010
66  main-is: NewtonCoiter.lhs
67  ghc-options: -Wall
68  build-depends:
69    base    == 4.*,
70    comonad >= 4 && < 6,
71    free
72
73executable free-perf-th
74  hs-source-dirs: .
75  default-language: Haskell2010
76  main-is: PerfTH.hs
77  ghc-options: -Wall
78  build-depends:
79    base         == 4.*,
80    base-compat,
81    fail         == 4.9.*,
82    free,
83    mtl          >= 2.0.1 && < 2.3,
84    rdtsc,
85    transformers >= 0.2   && < 0.6
86
87executable free-retry-th
88  hs-source-dirs: .
89  default-language: Haskell2010
90  main-is: RetryTH.hs
91  ghc-options: -Wall -fno-warn-orphans
92  build-depends:
93    base                == 4.*,
94    base-compat,
95    fail                == 4.9.*,
96    free,
97    transformers        >= 0.2   && < 0.6,
98    transformers-compat >= 0.6.4 && < 0.7
99
100executable free-teletype
101  hs-source-dirs: .
102  default-language: Haskell2010
103  main-is: Teletype.lhs
104  ghc-options: -Wall
105  build-depends:
106    base == 4.*,
107    free,
108    monad-loops
109
110executable free-validation-form
111  hs-source-dirs: .
112  default-language: Haskell2010
113  main-is: ValidationForm.hs
114  ghc-options: -Wall
115  build-depends:
116    base == 4.*,
117    base-compat,
118    free,
119    mtl  >= 2.0.1 && < 2.3
120