blob: b78df1fa17233aed6766d0c181dbb8eb0894fc54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE StandaloneDeriving #-}
module T15398 where
newtype Radius a = Radius a deriving (Eq, Ord)
data CourseLine
data OpenDistance
data EndOfSpeedSection
data Zone k a where
Point :: (Eq a, Ord a) => Zone CourseLine a
Vector :: (Eq a, Ord a) => Zone OpenDistance a
Conical :: (Eq a, Ord a) => Radius a -> Zone EndOfSpeedSection a
deriving instance Eq a => Eq (Zone k a)
deriving instance (Eq a, Ord a) => Ord (Zone k a)
|