aboutsummaryrefslogtreecommitdiff
path: root/example-project/src
diff options
context:
space:
mode:
authortricktron <tgagnaux@gmail.com>2022-03-08 22:00:08 +0100
committerGitHub <noreply@github.com>2022-03-08 22:00:08 +0100
commit0fb7e5baa3b1418e69f04716d20ad0f8bbdb5992 (patch)
tree58aefa651a5a14de21d178e73ebf986c986c4c76 /example-project/src
parent55d0c8f85349001ba3b9b4124363a33f5a0a6e40 (diff)
parent2a43784df3363e193d5d3f274b062fa46f77457b (diff)
downloadfrege-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.fr27
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