| 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 |