From 437d456cd504ca4124ef72ea4fb1576ec29563cd Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Sat, 9 Dec 2023 15:21:10 +0000 Subject: More on functions --- .../src/lesson099_documentation_comments/code.gleam | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 lessons/src/lesson099_documentation_comments/code.gleam (limited to 'lessons/src/lesson099_documentation_comments/code.gleam') 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))) +} -- cgit v1.2.3