O ile zrozumiałem stworzenie np. takich typów:
data Color = Red|Green|Yellow
lub
type Para a = (a,a)
type Boole = Para Bool
to zupełnie nie mam pojęcia o co chodzi w czymś takim:
data MyType = MyType (Int -> Bool)
lub
newtype Radius = Radius Double
data Diameter = Diameter Double
Jest ktoś w stanie mi wyjaśnić dlaczego po słowie kluczowym data pojawia się nazwa typu, a następnie po znaku równości znowu pojawia się ta sama nazwa? Nie wspominając już o tym Int -> Double, tego w ogóle nie rozumiem.
dodałem <code>
- msm