Line No. | Rev | Author | Line |
---|---|---|---|
1 | 1 | paulosilva | |
2 | {-# LANGUAGE GADTs, EmptyDataDecls #-} | ||
3 | {-# OPTIONS_GHC -Wall #-} | ||
4 | |||
5 | ------------------------------------------------------------------------------- | ||
6 | |||
7 | {- | | ||
8 | Module : Language.Module.Syntax | ||
9 | Description : Representation of the modules used by Galculator. | ||
10 | Copyright : (c) Paulo Silva | ||
11 | License : LGPL | ||
12 | |||
13 | Maintainer : paufil@di.uminho.pt | ||
14 | Stability : experimental | ||
15 | Portability : portable | ||
16 | |||
17 | -} | ||
18 | |||
19 | ------------------------------------------------------------------------------- | ||
20 | |||
21 | module Language.Module.Syntax ( | ||
22 | Module(name,laws,gcs,definitions,Module), | ||
23 | ) where | ||
24 | |||
25 | import Data.Env | ||
26 | import Language.Law.Syntax hiding (name) | ||
27 | import Language.R.Syntax | ||
28 | |||
29 | ------------------------------------------------------------------------------- | ||
30 | |||
31 | data Module = Module { | ||
32 | name :: String, | ||
33 | laws :: Env Law, | ||
34 | gcs :: Env RType, | ||
35 | definitions :: Env RType | ||
36 | } | ||
37 | |||
38 | ------------------------------------------------------------------------------- | ||
39 | |||
40 | instance Show Module where | ||
41 | show m = Language.Module.Syntax.name m ++ show (laws m) ++ show (gcs m) | ||
42 | |||
43 | ------------------------------------------------------------------------------- | ||
44 |