diff options
author | tricktron <tgagnaux@gmail.com> | 2022-03-08 22:00:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-08 22:00:08 +0100 |
commit | 0fb7e5baa3b1418e69f04716d20ad0f8bbdb5992 (patch) | |
tree | 58aefa651a5a14de21d178e73ebf986c986c4c76 /example-project/src | |
parent | 55d0c8f85349001ba3b9b4124363a33f5a0a6e40 (diff) | |
parent | 2a43784df3363e193d5d3f274b062fa46f77457b (diff) | |
download | frege-gradle-plugin-0fb7e5baa3b1418e69f04716d20ad0f8bbdb5992.tar.gz frege-gradle-plugin-0fb7e5baa3b1418e69f04716d20ad0f8bbdb5992.tar.bz2 frege-gradle-plugin-0fb7e5baa3b1418e69f04716d20ad0f8bbdb5992.zip |
Merge pull request #29 from tricktron/f-init-task
Adds initFrege Task
Diffstat (limited to 'example-project/src')
-rw-r--r-- | example-project/src/main/frege/ch/fhnw/thga/HelloFrege.fr | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/example-project/src/main/frege/ch/fhnw/thga/HelloFrege.fr b/example-project/src/main/frege/ch/fhnw/thga/HelloFrege.fr new file mode 100644 index 0000000..e601e15 --- /dev/null +++ b/example-project/src/main/frege/ch/fhnw/thga/HelloFrege.fr @@ -0,0 +1,27 @@ +module ch.fhnw.thga.HelloFrege where + +import Test.QuickCheck + +--- compute digit sum +digitSum :: Integer -> Integer +digitSum 0 = 0 +digitSum n = (n `rem` 10) + digitSum (n `div` 10) + +--- compute the reduced digit sum +reducedDigitSum :: Integer -> Integer +reducedDigitSum n = if n < 10 then n else reducedDigitSum $ digitSum n + +main = do + let answer = digitSum 6666666 + println $ + "The answer to life, the universe and everything is " + ++ show answer + ++ "." + +{-- + The property 'p_reduced_digit_sum_of_multiple_of_9_is_always_9' checks + the famous claim that every multiple of 9 number has also the reduced + digit sum of 9, e.g. 9, 27, 36, ... +-} +p_reduced_digit_sum_of_multiple_of_9_is_always_9 = + property $ \(n :: Integer) -> (n > 0) ==> (reducedDigitSum $ 9 * n) == 9
\ No newline at end of file |