summaryrefslogtreecommitdiff
path: root/src/misc.prolog
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc.prolog')
-rw-r--r--src/misc.prolog20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/misc.prolog b/src/misc.prolog
new file mode 100644
index 0000000..6d8ad68
--- /dev/null
+++ b/src/misc.prolog
@@ -0,0 +1,20 @@
+
+:- module(misc, [filter/3, head/2, tail/2]).
+
+
+
+
+filter(List, Predicate, Result) :-
+ Test =.. [Predicate,X],
+ findall(X, Test, No),
+ subtract(List, No, Result).
+
+
+head(X,[Y]) :- X = Y.
+head(X,[Y|_]) :- X = Y.
+
+
+tail(X,[]) :- X = [].
+tail(X,[_]) :- X = [].
+tail(X,[_|Y]) :- X = Y.
+