aboutsummaryrefslogtreecommitdiff
path: root/lessons/src/lesson020_lists
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2023-12-12 13:04:55 +0000
committerLouis Pilfold <louis@lpil.uk>2023-12-12 13:04:55 +0000
commit819cc743eba34cdd25e25f3c6ba5891a8cb6077d (patch)
treedd6454f3ec7ed3c878da0450475a209d2864e0f6 /lessons/src/lesson020_lists
parente660bc6a4eb2b7537e33617df9b411ef07a894d7 (diff)
downloadtour-819cc743eba34cdd25e25f3c6ba5891a8cb6077d.tar.gz
tour-819cc743eba34cdd25e25f3c6ba5891a8cb6077d.zip
List functions
Diffstat (limited to 'lessons/src/lesson020_lists')
-rw-r--r--lessons/src/lesson020_lists/code.gleam16
-rw-r--r--lessons/src/lesson020_lists/text.html19
2 files changed, 35 insertions, 0 deletions
diff --git a/lessons/src/lesson020_lists/code.gleam b/lessons/src/lesson020_lists/code.gleam
new file mode 100644
index 0000000..646ad6e
--- /dev/null
+++ b/lessons/src/lesson020_lists/code.gleam
@@ -0,0 +1,16 @@
+import gleam/io
+
+pub fn main() {
+ let ints = [1, 2, 3]
+
+ io.debug(ints)
+
+ // Immutably prepend
+ io.debug([-1, 0, ..ints])
+
+ // Uncomment this to see the error
+ // io.debug(["zero", ..ints])
+
+ // The original lists are unchanged
+ io.debug(ints)
+}
diff --git a/lessons/src/lesson020_lists/text.html b/lessons/src/lesson020_lists/text.html
new file mode 100644
index 0000000..dd07cd7
--- /dev/null
+++ b/lessons/src/lesson020_lists/text.html
@@ -0,0 +1,19 @@
+<p>
+ Lists are ordered collections of values.
+</p>
+<p>
+ <code>List</code> is a generic type, having a type parameter
+ for the type of values it contains. A list of ints has the type
+ <code>List(Int)</code>, and a list of strings has the type
+ <code>List(String)</code>.
+</p>
+<p>
+ Lists are immutable single-linked lists, meaning they are very efficient to
+ add and remove elements from the front of the list.
+</p>
+<p>
+ Counting the length of a list or getting elements from other positions in the
+ list is expensive and rarely done. It is rare to write algorithms that index
+ into sequences in Gleam, but but when they are written a list is not the right
+ choice of data structure.
+</p>