diff options
author | Louis Pilfold <louis@lpil.uk> | 2023-12-09 15:21:10 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2023-12-09 15:21:10 +0000 |
commit | 437d456cd504ca4124ef72ea4fb1576ec29563cd (patch) | |
tree | 5c21e132658aa98276024e6c6eb3801d74b89078 /lessons/src/lesson099_documentation_comments/code.gleam | |
parent | c093b83c9c5ad3ba92e9153569be6e27476403ea (diff) | |
download | tour-437d456cd504ca4124ef72ea4fb1576ec29563cd.tar.gz tour-437d456cd504ca4124ef72ea4fb1576ec29563cd.zip |
More on functions
Diffstat (limited to 'lessons/src/lesson099_documentation_comments/code.gleam')
-rw-r--r-- | lessons/src/lesson099_documentation_comments/code.gleam | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lessons/src/lesson099_documentation_comments/code.gleam b/lessons/src/lesson099_documentation_comments/code.gleam new file mode 100644 index 0000000..a84dce6 --- /dev/null +++ b/lessons/src/lesson099_documentation_comments/code.gleam @@ -0,0 +1,19 @@ +//// A module containing some unusual functions and types. + +/// A type where the value can never be constructed. +/// Can you work out why? +pub type Never { + Never(Never) +} + +/// Call a function twice with an initial value. +/// +pub fn twice(argument: value, function: fn(value) -> value) -> value { + function(function(argument)) +} + +/// Call a function three times with an initial value. +/// +pub fn thrice(argument: value, function: fn(value) -> value) -> value { + function(function(function(argument))) +} |