diff options
| author | Eugen Wissner <belka@caraus.de> | 2025-12-09 16:32:32 +0100 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2025-12-09 16:32:32 +0100 |
| commit | 3624c712d72d246f21d4e710cec7c11e052e0326 (patch) | |
| tree | f385cb51c72a0c5eeb2057609b75f5f8c6c4f272 /Haskell-book/11/Programmer.hs | |
| parent | c95abc31d62e296db4f1b537e3de440dd40defd1 (diff) | |
| download | book-exercises-3624c712d72d246f21d4e710cec7c11e052e0326.tar.gz | |
Add the haskell book
Diffstat (limited to 'Haskell-book/11/Programmer.hs')
| -rw-r--r-- | Haskell-book/11/Programmer.hs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Haskell-book/11/Programmer.hs b/Haskell-book/11/Programmer.hs new file mode 100644 index 0000000..4d27fe0 --- /dev/null +++ b/Haskell-book/11/Programmer.hs @@ -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 } |
