Aufgabe_4, Aufgabe_5, Aufgabe_6

This commit is contained in:
WickedJack99
2024-01-13 09:46:15 +01:00
parent 7dee7d0eb2
commit e5432cb30d
199 changed files with 5356 additions and 0 deletions

31
Aufgabe_4/.hlint.yaml Executable file
View File

@@ -0,0 +1,31 @@
# HLint configuration file
# https://github.com/ndmitchell/hlint
# Ignore some builtin hints
- ignore: {name: "Avoid lambda using `infix`"}
- ignore: {name: "Avoid lambda"}
- ignore: {name: "Eta reduce"}
- ignore: {name: "Move brackets to avoid $"}
- ignore: {name: "Reduce duplication" }
- ignore: {name: "Redundant $!" }
- ignore: {name: "Redundant bracket"}
- ignore: {name: "Redundant do"}
- ignore: {name: "Redundant pure"}
- ignore: {name: "Redundant return"}
- ignore: {name: "Replace case with maybe"}
- ignore: {name: "Use $>" }
- ignore: {name: "Use <$>"}
- ignore: {name: "Use camelCase" }
- ignore: {name: "Use const"}
- ignore: {name: "Use fmap" }
- ignore: {name: "Use foldr"}
- ignore: {name: "Use guards"}
- ignore: {name: "Use if"}
- ignore: {name: "Use list comprehension"}
- ignore: {name: "Use maybe"}
- ignore: {name: "Use newtype instead of data"}
- ignore: {name: "Use notElem"}
- ignore: {name: "Use second" }
- ignore: {name: "Use section" }
- ignore: {name: "Use tuple-section"}
- ignore: {name: "Use uncurry" }

View File

@@ -0,0 +1,74 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_ap04 (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch
version :: Version
version = Version [0,1] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
dir <- getDataDir
return (dir `joinFileName` name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/bin"
libdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7/ap04-0.1-IBNuKk2558H4gTI6OCsam-ex01"
dynlibdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7"
datadir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/share/x86_64-linux-ghc-9.4.7/ap04-0.1"
libexecdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/libexec/x86_64-linux-ghc-9.4.7/ap04-0.1"
sysconfdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/etc"
getBinDir = catchIO (getEnv "ap04_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "ap04_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "ap04_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "ap04_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "ap04_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "ap04_sysconfdir") (\_ -> return sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName "" fname = fname
joinFileName "." fname = fname
joinFileName dir "" = dir
joinFileName dir fname
| isPathSeparator (List.last dir) = dir ++ fname
| otherwise = dir ++ pathSeparator : fname
pathSeparator :: Char
pathSeparator = '/'
isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'

View File

@@ -0,0 +1,180 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap04-0.1 */
#ifndef VERSION_ap04
#define VERSION_ap04 "0.1"
#endif /* VERSION_ap04 */
#ifndef MIN_VERSION_ap04
#define MIN_VERSION_ap04(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap04 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package directory-1.3.7.1 */
#ifndef VERSION_directory
#define VERSION_directory "1.3.7.1"
#endif /* VERSION_directory */
#ifndef MIN_VERSION_directory
#define MIN_VERSION_directory(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 3 || \
(major1) == 1 && (major2) == 3 && (minor) <= 7)
#endif /* MIN_VERSION_directory */
/* package filepath-1.4.2.2 */
#ifndef VERSION_filepath
#define VERSION_filepath "1.4.2.2"
#endif /* VERSION_filepath */
#ifndef MIN_VERSION_filepath
#define MIN_VERSION_filepath(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 4 || \
(major1) == 1 && (major2) == 4 && (minor) <= 2)
#endif /* MIN_VERSION_filepath */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap04-0.1-IBNuKk2558H4gTI6OCsam-ex01"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */

Binary file not shown.

View File

@@ -0,0 +1,74 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_ap04 (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch
version :: Version
version = Version [0,1] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
dir <- getDataDir
return (dir `joinFileName` name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/bin"
libdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7/ap04-0.1-A6vpXkJForv73N3yFCnv7V-ex02"
dynlibdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7"
datadir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/share/x86_64-linux-ghc-9.4.7/ap04-0.1"
libexecdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/libexec/x86_64-linux-ghc-9.4.7/ap04-0.1"
sysconfdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/etc"
getBinDir = catchIO (getEnv "ap04_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "ap04_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "ap04_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "ap04_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "ap04_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "ap04_sysconfdir") (\_ -> return sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName "" fname = fname
joinFileName "." fname = fname
joinFileName dir "" = dir
joinFileName dir fname
| isPathSeparator (List.last dir) = dir ++ fname
| otherwise = dir ++ pathSeparator : fname
pathSeparator :: Char
pathSeparator = '/'
isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'

View File

@@ -0,0 +1,180 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap04-0.1 */
#ifndef VERSION_ap04
#define VERSION_ap04 "0.1"
#endif /* VERSION_ap04 */
#ifndef MIN_VERSION_ap04
#define MIN_VERSION_ap04(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap04 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package directory-1.3.7.1 */
#ifndef VERSION_directory
#define VERSION_directory "1.3.7.1"
#endif /* VERSION_directory */
#ifndef MIN_VERSION_directory
#define MIN_VERSION_directory(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 3 || \
(major1) == 1 && (major2) == 3 && (minor) <= 7)
#endif /* MIN_VERSION_directory */
/* package filepath-1.4.2.2 */
#ifndef VERSION_filepath
#define VERSION_filepath "1.4.2.2"
#endif /* VERSION_filepath */
#ifndef MIN_VERSION_filepath
#define MIN_VERSION_filepath(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 4 || \
(major1) == 1 && (major2) == 4 && (minor) <= 2)
#endif /* MIN_VERSION_filepath */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap04-0.1-A6vpXkJForv73N3yFCnv7V-ex02"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */

Binary file not shown.

View File

@@ -0,0 +1,74 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_ap04 (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch
version :: Version
version = Version [0,1] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
dir <- getDataDir
return (dir `joinFileName` name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/bin"
libdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7/ap04-0.1-A6vpXkJForv73N3yFCnv7V-ttt"
dynlibdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7"
datadir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/share/x86_64-linux-ghc-9.4.7/ap04-0.1"
libexecdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/libexec/x86_64-linux-ghc-9.4.7/ap04-0.1"
sysconfdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/etc"
getBinDir = catchIO (getEnv "ap04_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "ap04_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "ap04_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "ap04_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "ap04_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "ap04_sysconfdir") (\_ -> return sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName "" fname = fname
joinFileName "." fname = fname
joinFileName dir "" = dir
joinFileName dir fname
| isPathSeparator (List.last dir) = dir ++ fname
| otherwise = dir ++ pathSeparator : fname
pathSeparator :: Char
pathSeparator = '/'
isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'

View File

@@ -0,0 +1,180 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap04-0.1 */
#ifndef VERSION_ap04
#define VERSION_ap04 "0.1"
#endif /* VERSION_ap04 */
#ifndef MIN_VERSION_ap04
#define MIN_VERSION_ap04(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap04 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package directory-1.3.7.1 */
#ifndef VERSION_directory
#define VERSION_directory "1.3.7.1"
#endif /* VERSION_directory */
#ifndef MIN_VERSION_directory
#define MIN_VERSION_directory(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 3 || \
(major1) == 1 && (major2) == 3 && (minor) <= 7)
#endif /* MIN_VERSION_directory */
/* package filepath-1.4.2.2 */
#ifndef VERSION_filepath
#define VERSION_filepath "1.4.2.2"
#endif /* VERSION_filepath */
#ifndef MIN_VERSION_filepath
#define MIN_VERSION_filepath(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 4 || \
(major1) == 1 && (major2) == 4 && (minor) <= 2)
#endif /* MIN_VERSION_filepath */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap04-0.1-A6vpXkJForv73N3yFCnv7V-ttt"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,8 @@
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ap04.cabal:
hash: 9dcc93674c295629c3948fac212c93e81f13cc28902150e772e7664928f7f94b
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ex02/Main.hs:
hash: 77eb05e491337ea6939a84df6e700414c27e4ee7f765bf1702e52a3076b2de1d
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ex02/TicTacToe.hs:
hash: b7e91288538a7b4887bd4034d7ad218444bcd7e2f39eee47421d4c7ce145ddab
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/package.yaml:
hash: a7004df7a0bcbb43586eb77ec7cfc635e3cdb1e07b3904b7b06bf12a8d2beb39

View File

@@ -0,0 +1,8 @@
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ap04.cabal:
hash: 9dcc93674c295629c3948fac212c93e81f13cc28902150e772e7664928f7f94b
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ex01/Files.hs:
hash: 0fa99fc2af0e1e859c25b781009cbc31c0f137ba8306c06d09f251a949218b03
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ex01/Main.hs:
hash: 269f45a919b6b86c3850a5a128199b3b21d02048aa32f5f61ce17dc750043173
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/package.yaml:
hash: a7004df7a0bcbb43586eb77ec7cfc635e3cdb1e07b3904b7b06bf12a8d2beb39

View File

@@ -0,0 +1,8 @@
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ap04.cabal:
hash: 9dcc93674c295629c3948fac212c93e81f13cc28902150e772e7664928f7f94b
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ex02/MainTests.hs:
hash: affc1d41e8275ad63f262399d66d906af1ae3fdc1ffd9fb380b5a3b8c3d2744e
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/ex02/TicTacToe.hs:
hash: 2986ee9da2eac8a8744605e2773baf5ff93ed28f9309ec9b88c78916429a359b
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/package.yaml:
hash: a7004df7a0bcbb43586eb77ec7cfc635e3cdb1e07b3904b7b06bf12a8d2beb39

View File

@@ -0,0 +1 @@
Just used for its modification time

View File

@@ -0,0 +1 @@
/home/student/Documents/Anwendungsentwicklung/Aufgabe_4/

View File

@@ -0,0 +1 @@
Just used for its modification time

View File

@@ -0,0 +1 @@
success

View File

@@ -0,0 +1,183 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap04-0.1 */
#ifndef VERSION_ap04
#define VERSION_ap04 "0.1"
#endif /* VERSION_ap04 */
#ifndef MIN_VERSION_ap04
#define MIN_VERSION_ap04(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap04 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package directory-1.3.7.1 */
#ifndef VERSION_directory
#define VERSION_directory "1.3.7.1"
#endif /* VERSION_directory */
#ifndef MIN_VERSION_directory
#define MIN_VERSION_directory(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 3 || \
(major1) == 1 && (major2) == 3 && (minor) <= 7)
#endif /* MIN_VERSION_directory */
/* package filepath-1.4.2.2 */
#ifndef VERSION_filepath
#define VERSION_filepath "1.4.2.2"
#endif /* VERSION_filepath */
#ifndef MIN_VERSION_filepath
#define MIN_VERSION_filepath(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 4 || \
(major1) == 1 && (major2) == 4 && (minor) <= 2)
#endif /* MIN_VERSION_filepath */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap04-0.1-IBNuKk2558H4gTI6OCsam-ex01"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */
#undef CURRENT_PACKAGE_KEY
#undef CURRENT_COMPONENT_ID

View File

@@ -0,0 +1,183 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap04-0.1 */
#ifndef VERSION_ap04
#define VERSION_ap04 "0.1"
#endif /* VERSION_ap04 */
#ifndef MIN_VERSION_ap04
#define MIN_VERSION_ap04(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap04 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package directory-1.3.7.1 */
#ifndef VERSION_directory
#define VERSION_directory "1.3.7.1"
#endif /* VERSION_directory */
#ifndef MIN_VERSION_directory
#define MIN_VERSION_directory(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 3 || \
(major1) == 1 && (major2) == 3 && (minor) <= 7)
#endif /* MIN_VERSION_directory */
/* package filepath-1.4.2.2 */
#ifndef VERSION_filepath
#define VERSION_filepath "1.4.2.2"
#endif /* VERSION_filepath */
#ifndef MIN_VERSION_filepath
#define MIN_VERSION_filepath(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 4 || \
(major1) == 1 && (major2) == 4 && (minor) <= 2)
#endif /* MIN_VERSION_filepath */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap04-0.1-BP9EpaORhmkHoZEBAMsBA5-ttt"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */
#undef CURRENT_PACKAGE_KEY
#undef CURRENT_COMPONENT_ID

View File

@@ -0,0 +1,183 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap04-0.1 */
#ifndef VERSION_ap04
#define VERSION_ap04 "0.1"
#endif /* VERSION_ap04 */
#ifndef MIN_VERSION_ap04
#define MIN_VERSION_ap04(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap04 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package directory-1.3.7.1 */
#ifndef VERSION_directory
#define VERSION_directory "1.3.7.1"
#endif /* VERSION_directory */
#ifndef MIN_VERSION_directory
#define MIN_VERSION_directory(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 3 || \
(major1) == 1 && (major2) == 3 && (minor) <= 7)
#endif /* MIN_VERSION_directory */
/* package filepath-1.4.2.2 */
#ifndef VERSION_filepath
#define VERSION_filepath "1.4.2.2"
#endif /* VERSION_filepath */
#ifndef MIN_VERSION_filepath
#define MIN_VERSION_filepath(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 4 || \
(major1) == 1 && (major2) == 4 && (minor) <= 2)
#endif /* MIN_VERSION_filepath */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap04-0.1-A6vpXkJForv73N3yFCnv7V-ttt"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */
#undef CURRENT_PACKAGE_KEY
#undef CURRENT_COMPONENT_ID

Binary file not shown.

3
Aufgabe_4/.vscode/settings.json vendored Executable file
View File

@@ -0,0 +1,3 @@
{
"haskell.plugin.hlint.codeActionsOn": false
}

BIN
Aufgabe_4/04-real-world.pdf Normal file

Binary file not shown.

96
Aufgabe_4/ap04.cabal Normal file
View File

@@ -0,0 +1,96 @@
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.35.2.
--
-- see: https://github.com/sol/hpack
name: ap04
version: 0.1
synopsis: ap04
license: BSD3
build-type: Simple
flag test-mode
description: By default, do not run instructor tests
manual: True
default: False
executable ttt
main-is: Main.hs
other-modules:
TicTacToe
hs-source-dirs:
ex02
default-extensions:
ScopedTypeVariables
ghc-options: -Werror -W -fwarn-unused-imports -fwarn-unused-binds -fwarn-orphans -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind -fwarn-missing-signatures -fno-warn-partial-type-signatures -Wredundant-constraints
build-depends:
HUnit
, base
, directory
, filepath
, text
default-language: Haskell2010
if flag(test-mode)
build-depends:
bytestring
, directory
, filepath
, haskell-src-meta
, main-tester
, template-haskell
else
test-suite ex01
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
Files
hs-source-dirs:
ex01
default-extensions:
ScopedTypeVariables
ghc-options: -Werror -W -fwarn-unused-imports -fwarn-unused-binds -fwarn-orphans -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind -fwarn-missing-signatures -fno-warn-partial-type-signatures -Wredundant-constraints
build-depends:
HUnit
, base
, directory
, filepath
, text
default-language: Haskell2010
if flag(test-mode)
build-depends:
bytestring
, directory
, filepath
, haskell-src-meta
, main-tester
, template-haskell
else
test-suite ex02
type: exitcode-stdio-1.0
main-is: MainTests.hs
other-modules:
TicTacToe
hs-source-dirs:
ex02
default-extensions:
ScopedTypeVariables
ghc-options: -Werror -W -fwarn-unused-imports -fwarn-unused-binds -fwarn-orphans -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind -fwarn-missing-signatures -fno-warn-partial-type-signatures -Wredundant-constraints
build-depends:
HUnit
, base
, directory
, filepath
, text
default-language: Haskell2010
if flag(test-mode)
build-depends:
bytestring
, directory
, filepath
, haskell-src-meta
, main-tester
, template-haskell
else

BIN
Aufgabe_4/blatt-04.pdf Normal file

Binary file not shown.

100
Aufgabe_4/ex01/Files.hs Executable file
View File

@@ -0,0 +1,100 @@
module Files where
import Test.HUnit ( assertEqual, Test(..) )
import System.IO ( withFile, IOMode(ReadMode) )
import qualified Data.Text as T
import qualified Data.Text.IO as T
import Data.Text(isInfixOf)
import System.Directory (doesFileExist, doesDirectoryExist, listDirectory)
allTests :: Test
allTests = TestList [
TestLabel "testFileContains" testFileContains,
TestLabel "testContainsRecursively" testContainsRecursively
]
-------------------------------------------------
-- Aufgabe 1 (a)
-------------------------------------------------
fileContains :: FilePath -> T.Text -> IO Bool
fileContains filePath textToSearch = do
fileExists <- doesFileExist filePath
if not fileExists
then pure False
else do
content <- withFile filePath ReadMode (\handle -> T.hGetContents handle)
pure (textToSearch `isInfixOf` content)
---------- ---------------------------------------
-- Aufgabe 1 (a) Test
-------------------------------------------------
testFileContains :: Test
testFileContains = TestCase $ do
containsTest1 <- (fileContains "sample-dir/1.txt" (T.pack "fun to lose"))
assertEqual "test1" True containsTest1
containsTest2 <- (fileContains "sample-dir/2.txt" (T.pack "entertain us"))
assertEqual "test2" True containsTest2
containsTest3 <- (fileContains "sample-dir/2.txt" (T.pack "entertain yourself"))
assertEqual "test3" False containsTest3
-------------------------------------------------
-- Aufgabe 1 (b)
-------------------------------------------------
--listDirectory :: FilePath -> IO [FilePath]
containsRecursively :: FilePath -> T.Text -> IO Bool
containsRecursively filePath textToSearchFor = do
thisIsDirectory <- doesDirectoryExist filePath
if thisIsDirectory
then do
-- Current file path is directory so get all sub directories and files in it.
subDirectories <- listDirectory filePath
case subDirectories of
[] -> pure False
(first:rest) -> do
firstIsDirectory <- doesDirectoryExist (filePath ++ "/" ++ first)
if firstIsDirectory
-- If first is directory go deeper into left directory tree of first directory.
-- After that go into right part trees and search their left branches and right
-- part trees recursively.
then do
containsRec <- containsRecursively (filePath ++ "/" ++ first) textToSearchFor
iterateLi <- iterateList filePath rest textToSearchFor
if containsRec || iterateLi
then pure True
else pure False
else do
-- If first is a file, search file for textToSearchFor.
fileContainsTextInFirst <- fileContains (filePath ++ "/" ++ first) textToSearchFor
if fileContainsTextInFirst
then pure True
-- Iterate through the rest of sub directories.
else do
iterateList filePath rest textToSearchFor
-- Current file path is a file so search for textToSearchFor.
else fileContains filePath textToSearchFor
iterateList :: FilePath -> [FilePath] -> T.Text -> IO Bool
iterateList mainDirectory subDirectories textToSearchFor =
case subDirectories of
[] -> pure False
(first:rest) -> do
firstContainsTextRecursively <- containsRecursively (mainDirectory ++ "/" ++ first) textToSearchFor
if firstContainsTextRecursively
then pure True
else iterateList mainDirectory rest textToSearchFor
-------------------------------------------------
-- Aufgabe 1 (b) Test
-------------------------------------------------
testContainsRecursively :: Test
testContainsRecursively = TestCase $ do
containsTest1 <- (containsRecursively "sample-dir" (T.pack "fun to lose"))
assertEqual "test1" True containsTest1
containsTest2 <- (containsRecursively "sample-dir" (T.pack "entertain us"))
assertEqual "test2" True containsTest2
containsTest3 <- (containsRecursively "sample-dir" (T.pack "hello, hello"))
assertEqual "test3" True containsTest3

7
Aufgabe_4/ex01/Main.hs Executable file
View File

@@ -0,0 +1,7 @@
module Main where
import Test.HUnit
import Files (allTests)
main :: IO ()
main = runTestTTAndExit allTests

6
Aufgabe_4/ex02/Main.hs Executable file
View File

@@ -0,0 +1,6 @@
module Main where
import TicTacToe
main :: IO ()
main = fullGame

7
Aufgabe_4/ex02/MainTests.hs Executable file
View File

@@ -0,0 +1,7 @@
module Main where
import Test.HUnit
import TicTacToe (allTests)
main :: IO ()
main = runTestTTAndExit allTests

294
Aufgabe_4/ex02/TicTacToe.hs Executable file
View File

@@ -0,0 +1,294 @@
{-# LANGUAGE BlockArguments #-}
module TicTacToe where
import Test.HUnit
import Data.Maybe (isNothing, fromMaybe, isJust)
import Data.Char (digitToInt, intToDigit)
import GHC.Unicode (isDigit)
allTests :: Test
allTests = TestList [
testGameFull,
testCheckWinner,
testPlacePlayer,
testGameToString
]
data Player = PlayerX | PlayerO
deriving (Eq, Show)
data Mark = X | O | E
deriving (Eq, Show)
type Game = [[Mark]]
-------------------------------------------------
-- Aufgabe 2 (a)
-------------------------------------------------
gameFull :: Game -> Bool
gameFull game =
case game of
[[]] -> False
[firstColumn, secondColumn, thirdColumn] ->
columnFull firstColumn
&& columnFull secondColumn
&& columnFull thirdColumn
_ -> False
columnFull :: [Mark] -> Bool
columnFull column =
case column of
[first, second, third] -> (first /= E) && (second /= E) && (third /= E)
_ -> False
-------------------------------------------------
-- Aufgabe 2 (a) Test
-------------------------------------------------
testGameFull:: Test
testGameFull = TestCase $ do
assertEqual "test1" False (gameFull [[O, X, O],[O, O, O],[X, X, E]])
assertEqual "test2" True (gameFull [[O, X, O],[O, O, O],[X, X, X]])
assertEqual "test3" False (gameFull [[O, X, O],[O, E, O],[X, X, O]])
-------------------------------------------------
-- Aufgabe 2 (b)
-------------------------------------------------
checkWinner :: Game -> Maybe Player
checkWinner game =
case game of
[firstColumn, secondColumn, thirdColumn] ->
let
winner1 = checkWinnerVertical firstColumn
winner2 = checkWinnerVertical secondColumn
winner3 = checkWinnerVertical thirdColumn
winner4 = checkWinnerHorizontal (mapRow game 0)
winner5 = checkWinnerHorizontal (mapRow game 1)
winner6 = checkWinnerHorizontal (mapRow game 2)
winner7 = checkWinnerDiagonal game
resultList = [winner1, winner2, winner3, winner4, winner5, winner6, winner7]
in
getMaybeWinnerFromPlayerList resultList
_ -> Nothing
-- Checks list of maybe player if containing a player, returns first
-- element which is a player.
getMaybeWinnerFromPlayerList :: [Maybe Player] -> Maybe Player
getMaybeWinnerFromPlayerList players =
case players of
[] -> Nothing
(first:rest) ->
if isNothing first
then getMaybeWinnerFromPlayerList rest
else first
-- Maps given mark to player.
mapMarkToPlayer :: Mark -> Maybe Player
mapMarkToPlayer mark =
case mark of
X -> Just PlayerX
O -> Just PlayerO
E -> Nothing
-- Checks given row for winner.
checkWinnerHorizontal :: [Mark] -> Maybe Player
checkWinnerHorizontal row =
case row of
[first, second, third] ->
if first == second && second == third
then
mapMarkToPlayer first
else Nothing
_ -> Nothing
-- Checks given column for winner.
checkWinnerVertical :: [Mark] -> Maybe Player
checkWinnerVertical column =
checkWinnerHorizontal column
-- Takes game and returns list containing elements
-- from one row, indicated by rowID.
mapRow :: Game -> Int -> [Mark]
mapRow game rowID =
case rowID of
0 -> (\[[first, _, _], [second, _, _], [third, _, _]] -> [first,second,third]) game
1 -> (\[[_, first, _], [_, second, _], [_, third, _]] -> [first,second,third]) game
2 -> (\[[_, _, first], [_, _, second], [_, _, third]] -> [first,second,third]) game
_ -> []
-- Checks both diagonals for winner.
checkWinnerDiagonal :: Game -> Maybe Player
checkWinnerDiagonal game =
case game of
[[topLeftCorner, _, bottomLeftCorner],[_, middle, _],[topRightCorner, _, bottomRightCorner]] ->
if topLeftCorner == middle && middle == bottomRightCorner
then mapMarkToPlayer topLeftCorner
else if topRightCorner == middle && middle == bottomLeftCorner
then mapMarkToPlayer topRightCorner
else Nothing
_ -> Nothing
-------------------------------------------------
-- Aufgabe 2 (b) Test
-------------------------------------------------
testCheckWinner:: Test
testCheckWinner = TestCase $ do
assertEqual "test column" (Just PlayerO) (checkWinner [[O, O, O],[E, E, E],[X, X, E]])
assertEqual "test row" (Just PlayerO) (checkWinner [[O, E, E],[O, E, E],[O, E, E]])
assertEqual "test empty game" Nothing (checkWinner [[E, E, E],[E, E, E],[E, E, E]])
assertEqual "test DiagonalTopLeft to BottomRight" (Just PlayerX) (checkWinner [[X, E, E],[E, X, E],[E, E, X]])
assertEqual "test DiagonalBottomLeft to TopRight" (Just PlayerX) (checkWinner [[E, E, X],[E, X, E],[X, E, E]])
-------------------------------------------------
-- Aufgabe 2 (c)
-------------------------------------------------
placePlayer :: Game -> (Int, Int) -> Player -> Maybe Game
placePlayer game (x, y) player =
let [firstColumn, secondColumn, thirdColumn] = game
in
case x of
0 -> let newFirstColumn = set y (mapPlayerToMark player) firstColumn
in if isNothing newFirstColumn
then Nothing
else Just [fromMaybe [] newFirstColumn, secondColumn, thirdColumn]
1 -> let newSecondColumn = set y (mapPlayerToMark player) secondColumn
in if isNothing newSecondColumn
then Nothing
else Just [firstColumn, fromMaybe [] newSecondColumn, thirdColumn]
2 -> let newThirdColumn = set y (mapPlayerToMark player) thirdColumn
in if isNothing newThirdColumn
then Nothing
else Just [firstColumn, secondColumn, fromMaybe [] newThirdColumn]
_ -> Nothing
-- Maps player to mark.
mapPlayerToMark :: Player -> Mark
mapPlayerToMark player =
case player of
PlayerO -> O
PlayerX -> X
-- Sets given y position at column to mark,
-- if given position is empty and the index
-- of y is valid.
-- Returns given column, if invalid, and
-- mutated column if valid.
set :: Int -> Mark -> [Mark] -> Maybe [Mark]
set yPosition mark column =
case column of
[first, second, third] ->
case yPosition of
0 -> if first /= E
then Nothing
else Just [mark, second, third]
1 -> if second /= E
then Nothing
else Just [first, mark, third]
2 -> if third /= E
then Nothing
else Just [first, second, mark]
_ -> Nothing
_ -> Nothing
-------------------------------------------------
-- Aufgabe 2 (c) Test
-------------------------------------------------
testPlacePlayer:: Test
testPlacePlayer = TestCase $ do
assertEqual "test place player O on empty field" (Just [[O, E, E],[E, E, E],[E, E, E]]) (placePlayer [[E, E, E],[E, E, E],[E, E, E]] (0,0) PlayerO)
assertEqual "test place player X on empty field" (Just [[X, E, E],[E, E, E],[E, E, E]]) (placePlayer [[E, E, E],[E, E, E],[E, E, E]] (0,0) PlayerX)
assertEqual "test place player O on X occupied field" Nothing (placePlayer [[X, E, E],[E, E, E],[E, E, E]] (0,0) PlayerO)
assertEqual "test place player X on O occupied field" Nothing (placePlayer [[O, E, E],[E, E, E],[E, E, E]] (0,0) PlayerX)
assertEqual "test place player invalid x index" Nothing (placePlayer [[X, E, E],[E, E, E],[E, E, E]] (3,0) PlayerO)
assertEqual "test place player invalid y index" Nothing (placePlayer [[O, E, E],[E, E, E],[E, E, E]] (0,3) PlayerX)
-------------------------------------------------
-- Aufgabe 2 (d)
-------------------------------------------------
gameToString :: Game -> String
gameToString game =
let [firstRow, secondRow, thirdRow] = game
in let
[e1, e2, e3] = firstRow
[e4, e5, e6] = secondRow
[e7, e8, e9] = thirdRow
in "| " ++ [markToChar e1] ++ " | " ++ [markToChar e2] ++ " | " ++ [markToChar e3] ++ " |\n"
++ "| " ++ [markToChar e4] ++ " | " ++ [markToChar e5] ++ " | " ++ [markToChar e6] ++ " |\n"
++ "| " ++ [markToChar e7] ++ " | " ++ [markToChar e8] ++ " | " ++ [markToChar e9] ++ " |\n"
markToChar :: Mark -> Char
markToChar mark =
case mark of
O -> 'o'
X -> 'x'
E -> '-'
-------------------------------------------------
-- Aufgabe 2 (d) Test
-------------------------------------------------
testGameToString:: Test
testGameToString = TestCase $ do
assertEqual "test print empty game" "| - | - | - |\n| - | - | - |\n| - | - | - |\n" (gameToString [[E, E, E],[E, E, E],[E, E, E]])
assertEqual "test print filled game" "| o | x | o |\n| o | o | o |\n| o | x | o |\n" (gameToString [[O, X, O],[O, O, O],[O, X, O]])
-------------------------------------------------
-- Aufgabe 2 (e)
-------------------------------------------------
getMove :: Player -> IO (Int, Int)
getMove player = do
putStrLn ("Eingabe " ++ show player ++ " in der Form Zeile,Spalte:")
input <- getLine
if input /= ""
then
let (x,y) = getXYCoordinate input
in if x > -1 && x < 3 && y > -1 && y < 3
then pure (x,y)
else do
putStrLn ("Fehler in der Eingabe von " ++ show player ++ " bitte gebe die Koordinaten erneut ein.")
getMove player
else do
putStrLn ("Fehler in der Eingabe von " ++ show player ++ " bitte gebe die Koordinaten erneut ein.")
getMove player
getXYCoordinate :: String -> (Int,Int)
getXYCoordinate input =
case input of
[x,comma,y] ->
if isDigit x && comma == ',' && isDigit y
then (digitToInt x, digitToInt y)
else (-1,-1)
_ -> (-1,-1)
-------------------------------------------------
-- Aufgabe 2 (f)
-------------------------------------------------
halfMove :: Game -> Player -> IO (Maybe Game)
halfMove game player = do
putStr(gameToString game)
move <- getMove player
let
nextGame = placePlayer game move player
in
if isJust nextGame
then
if isJust (checkWinner (fromMaybe game nextGame))
|| gameFull (fromMaybe game nextGame)
then pure Nothing
else pure nextGame
else halfMove game player
-------------------------------------------------
-- Aufgabe 2 (g)
-------------------------------------------------
fullGame :: IO ()
fullGame =
fullGameWithTurn 1 emptyGame
fullGameWithTurn :: Int -> Game -> IO()
fullGameWithTurn turn game = do
putStrLn("Zug " ++ [intToDigit turn])
gameO <- halfMove game PlayerO
gameX <- halfMove (fromMaybe emptyGame gameO) PlayerX
fullGameWithTurn (turn+1) (fromMaybe emptyGame gameX)
emptyGame :: Game
emptyGame = [[E,E,E],[E,E,E],[E,E,E]]

57
Aufgabe_4/package.yaml Executable file
View File

@@ -0,0 +1,57 @@
name: ap04
version: 0.1
synopsis: ap04
license: BSD3
dependencies:
- base
- HUnit
- text
- directory
- filepath
executables:
ttt:
main: Main.hs
other-modules: TicTacToe
source-dirs: ex02
tests:
ex01:
main: Main.hs
other-modules: Files
source-dirs: ex01
ex02:
main: MainTests.hs
other-modules: TicTacToe
source-dirs: ex02
ghc-options:
- -Werror -W -fwarn-unused-imports -fwarn-unused-binds -fwarn-orphans
- -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind
- -fwarn-missing-signatures -fno-warn-partial-type-signatures
- -Wredundant-constraints
default-extensions:
- ScopedTypeVariables
# Setup for running tests in praktomat
flags:
test-mode:
description: "By default, do not run instructor tests"
manual: true
default: false
when:
- condition: flag(test-mode)
then:
dependencies:
- template-haskell
- haskell-src-meta
- filepath
- bytestring
- directory
- main-tester
else:
dependencies: []

4
Aufgabe_4/sample-dir/1.txt Executable file
View File

@@ -0,0 +1,4 @@
Load up on guns, bring your friends
It's fun to lose and to pretend
She's over-bored and self-assured
Oh no, I know a dirty word

6
Aufgabe_4/sample-dir/2.txt Executable file
View File

@@ -0,0 +1,6 @@
With the lights out, it's less dangerous
Here we are now, entertain us
I feel stupid and contagious
Here we are now, entertain us
A mulatto, an albino, a mosquito, my libido
Yeah, hey

4
Aufgabe_4/sample-dir/A/3.txt Executable file
View File

@@ -0,0 +1,4 @@
I'm worse at what I do best
And for this gift I feel blessed
Our little group has always been
And always will until the end

4
Aufgabe_4/sample-dir/A/C/4.txt Executable file
View File

@@ -0,0 +1,4 @@
And I forget just why I taste
Oh yeah, I guess it makes me smile
I found it hard, was hard to find
Oh well, whatever, never mind

4
Aufgabe_4/sample-dir/B/5.txt Executable file
View File

@@ -0,0 +1,4 @@
Hello, hello, hello, how low
Hello, hello, hello, how low
Hello, hello, hello, how low
Hello, hello, hello

3
Aufgabe_4/stack.yaml Executable file
View File

@@ -0,0 +1,3 @@
resolver: lts-21.14
packages:
- .

12
Aufgabe_4/stack.yaml.lock Normal file
View File

@@ -0,0 +1,12 @@
# This file was autogenerated by Stack.
# You should not edit this file by hand.
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files
packages: []
snapshots:
- completed:
sha256: 60e54c1ba3c1e7163acf6dafa9d56b2d3b23f88a31ad53a1c9d888f32561f8da
size: 639819
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/14.yaml
original: lts-21.14

BIN
Aufgabe_5/05-monads.pdf Normal file

Binary file not shown.

BIN
Aufgabe_5/blatt-05.pdf Normal file

Binary file not shown.

BIN
Aufgabe_5/code(1).zip Normal file

Binary file not shown.

31
Aufgabe_5/code/.hlint.yaml Executable file
View File

@@ -0,0 +1,31 @@
# HLint configuration file
# https://github.com/ndmitchell/hlint
# Ignore some builtin hints
- ignore: {name: "Avoid lambda using `infix`"}
- ignore: {name: "Avoid lambda"}
- ignore: {name: "Eta reduce"}
- ignore: {name: "Move brackets to avoid $"}
- ignore: {name: "Reduce duplication" }
- ignore: {name: "Redundant $!" }
- ignore: {name: "Redundant bracket"}
- ignore: {name: "Redundant do"}
- ignore: {name: "Redundant pure"}
- ignore: {name: "Redundant return"}
- ignore: {name: "Replace case with maybe"}
- ignore: {name: "Use $>" }
- ignore: {name: "Use <$>"}
- ignore: {name: "Use camelCase" }
- ignore: {name: "Use const"}
- ignore: {name: "Use fmap" }
- ignore: {name: "Use foldr"}
- ignore: {name: "Use guards"}
- ignore: {name: "Use if"}
- ignore: {name: "Use list comprehension"}
- ignore: {name: "Use maybe"}
- ignore: {name: "Use newtype instead of data"}
- ignore: {name: "Use notElem"}
- ignore: {name: "Use second" }
- ignore: {name: "Use section" }
- ignore: {name: "Use tuple-section"}
- ignore: {name: "Use uncurry" }

View File

@@ -0,0 +1,74 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_ap05 (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch
version :: Version
version = Version [0,1] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
dir <- getDataDir
return (dir `joinFileName` name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/bin"
libdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7/ap05-0.1-1WN5bfNZMxCBk9rV3xcl3T-ex01"
dynlibdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7"
datadir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/share/x86_64-linux-ghc-9.4.7/ap05-0.1"
libexecdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/libexec/x86_64-linux-ghc-9.4.7/ap05-0.1"
sysconfdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/etc"
getBinDir = catchIO (getEnv "ap05_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "ap05_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "ap05_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "ap05_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "ap05_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "ap05_sysconfdir") (\_ -> return sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName "" fname = fname
joinFileName "." fname = fname
joinFileName dir "" = dir
joinFileName dir fname
| isPathSeparator (List.last dir) = dir ++ fname
| otherwise = dir ++ pathSeparator : fname
pathSeparator :: Char
pathSeparator = '/'
isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'

View File

@@ -0,0 +1,170 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap05-0.1 */
#ifndef VERSION_ap05
#define VERSION_ap05 "0.1"
#endif /* VERSION_ap05 */
#ifndef MIN_VERSION_ap05
#define MIN_VERSION_ap05(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap05 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package mtl-2.2.2 */
#ifndef VERSION_mtl
#define VERSION_mtl "2.2.2"
#endif /* VERSION_mtl */
#ifndef MIN_VERSION_mtl
#define MIN_VERSION_mtl(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 2 || \
(major1) == 2 && (major2) == 2 && (minor) <= 2)
#endif /* MIN_VERSION_mtl */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap05-0.1-1WN5bfNZMxCBk9rV3xcl3T-ex01"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */

View File

@@ -0,0 +1,74 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_ap05 (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch
version :: Version
version = Version [0,1] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
dir <- getDataDir
return (dir `joinFileName` name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/bin"
libdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7/ap05-0.1-95SecnZIX6WJ1hjkoNBMel-ex02"
dynlibdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7"
datadir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/share/x86_64-linux-ghc-9.4.7/ap05-0.1"
libexecdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/libexec/x86_64-linux-ghc-9.4.7/ap05-0.1"
sysconfdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/etc"
getBinDir = catchIO (getEnv "ap05_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "ap05_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "ap05_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "ap05_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "ap05_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "ap05_sysconfdir") (\_ -> return sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName "" fname = fname
joinFileName "." fname = fname
joinFileName dir "" = dir
joinFileName dir fname
| isPathSeparator (List.last dir) = dir ++ fname
| otherwise = dir ++ pathSeparator : fname
pathSeparator :: Char
pathSeparator = '/'
isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'

View File

@@ -0,0 +1,170 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap05-0.1 */
#ifndef VERSION_ap05
#define VERSION_ap05 "0.1"
#endif /* VERSION_ap05 */
#ifndef MIN_VERSION_ap05
#define MIN_VERSION_ap05(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap05 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package mtl-2.2.2 */
#ifndef VERSION_mtl
#define VERSION_mtl "2.2.2"
#endif /* VERSION_mtl */
#ifndef MIN_VERSION_mtl
#define MIN_VERSION_mtl(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 2 || \
(major1) == 2 && (major2) == 2 && (minor) <= 2)
#endif /* MIN_VERSION_mtl */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap05-0.1-95SecnZIX6WJ1hjkoNBMel-ex02"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */

View File

@@ -0,0 +1,74 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
{-# OPTIONS_GHC -w #-}
module Paths_ap05 (
version,
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
getDataFileName, getSysconfDir
) where
import qualified Control.Exception as Exception
import qualified Data.List as List
import Data.Version (Version(..))
import System.Environment (getEnv)
import Prelude
#if defined(VERSION_base)
#if MIN_VERSION_base(4,0,0)
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#else
catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
#endif
#else
catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#endif
catchIO = Exception.catch
version :: Version
version = Version [0,1] []
getDataFileName :: FilePath -> IO FilePath
getDataFileName name = do
dir <- getDataDir
return (dir `joinFileName` name)
getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
bindir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/bin"
libdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7/ap05-0.1-AJuyaSgzdSw4SJrI0SnuWg-ex03"
dynlibdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/lib/x86_64-linux-ghc-9.4.7"
datadir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/share/x86_64-linux-ghc-9.4.7/ap05-0.1"
libexecdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/libexec/x86_64-linux-ghc-9.4.7/ap05-0.1"
sysconfdir = "/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/install/x86_64-linux/c95135353db856bc6efc9bd10e84b1a5a9a219f3607bca4f1889717059c848cc/9.4.7/etc"
getBinDir = catchIO (getEnv "ap05_bindir") (\_ -> return bindir)
getLibDir = catchIO (getEnv "ap05_libdir") (\_ -> return libdir)
getDynLibDir = catchIO (getEnv "ap05_dynlibdir") (\_ -> return dynlibdir)
getDataDir = catchIO (getEnv "ap05_datadir") (\_ -> return datadir)
getLibexecDir = catchIO (getEnv "ap05_libexecdir") (\_ -> return libexecdir)
getSysconfDir = catchIO (getEnv "ap05_sysconfdir") (\_ -> return sysconfdir)
joinFileName :: String -> String -> FilePath
joinFileName "" fname = fname
joinFileName "." fname = fname
joinFileName dir "" = dir
joinFileName dir fname
| isPathSeparator (List.last dir) = dir ++ fname
| otherwise = dir ++ pathSeparator : fname
pathSeparator :: Char
pathSeparator = '/'
isPathSeparator :: Char -> Bool
isPathSeparator c = c == '/'

View File

@@ -0,0 +1,170 @@
/* DO NOT EDIT: This file is automatically generated by Cabal */
/* package ap05-0.1 */
#ifndef VERSION_ap05
#define VERSION_ap05 "0.1"
#endif /* VERSION_ap05 */
#ifndef MIN_VERSION_ap05
#define MIN_VERSION_ap05(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 1 || \
(major1) == 0 && (major2) == 1 && (minor) <= 0)
#endif /* MIN_VERSION_ap05 */
/* package HUnit-1.6.2.0 */
#ifndef VERSION_HUnit
#define VERSION_HUnit "1.6.2.0"
#endif /* VERSION_HUnit */
#ifndef MIN_VERSION_HUnit
#define MIN_VERSION_HUnit(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 6 || \
(major1) == 1 && (major2) == 6 && (minor) <= 2)
#endif /* MIN_VERSION_HUnit */
/* package base-4.17.2.0 */
#ifndef VERSION_base
#define VERSION_base "4.17.2.0"
#endif /* VERSION_base */
#ifndef MIN_VERSION_base
#define MIN_VERSION_base(major1,major2,minor) (\
(major1) < 4 || \
(major1) == 4 && (major2) < 17 || \
(major1) == 4 && (major2) == 17 && (minor) <= 2)
#endif /* MIN_VERSION_base */
/* package mtl-2.2.2 */
#ifndef VERSION_mtl
#define VERSION_mtl "2.2.2"
#endif /* VERSION_mtl */
#ifndef MIN_VERSION_mtl
#define MIN_VERSION_mtl(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 2 || \
(major1) == 2 && (major2) == 2 && (minor) <= 2)
#endif /* MIN_VERSION_mtl */
/* package text-2.0.2 */
#ifndef VERSION_text
#define VERSION_text "2.0.2"
#endif /* VERSION_text */
#ifndef MIN_VERSION_text
#define MIN_VERSION_text(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 0 || \
(major1) == 2 && (major2) == 0 && (minor) <= 2)
#endif /* MIN_VERSION_text */
/* tool alex-3.2.5 */
#ifndef TOOL_VERSION_alex
#define TOOL_VERSION_alex "3.2.5"
#endif /* TOOL_VERSION_alex */
#ifndef MIN_TOOL_VERSION_alex
#define MIN_TOOL_VERSION_alex(major1,major2,minor) (\
(major1) < 3 || \
(major1) == 3 && (major2) < 2 || \
(major1) == 3 && (major2) == 2 && (minor) <= 5)
#endif /* MIN_TOOL_VERSION_alex */
/* tool gcc-11 */
#ifndef TOOL_VERSION_gcc
#define TOOL_VERSION_gcc "11"
#endif /* TOOL_VERSION_gcc */
#ifndef MIN_TOOL_VERSION_gcc
#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\
(major1) < 11 || \
(major1) == 11 && (major2) < 0 || \
(major1) == 11 && (major2) == 0 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_gcc */
/* tool ghc-9.4.7 */
#ifndef TOOL_VERSION_ghc
#define TOOL_VERSION_ghc "9.4.7"
#endif /* TOOL_VERSION_ghc */
#ifndef MIN_TOOL_VERSION_ghc
#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc */
/* tool ghc-pkg-9.4.7 */
#ifndef TOOL_VERSION_ghc_pkg
#define TOOL_VERSION_ghc_pkg "9.4.7"
#endif /* TOOL_VERSION_ghc_pkg */
#ifndef MIN_TOOL_VERSION_ghc_pkg
#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_ghc_pkg */
/* tool haddock-2.27.0 */
#ifndef TOOL_VERSION_haddock
#define TOOL_VERSION_haddock "2.27.0"
#endif /* TOOL_VERSION_haddock */
#ifndef MIN_TOOL_VERSION_haddock
#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 27 || \
(major1) == 2 && (major2) == 27 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_haddock */
/* tool happy-1.19.12 */
#ifndef TOOL_VERSION_happy
#define TOOL_VERSION_happy "1.19.12"
#endif /* TOOL_VERSION_happy */
#ifndef MIN_TOOL_VERSION_happy
#define MIN_TOOL_VERSION_happy(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 19 || \
(major1) == 1 && (major2) == 19 && (minor) <= 12)
#endif /* MIN_TOOL_VERSION_happy */
/* tool hpc-0.68 */
#ifndef TOOL_VERSION_hpc
#define TOOL_VERSION_hpc "0.68"
#endif /* TOOL_VERSION_hpc */
#ifndef MIN_TOOL_VERSION_hpc
#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hpc */
/* tool hsc2hs-0.68.8 */
#ifndef TOOL_VERSION_hsc2hs
#define TOOL_VERSION_hsc2hs "0.68.8"
#endif /* TOOL_VERSION_hsc2hs */
#ifndef MIN_TOOL_VERSION_hsc2hs
#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\
(major1) < 0 || \
(major1) == 0 && (major2) < 68 || \
(major1) == 0 && (major2) == 68 && (minor) <= 8)
#endif /* MIN_TOOL_VERSION_hsc2hs */
/* tool hscolour-1.24 */
#ifndef TOOL_VERSION_hscolour
#define TOOL_VERSION_hscolour "1.24"
#endif /* TOOL_VERSION_hscolour */
#ifndef MIN_TOOL_VERSION_hscolour
#define MIN_TOOL_VERSION_hscolour(major1,major2,minor) (\
(major1) < 1 || \
(major1) == 1 && (major2) < 24 || \
(major1) == 1 && (major2) == 24 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_hscolour */
/* tool runghc-9.4.7 */
#ifndef TOOL_VERSION_runghc
#define TOOL_VERSION_runghc "9.4.7"
#endif /* TOOL_VERSION_runghc */
#ifndef MIN_TOOL_VERSION_runghc
#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\
(major1) < 9 || \
(major1) == 9 && (major2) < 4 || \
(major1) == 9 && (major2) == 4 && (minor) <= 7)
#endif /* MIN_TOOL_VERSION_runghc */
/* tool strip-2.38 */
#ifndef TOOL_VERSION_strip
#define TOOL_VERSION_strip "2.38"
#endif /* TOOL_VERSION_strip */
#ifndef MIN_TOOL_VERSION_strip
#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\
(major1) < 2 || \
(major1) == 2 && (major2) < 38 || \
(major1) == 2 && (major2) == 38 && (minor) <= 0)
#endif /* MIN_TOOL_VERSION_strip */
#ifndef CURRENT_COMPONENT_ID
#define CURRENT_COMPONENT_ID "ap05-0.1-AJuyaSgzdSw4SJrI0SnuWg-ex03"
#endif /* CURRENT_COMPONENT_ID */
#ifndef CURRENT_PACKAGE_VERSION
#define CURRENT_PACKAGE_VERSION "0.1"
#endif /* CURRENT_PACKAGE_VERSION */

View File

@@ -0,0 +1,16 @@
/home/student/.ghcup/ghc/9.4.7/lib/ghc-9.4.7/lib/x86_64-linux-ghc-9.4.7/rts-1.0.2/include/ghcversion.h:
hash: ee548d48ca5c94d7c7fab127ec07be47b01afa24d6495358aa9ff6cfc8541c81
? /home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/dist/x86_64-linux/Cabal-3.8.1.0/build/ex01/autogen/Paths_ap05.hs
: hash: ea62a1766305d9d88bc1c20fe7f041291db673338209a94073400a1e6477a20c
? /home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/dist/x86_64-linux/Cabal-3.8.1.0/build/ex01/autogen/cabal_macros.h
: hash: aa7ad43ed234b77ede973e75efadbc79b54a247eb8a5f2858bac7504baba7c42
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ap05.cabal:
hash: a07b6ceaeb4882a8c1f0acce9358a1bfcd0035462c93d8e9d3dc939f3d7f7f50
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ex01/Exp.hs:
hash: 95999cd9ea895c25fa8aeb31bd97511f57ce053ccb4d0ae771aa10309a5f1ae2
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ex01/Main.hs:
hash: 48a50a80e54019a5245ec1b6b6544041d3e2933dc3cab863923a28ce6acab550
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/package.yaml:
hash: 674de3e373c6c79404da40d6c80571b7003ffa06887f7231e6bbe78805c72bec
/usr/include/stdc-predef.h:
hash: cb08cd5d4cc059a90833ac48a284d25016e8d56ded8ad4cd98d8ac59cc5053f3

View File

@@ -0,0 +1,16 @@
/home/student/.ghcup/ghc/9.4.7/lib/ghc-9.4.7/lib/x86_64-linux-ghc-9.4.7/rts-1.0.2/include/ghcversion.h:
hash: ee548d48ca5c94d7c7fab127ec07be47b01afa24d6495358aa9ff6cfc8541c81
? /home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/dist/x86_64-linux/Cabal-3.8.1.0/build/ex02/autogen/Paths_ap05.hs
: hash: 766dbbcb550b3d864eadd2d99498c17e5f5854b3bd29c77ef6c085c9859d030a
? /home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/dist/x86_64-linux/Cabal-3.8.1.0/build/ex02/autogen/cabal_macros.h
: hash: d6d267687b0bb2a89083ca3345303cf461119b190e3ffd16dde105446b793807
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ap05.cabal:
hash: a07b6ceaeb4882a8c1f0acce9358a1bfcd0035462c93d8e9d3dc939f3d7f7f50
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ex02/Main.hs:
hash: 5b6c7511e3656092cf4f360106bc7907880c820ad838283fe4cade5dce67933e
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ex02/Product.hs:
hash: b48f5b9b9e122dc9f11142791d67bd6473c9bd719f72340ab81e2dff7b1b9097
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/package.yaml:
hash: 674de3e373c6c79404da40d6c80571b7003ffa06887f7231e6bbe78805c72bec
/usr/include/stdc-predef.h:
hash: cb08cd5d4cc059a90833ac48a284d25016e8d56ded8ad4cd98d8ac59cc5053f3

View File

@@ -0,0 +1,16 @@
/home/student/.ghcup/ghc/9.4.7/lib/ghc-9.4.7/lib/x86_64-linux-ghc-9.4.7/rts-1.0.2/include/ghcversion.h:
hash: ee548d48ca5c94d7c7fab127ec07be47b01afa24d6495358aa9ff6cfc8541c81
? /home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/dist/x86_64-linux/Cabal-3.8.1.0/build/ex03/autogen/Paths_ap05.hs
: hash: 44ce1aa62f8495e9e9dfff9c523aafbcffaa83cf13346d994768a1844a7ab936
? /home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/.stack-work/dist/x86_64-linux/Cabal-3.8.1.0/build/ex03/autogen/cabal_macros.h
: hash: 867b960dc72510472b1b8dbdb1f770cf5d1d31dbe1453749f0730c93e6aa00e6
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ap05.cabal:
hash: a07b6ceaeb4882a8c1f0acce9358a1bfcd0035462c93d8e9d3dc939f3d7f7f50
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ex03/Main.hs:
hash: f2a96b62d2f30f5a0dc67978e48265e92be65e7370af8a1f92ce6fc5fae6b664
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/ex03/Random.hs:
hash: 92851e93732e58f12b94e33c308f5fa92cc31dfa153cb9eb9c68119ed7106d99
/home/student/Documents/Anwendungsentwicklung/Aufgabe_5/code/package.yaml:
hash: 674de3e373c6c79404da40d6c80571b7003ffa06887f7231e6bbe78805c72bec
/usr/include/stdc-predef.h:
hash: cb08cd5d4cc059a90833ac48a284d25016e8d56ded8ad4cd98d8ac59cc5053f3

View File

@@ -0,0 +1 @@
Just used for its modification time

Some files were not shown because too many files have changed in this diff Show More