]> Git — Sourcephile - haskell/literate-web.git/blob - tests/Utils.hs
init
[haskell/literate-web.git] / tests / Utils.hs
1 {-# LANGUAGE UndecidableInstances #-}
2
3 module Utils where
4
5 import Relude
6
7 -- import Symantic qualified as Sym
8
9 -- import Examples.Ex02 qualified as Ex02
10
11 -- import Literate.Web
12
13 {-
14 -- | Gather symantics used by the tests
15 -- to instantiate multiple interpreters
16 -- on the same quantified 'repr'.
17 class
18 ( Sym.Inferable Ex02.Tag (Sym.Reader Ex02.Model repr)
19 , Sym.IsoFunctor repr
20 , Sym.Optionable repr
21 , Sym.ProductFunctor repr
22 , -- , Sym.Repeatable repr
23 Sym.SumFunctor repr
24 , -- , Endable repr
25 Slugable repr
26 -- , Capturable repr
27 -- , Fileable repr
28 ) =>
29 Testable model repr
30
31 instance
32 ( Sym.Inferable Ex02.Tag (Sym.Reader Ex02.Model repr)
33 , Sym.IsoFunctor repr
34 , Sym.Optionable repr
35 , Sym.ProductFunctor repr
36 , -- , Sym.Repeatable repr
37 Sym.SumFunctor repr
38 , --, Endable repr
39 Slugable repr
40 -- , Capturable repr
41 -- , Fileable repr
42 ) =>
43 Testable model repr
44 -}
45
46 ol :: [a] -> [(Int, a)]
47 ol = zip [1 ..]