From 1ca3670047172610f0c284df5d5171fa840f97ce Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 30 Jun 2021 23:53:19 +0000 Subject: Add length/2 and member/2 --- example.pl | 3 --- stdlib.pl | 11 +++++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/example.pl b/example.pl index 3df943c..d9e4108 100644 --- a/example.pl +++ b/example.pl @@ -24,6 +24,3 @@ tester(A, B) :- true. =(A,A). -length([], zero). -length([Head|Tail], suc(Length)) :- - length(Tail, Length). diff --git a/stdlib.pl b/stdlib.pl index ecf7417..01b3e5f 100644 --- a/stdlib.pl +++ b/stdlib.pl @@ -55,3 +55,14 @@ A @>= B :- A == B. A @>= B :- A @> B. + +% List predicates + +length([], 0). +length([_|Tail], Length) :- + length(Tail, Length0), + Length is Length + 1. + +member(X, [X|_]). +member(X, [_|Tail]) :- + member(X, Tail). -- cgit v1.2.3