From 3624c712d72d246f21d4e710cec7c11e052e0326 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Tue, 9 Dec 2025 16:32:32 +0100 Subject: Add the haskell book --- Haskell-book/11/Programmer.hs | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Haskell-book/11/Programmer.hs (limited to 'Haskell-book/11/Programmer.hs') 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 } -- cgit v1.2.3