, - . - diameter , . ,
diameter :: Circle -> Integer
diameter (Circle _ _ r) = 2 * r
.
, , Circle ( Rect ):
data Figure = RectFigure Rect
| CircleFigure Circle
| CombiFigure Figure Figure
deriving (Eq, Show, Read)
data Rect = Rect { rectX :: Integer, rectY :: Integer, rectWidth :: Integer, height :: Integer}
deriving (Eq, Show, Read)
data Circle = Circle { circleX :: Integer, circleY :: Integer, circleRadius :: Integer}
deriving (Eq, Show, Read)
, : , , Figure , , Figure s.
, Figure, diameter, a CircleFigure, .
: undefined ( ), , . , , . , Maybe/Either.