From f70130322cd306268c5da12c1517dc5725615ae8 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Thu, 15 Feb 2024 12:18:17 +0000 Subject: text -> en --- .../chapter1_functions/lesson00_functions/en.html | 14 ++++++++++++ .../lesson00_functions/text.html | 14 ------------ .../lesson03_higher_order_functions/en.html | 12 +++++++++++ .../lesson03_higher_order_functions/text.html | 12 ----------- .../lesson04_anonymous_functions/en.html | 5 +++++ .../lesson04_anonymous_functions/text.html | 5 ----- .../lesson05_function_captures/en.html | 11 ++++++++++ .../lesson05_function_captures/text.html | 11 ---------- .../lesson06_generic_functions/en.html | 25 ++++++++++++++++++++++ .../lesson06_generic_functions/text.html | 25 ---------------------- .../chapter1_functions/lesson07_pipelines/en.html | 25 ++++++++++++++++++++++ .../lesson07_pipelines/text.html | 25 ---------------------- .../lesson08_labelled_arguments/en.html | 23 ++++++++++++++++++++ .../lesson08_labelled_arguments/text.html | 23 -------------------- .../lesson09_documentation_comments/en.html | 16 ++++++++++++++ .../lesson09_documentation_comments/text.html | 16 -------------- .../lesson10_deprecations/en.html | 14 ++++++++++++ .../lesson10_deprecations/text.html | 14 ------------ 18 files changed, 145 insertions(+), 145 deletions(-) create mode 100644 src/content/chapter1_functions/lesson00_functions/en.html delete mode 100644 src/content/chapter1_functions/lesson00_functions/text.html create mode 100644 src/content/chapter1_functions/lesson03_higher_order_functions/en.html delete mode 100644 src/content/chapter1_functions/lesson03_higher_order_functions/text.html create mode 100644 src/content/chapter1_functions/lesson04_anonymous_functions/en.html delete mode 100644 src/content/chapter1_functions/lesson04_anonymous_functions/text.html create mode 100644 src/content/chapter1_functions/lesson05_function_captures/en.html delete mode 100644 src/content/chapter1_functions/lesson05_function_captures/text.html create mode 100644 src/content/chapter1_functions/lesson06_generic_functions/en.html delete mode 100644 src/content/chapter1_functions/lesson06_generic_functions/text.html create mode 100644 src/content/chapter1_functions/lesson07_pipelines/en.html delete mode 100644 src/content/chapter1_functions/lesson07_pipelines/text.html create mode 100644 src/content/chapter1_functions/lesson08_labelled_arguments/en.html delete mode 100644 src/content/chapter1_functions/lesson08_labelled_arguments/text.html create mode 100644 src/content/chapter1_functions/lesson09_documentation_comments/en.html delete mode 100644 src/content/chapter1_functions/lesson09_documentation_comments/text.html create mode 100644 src/content/chapter1_functions/lesson10_deprecations/en.html delete mode 100644 src/content/chapter1_functions/lesson10_deprecations/text.html (limited to 'src/content/chapter1_functions') diff --git a/src/content/chapter1_functions/lesson00_functions/en.html b/src/content/chapter1_functions/lesson00_functions/en.html new file mode 100644 index 0000000..32d5bed --- /dev/null +++ b/src/content/chapter1_functions/lesson00_functions/en.html @@ -0,0 +1,14 @@ +

+ The fn keyword is used to define new functions. +

+

+ The double and multiply functions are defined + without the pub keyword. This makes them private + functions, they can only be used within this module. If another module + attempted to use them it would result in a compiler error. +

+

+ Like with assignments, type annotations are optional for function arguments + and return values. It is considered good practice to use type annotations for + functions, for clarity and to encourage intentional and thoughtful design. +

diff --git a/src/content/chapter1_functions/lesson00_functions/text.html b/src/content/chapter1_functions/lesson00_functions/text.html deleted file mode 100644 index 32d5bed..0000000 --- a/src/content/chapter1_functions/lesson00_functions/text.html +++ /dev/null @@ -1,14 +0,0 @@ -

- The fn keyword is used to define new functions. -

-

- The double and multiply functions are defined - without the pub keyword. This makes them private - functions, they can only be used within this module. If another module - attempted to use them it would result in a compiler error. -

-

- Like with assignments, type annotations are optional for function arguments - and return values. It is considered good practice to use type annotations for - functions, for clarity and to encourage intentional and thoughtful design. -

diff --git a/src/content/chapter1_functions/lesson03_higher_order_functions/en.html b/src/content/chapter1_functions/lesson03_higher_order_functions/en.html new file mode 100644 index 0000000..3343e4d --- /dev/null +++ b/src/content/chapter1_functions/lesson03_higher_order_functions/en.html @@ -0,0 +1,12 @@ +

+ In Gleam functions are values. They can be assigned to variables, passed to + other functions, and anything else you can do with values. +

+

+ Here the function add_one is being passed as an argument to the + twice function. +

+

+ Notice the fn keyword is also used to describe the type of the + function that twice takes as its second argument. +

diff --git a/src/content/chapter1_functions/lesson03_higher_order_functions/text.html b/src/content/chapter1_functions/lesson03_higher_order_functions/text.html deleted file mode 100644 index 3343e4d..0000000 --- a/src/content/chapter1_functions/lesson03_higher_order_functions/text.html +++ /dev/null @@ -1,12 +0,0 @@ -

- In Gleam functions are values. They can be assigned to variables, passed to - other functions, and anything else you can do with values. -

-

- Here the function add_one is being passed as an argument to the - twice function. -

-

- Notice the fn keyword is also used to describe the type of the - function that twice takes as its second argument. -

diff --git a/src/content/chapter1_functions/lesson04_anonymous_functions/en.html b/src/content/chapter1_functions/lesson04_anonymous_functions/en.html new file mode 100644 index 0000000..6c6d47d --- /dev/null +++ b/src/content/chapter1_functions/lesson04_anonymous_functions/en.html @@ -0,0 +1,5 @@ +

+ As well as module-level named functions, Gleam has anonymous function + literals, written with the fn() { ... } syntax. +

+

Anonymous functions can be used interchangeably with named functions.

diff --git a/src/content/chapter1_functions/lesson04_anonymous_functions/text.html b/src/content/chapter1_functions/lesson04_anonymous_functions/text.html deleted file mode 100644 index 6c6d47d..0000000 --- a/src/content/chapter1_functions/lesson04_anonymous_functions/text.html +++ /dev/null @@ -1,5 +0,0 @@ -

- As well as module-level named functions, Gleam has anonymous function - literals, written with the fn() { ... } syntax. -

-

Anonymous functions can be used interchangeably with named functions.

diff --git a/src/content/chapter1_functions/lesson05_function_captures/en.html b/src/content/chapter1_functions/lesson05_function_captures/en.html new file mode 100644 index 0000000..afa87a3 --- /dev/null +++ b/src/content/chapter1_functions/lesson05_function_captures/en.html @@ -0,0 +1,11 @@ +

+ Gleam has a shorthand syntax for creating anonymous functions that take one + argument and immediately call another function with that argument: the + function capture syntax. +

+

+ The anonymous function fn(a) { some_function(..., a, ...) } can + be written as some_function(..., _, ...), with any number of + other arguments passed to the inner function. The underscore _ is + a placeholder for the final argument. +

diff --git a/src/content/chapter1_functions/lesson05_function_captures/text.html b/src/content/chapter1_functions/lesson05_function_captures/text.html deleted file mode 100644 index afa87a3..0000000 --- a/src/content/chapter1_functions/lesson05_function_captures/text.html +++ /dev/null @@ -1,11 +0,0 @@ -

- Gleam has a shorthand syntax for creating anonymous functions that take one - argument and immediately call another function with that argument: the - function capture syntax. -

-

- The anonymous function fn(a) { some_function(..., a, ...) } can - be written as some_function(..., _, ...), with any number of - other arguments passed to the inner function. The underscore _ is - a placeholder for the final argument. -

diff --git a/src/content/chapter1_functions/lesson06_generic_functions/en.html b/src/content/chapter1_functions/lesson06_generic_functions/en.html new file mode 100644 index 0000000..fcd9bec --- /dev/null +++ b/src/content/chapter1_functions/lesson06_generic_functions/en.html @@ -0,0 +1,25 @@ +

+ Up until now each function has accepted precisely one type for each of its + arguments. +

+

+ The twice function for example only worked with functions that + would take and return ints. This is overly restrictive, it should be possible + to use this function with any type, so long as the function and the initial + value are compatible. +

+

+ To enable this Gleam support generics, also known as + parametric polymorphism. +

+

+ This works by instead of specifying a concrete type, a type variable is used + which stands in for whatever specific type is being used when the function is + called. These type variables are written with a lowercase name. +

+

+ Type variables are not like an any type, they get replaced with a + specific type each time the function is called. Try uncommenting + twice(10, exclaim) to see the compiler error from trying to use a + type variable as an int and a string at the same time. +

diff --git a/src/content/chapter1_functions/lesson06_generic_functions/text.html b/src/content/chapter1_functions/lesson06_generic_functions/text.html deleted file mode 100644 index fcd9bec..0000000 --- a/src/content/chapter1_functions/lesson06_generic_functions/text.html +++ /dev/null @@ -1,25 +0,0 @@ -

- Up until now each function has accepted precisely one type for each of its - arguments. -

-

- The twice function for example only worked with functions that - would take and return ints. This is overly restrictive, it should be possible - to use this function with any type, so long as the function and the initial - value are compatible. -

-

- To enable this Gleam support generics, also known as - parametric polymorphism. -

-

- This works by instead of specifying a concrete type, a type variable is used - which stands in for whatever specific type is being used when the function is - called. These type variables are written with a lowercase name. -

-

- Type variables are not like an any type, they get replaced with a - specific type each time the function is called. Try uncommenting - twice(10, exclaim) to see the compiler error from trying to use a - type variable as an int and a string at the same time. -

diff --git a/src/content/chapter1_functions/lesson07_pipelines/en.html b/src/content/chapter1_functions/lesson07_pipelines/en.html new file mode 100644 index 0000000..783ade9 --- /dev/null +++ b/src/content/chapter1_functions/lesson07_pipelines/en.html @@ -0,0 +1,25 @@ +

+ It's common to want to call a series of functions, passing the result of one + to the next. With the regular function call syntax this can be a little + difficult to read as you have to read the code from the inside out. +

+

+ Gleam's pipe operator |> helps with this problem by allowing you + to write code top-to-bottom. +

+

+ The pipe operator takes the result of the expression on its left and passes it + as an argument to the function on its right. +

+

+ It will first check to see if the left-hand value could be used as the first + argument to the call. For example, a |> b(1, 2) would become + b(a, 1, 2). If not, it falls back to calling the result of the + right-hand side as a function, e.g., b(1, 2)(a) +

+

+ Gleam code is typically written with the "subject" of the function as the + first argument, to make it easier to pipe. If you wish to pipe to a different + position then a function capture can be used to insert the argument to the + desired position. +

diff --git a/src/content/chapter1_functions/lesson07_pipelines/text.html b/src/content/chapter1_functions/lesson07_pipelines/text.html deleted file mode 100644 index 783ade9..0000000 --- a/src/content/chapter1_functions/lesson07_pipelines/text.html +++ /dev/null @@ -1,25 +0,0 @@ -

- It's common to want to call a series of functions, passing the result of one - to the next. With the regular function call syntax this can be a little - difficult to read as you have to read the code from the inside out. -

-

- Gleam's pipe operator |> helps with this problem by allowing you - to write code top-to-bottom. -

-

- The pipe operator takes the result of the expression on its left and passes it - as an argument to the function on its right. -

-

- It will first check to see if the left-hand value could be used as the first - argument to the call. For example, a |> b(1, 2) would become - b(a, 1, 2). If not, it falls back to calling the result of the - right-hand side as a function, e.g., b(1, 2)(a) -

-

- Gleam code is typically written with the "subject" of the function as the - first argument, to make it easier to pipe. If you wish to pipe to a different - position then a function capture can be used to insert the argument to the - desired position. -

diff --git a/src/content/chapter1_functions/lesson08_labelled_arguments/en.html b/src/content/chapter1_functions/lesson08_labelled_arguments/en.html new file mode 100644 index 0000000..b1d771c --- /dev/null +++ b/src/content/chapter1_functions/lesson08_labelled_arguments/en.html @@ -0,0 +1,23 @@ +

+ When functions take several arguments it can be difficult to remember what the + arguments are, and what order they are expected in. +

+

+ To help with this Gleam supports labelled arguments, where function arguments + are given an external label in addition to their internal name. These labels + are written before the argument name in the function definition. +

+

+ When labelled arguments are used the order of the arguments does not matter, + but all unlabelled arguments must come before labelled arguments. +

+

+ There is no performance cost to using labelled arguments, it does not allocate + a dictionary or perform any other runtime work. +

+

+ Labels are optional when calling a function, it is up to the programmer to + decide what is clearest in their code. +

+ + diff --git a/src/content/chapter1_functions/lesson08_labelled_arguments/text.html b/src/content/chapter1_functions/lesson08_labelled_arguments/text.html deleted file mode 100644 index b1d771c..0000000 --- a/src/content/chapter1_functions/lesson08_labelled_arguments/text.html +++ /dev/null @@ -1,23 +0,0 @@ -

- When functions take several arguments it can be difficult to remember what the - arguments are, and what order they are expected in. -

-

- To help with this Gleam supports labelled arguments, where function arguments - are given an external label in addition to their internal name. These labels - are written before the argument name in the function definition. -

-

- When labelled arguments are used the order of the arguments does not matter, - but all unlabelled arguments must come before labelled arguments. -

-

- There is no performance cost to using labelled arguments, it does not allocate - a dictionary or perform any other runtime work. -

-

- Labels are optional when calling a function, it is up to the programmer to - decide what is clearest in their code. -

- - diff --git a/src/content/chapter1_functions/lesson09_documentation_comments/en.html b/src/content/chapter1_functions/lesson09_documentation_comments/en.html new file mode 100644 index 0000000..c27bac6 --- /dev/null +++ b/src/content/chapter1_functions/lesson09_documentation_comments/en.html @@ -0,0 +1,16 @@ +

+ Documentation and comments are important tools for making your code easier to + work with and understand. +

+

+ As well as regular // comments Gleam has /// and + //// comments which are used for attaching documentation to code. +

+

+ /// is used for documenting types and functions, and should be + placed immediately before the type or function it is documenting. +

+

+ //// is used for documenting modules, and should be placed + at the top of the module. +

diff --git a/src/content/chapter1_functions/lesson09_documentation_comments/text.html b/src/content/chapter1_functions/lesson09_documentation_comments/text.html deleted file mode 100644 index c27bac6..0000000 --- a/src/content/chapter1_functions/lesson09_documentation_comments/text.html +++ /dev/null @@ -1,16 +0,0 @@ -

- Documentation and comments are important tools for making your code easier to - work with and understand. -

-

- As well as regular // comments Gleam has /// and - //// comments which are used for attaching documentation to code. -

-

- /// is used for documenting types and functions, and should be - placed immediately before the type or function it is documenting. -

-

- //// is used for documenting modules, and should be placed - at the top of the module. -

diff --git a/src/content/chapter1_functions/lesson10_deprecations/en.html b/src/content/chapter1_functions/lesson10_deprecations/en.html new file mode 100644 index 0000000..8fe260f --- /dev/null +++ b/src/content/chapter1_functions/lesson10_deprecations/en.html @@ -0,0 +1,14 @@ +

+ Functions and other definitions can be marked as deprecated using the + @deprecated + attribute. +

+

+ If a deprecated function is reference the compiler will emit a warning, + letting the programmer know they ought to update their code. +

+

+ The deprecation attribute takes a message and this will be displayed to the + user in the warning. In the message explain to the user the new approach or + replacement function, or direct them on documentation on how to upgrade. +

diff --git a/src/content/chapter1_functions/lesson10_deprecations/text.html b/src/content/chapter1_functions/lesson10_deprecations/text.html deleted file mode 100644 index 8fe260f..0000000 --- a/src/content/chapter1_functions/lesson10_deprecations/text.html +++ /dev/null @@ -1,14 +0,0 @@ -

- Functions and other definitions can be marked as deprecated using the - @deprecated - attribute. -

-

- If a deprecated function is reference the compiler will emit a warning, - letting the programmer know they ought to update their code. -

-

- The deprecation attribute takes a message and this will be displayed to the - user in the warning. In the message explain to the user the new approach or - replacement function, or direct them on documentation on how to upgrade. -

-- cgit v1.2.3