git.annexia.org
/
goals.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix whitespace.
[goals.git]
/
stdlib
/
prelude.gl
diff --git
a/stdlib/prelude.gl
b/stdlib/prelude.gl
index
13ac311
..
32adf5c
100644
(file)
--- a/
stdlib/prelude.gl
+++ b/
stdlib/prelude.gl
@@
-18,10
+18,10
@@
# This file is included first and automatically in all Goalfiles
# (unless you use --no-prelude). It contains standard functions and
# This file is included first and automatically in all Goalfiles
# (unless you use --no-prelude). It contains standard functions and
-#
tactic
s.
+#
predicate
s.
-# The only
tactic
that ‘make’ has.
-
tactic *
file (filename) = @{
+# The only
predicate
that ‘make’ has.
+
predicate is-
file (filename) = @{
# Rebuild if the target file doesn't exist at all.
test -f %filename || exit 99
# Rebuild if the target file doesn't exist at all.
test -f %filename || exit 99
@@
-31,9
+31,9
@@
tactic *file (filename) = @{
done
}
done
}
-# This is a simpler
tactic
than the above since it will
+# This is a simpler
predicate
than the above since it will
# rebuild if the file is missing, but not if it is older.
# rebuild if the file is missing, but not if it is older.
-
tactic *
exists (filename) = @{
+
predicate is-file-
exists (filename) = @{
test -f %filename || exit 99
}
test -f %filename || exit 99
}
@@
-45,7
+45,7
@@
function error (msg) = @{
exit 1
}
exit 1
}
-# Wrap list of strings in a call or
tactic
.
+# Wrap list of strings in a call or
predicate
.
pure function wrap (wrapper, xs) = @{
echo '['
for x in %xs; do
pure function wrap (wrapper, xs) = @{
echo '['
for x in %xs; do
@@
-106,6
+106,13
@@
pure function sort (xs) returning strings = @{
for f in %xs; do echo "$f"; done | sort -u
}
for f in %xs; do echo "$f"; done | sort -u
}
+# Split a string into a list.
+# https://superuser.com/a/1066541
+pure function split (s) returning strings = @{
+ s=%s
+ eval 'for f in '$s'; do echo "$f"; done'
+}
+
# Substitute.
pure function subst (from, to, text) returning string = @{
# We need to replace any / characters in ‘to’ with escaped ones.
# Substitute.
pure function subst (from, to, text) returning string = @{
# We need to replace any / characters in ‘to’ with escaped ones.