From c2dcbe0f25a3e8bd60a4ccf377bbdd47f4794871 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Tue, 26 Mar 2024 13:57:31 +0000 Subject: Document opaque types Closes https://github.com/gleam-lang/language-tour/issues/63 --- .../lesson01_use_sugar/code.gleam | 30 ---------------------- .../lesson01_use_sugar/en.html | 30 ---------------------- 2 files changed, 60 deletions(-) delete mode 100644 src/content/chapter5_advanced_features/lesson01_use_sugar/code.gleam delete mode 100644 src/content/chapter5_advanced_features/lesson01_use_sugar/en.html (limited to 'src/content/chapter5_advanced_features/lesson01_use_sugar') diff --git a/src/content/chapter5_advanced_features/lesson01_use_sugar/code.gleam b/src/content/chapter5_advanced_features/lesson01_use_sugar/code.gleam deleted file mode 100644 index 6c5ccaa..0000000 --- a/src/content/chapter5_advanced_features/lesson01_use_sugar/code.gleam +++ /dev/null @@ -1,30 +0,0 @@ -import gleam/io -import gleam/result - -pub fn main() { - let x = { - use username <- result.try(get_username()) - use password <- result.try(get_password()) - use greeting <- result.map(log_in(username, password)) - greeting <> ", " <> username - } - - case x { - Ok(greeting) -> io.println(greeting) - Error(error) -> io.println("ERROR:" <> error) - } -} - -// Here are some pretend functions for this example: - -fn get_username() { - Ok("alice") -} - -fn get_password() { - Ok("hunter2") -} - -fn log_in(_username: String, _password: String) { - Ok("Welcome") -} diff --git a/src/content/chapter5_advanced_features/lesson01_use_sugar/en.html b/src/content/chapter5_advanced_features/lesson01_use_sugar/en.html deleted file mode 100644 index e28c843..0000000 --- a/src/content/chapter5_advanced_features/lesson01_use_sugar/en.html +++ /dev/null @@ -1,30 +0,0 @@ -

- The use expression is syntactic sugar for a regular function call - and an anonymous function. -

- -

This code:

-
-use a, b <- my_function
-next(a)
-next(b)
-
- -

Expands into this code:

-
-my_function(fn(a, b) {
-  next(a)
-  next(b)
-})
-
- -

- To ensure that your use code works and is as understandable as - possible, the right-hand-side ideally should be a function call rather than a - pipeline or other expression, which is typically more difficult to read. -

- -

- use is an expression like everything else in Gleam, so it can be - placed within blocks. -

-- cgit v1.2.3