aboutsummaryrefslogtreecommitdiff
path: root/gen/src/std@tuple.erl
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-05-29 21:02:55 +0100
committerLouis Pilfold <louis@lpil.uk>2019-06-02 21:12:59 +0100
commit5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31 (patch)
tree5d0d281c66cf71c6e3ca880e6621138a71b95e7b /gen/src/std@tuple.erl
parentee03f5a0465e176e220060164a5ffc408f73ed0d (diff)
downloadgleam_stdlib-5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31.tar.gz
gleam_stdlib-5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31.zip
Enable namespaced modules
Diffstat (limited to 'gen/src/std@tuple.erl')
-rw-r--r--gen/src/std@tuple.erl28
1 files changed, 28 insertions, 0 deletions
diff --git a/gen/src/std@tuple.erl b/gen/src/std@tuple.erl
new file mode 100644
index 0000000..0c9e89d
--- /dev/null
+++ b/gen/src/std@tuple.erl
@@ -0,0 +1,28 @@
+-module(std@tuple).
+-compile(no_auto_import).
+
+-export([new/2, first/1, second/1, swap/1, fetch/2]).
+
+new(A, B) ->
+ {A, B}.
+
+first(Tup) ->
+ {A, _} = Tup,
+ A.
+
+second(Tup) ->
+ {_, A} = Tup,
+ A.
+
+swap(Tup) ->
+ {A, B} = Tup,
+ {B, A}.
+
+fetch(Haystack, Needle) ->
+ std@list:find(Haystack, fun(Tuple) -> case first(Tuple) =:= Needle of
+ true ->
+ {ok, second(Tuple)};
+
+ false ->
+ {error, []}
+ end end).