Add the haskell book
This commit is contained in:
40
Haskell-book/11/Programmer.hs
Normal file
40
Haskell-book/11/Programmer.hs
Normal file
@@ -0,0 +1,40 @@
|
||||
module Programmer where
|
||||
|
||||
data OperatingSystem = GnuPlusLinux
|
||||
| OpenBSDPlusNevermindJustBSDStill
|
||||
| Mac
|
||||
| Windows
|
||||
deriving (Eq, Show)
|
||||
|
||||
data ProgLang = Haskell
|
||||
| Agda
|
||||
| Idris
|
||||
| PureScript
|
||||
deriving (Eq, Show)
|
||||
|
||||
data Programmer = Programmer { os :: OperatingSystem
|
||||
, lang :: ProgLang }
|
||||
deriving (Eq, Show)
|
||||
|
||||
allOperatingSystems :: [OperatingSystem]
|
||||
allOperatingSystems =
|
||||
[ GnuPlusLinux
|
||||
, OpenBSDPlusNevermindJustBSDStill
|
||||
, Mac
|
||||
, Windows
|
||||
]
|
||||
|
||||
allLanguages :: [ProgLang]
|
||||
allLanguages =
|
||||
[ Haskell
|
||||
, Agda
|
||||
, Idris
|
||||
, PureScript
|
||||
]
|
||||
|
||||
allProgrammers :: [Programmer]
|
||||
allProgrammers = do
|
||||
o <- allOperatingSystems
|
||||
l <- allLanguages
|
||||
return Programmer { os = o
|
||||
, lang = l }
|
||||
Reference in New Issue
Block a user