summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-07-06 21:54:59 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-07-06 21:54:59 +0000
commit95f874fe29b84394748d660a536a516277184288 (patch)
treeda876b6572f3a4d957fd14f09d3988f66acd4d9d
parent03738c67684b83692d9112858f07c745f355a157 (diff)
Add list module
-rw-r--r--lists.pl16
1 files changed, 16 insertions, 0 deletions
diff --git a/lists.pl b/lists.pl
new file mode 100644
index 0000000..ee75110
--- /dev/null
+++ b/lists.pl
@@ -0,0 +1,16 @@
+:- module(lists, []).
+
+% List predicates
+
+length([], 0).
+length([_|Tail], Length) :-
+ length(Tail, Length0),
+ Length is Length0 + 1.
+
+member(X, [X|_]).
+member(X, [_|Tail]) :-
+ member(X, Tail).
+
+append([], Ys, Ys).
+append([X|Xs], Ys, [X|Rest]) :-
+ append(Xs, Ys, Rest).