summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail062.hs
blob: f37dc1e556506d334d5bc5345285366f56b372ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-- !!! bug report from Satnam
--
module ShouldFail
where

type Module = (String,[Declaration])

data Declaration
  = Architecture String StructuralExpression |
    Behaviour String Parameter Parameter BehaviouralExpression
    deriving (Eq, Show)

data Parameter = ParameterVariable String | ParameterList [Parameter]
                 deriving (Eq, Show)

nameOfModule :: Module -> String
nameOfModule (name, _) = name

data StructuralExpression 
  = Variable String |
    Serial StructuralExpression StructuralExpression | 
    Par [StructuralExpression] 
    deriving (Eq, Show)

data BehaviouralExpression
  = BehaviouralVariable String 
    | AndExpr BehaviouralExpression BehaviouralExpression
    | OrExpr BehaviouralExpression BehaviouralExpression
    | NotExpr BehaviouralExpression
    deriving (Eq, Show)


type BehaviouralRelation
  = (behaviouralExpression, behaviouralExpression)
---- ^ typo ----------------^ typo (but so what?)

type BehaviouralRelationList = [BehaviouralRelation]