forked from philhofer/distill
-
Notifications
You must be signed in to change notification settings - Fork 0
/
plan.sld
85 lines (80 loc) · 2.16 KB
/
plan.sld
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
(define-library (distill plan)
(export
artifact-dir
plan-dir
interned
interned-symlink
interned-dir
local-archive
remote-archive
remote-file
update-path
sub-archive
overlay
make-input
input-link
input-basedir
input-wrap
input?
for-each-anchor
build-plan!
build-graph!
plan?
make-plan
plan-name
plan-hash
plan-inputs
plan-outputs
plan-null-build?
load-plan
short-hash
artifact?
artifact-kind
artifact-path
artifact-hash
artifact-format
artifact-extra)
;; for non-r7rs imports, please try to keep
;; the requisite imported functions explicit
;; so that it's obvious what needs to be replaced
;; for a non-chicken implementation
(cond-expand
(chicken
(import
matchable
(chicken fixnum)
(chicken type) ;; type hints can be replaced with a no-op
(chicken foreign)
(only (chicken string) conc)
(only (chicken file) file-exists? directory-exists? create-directory create-temporary-file create-temporary-directory delete-file* delete-file delete-directory rename-file)
(chicken file posix)
(only (chicken base) include error unless when flatten void current-error-port exit identity disjoin o delay-force vector-copy!)
(only (chicken io) read-string write-string read-line)
(only (chicken port) make-broadcast-port)
(only (chicken process-context) current-directory get-environment-variable)
(only (chicken condition) print-error-message)
(only (chicken time) current-milliseconds)
(only (chicken bitwise) bitwise-and)
(chicken process)
(only (chicken sort) sort))))
(import
scheme
(srfi 2) ;; and-let*
(srfi 6) ;; string ports
(srfi 11) ;; let-values
(srfi 12)
(srfi 26) ;; cut, cute
(srfi 39) ;; parameters
(srfi 69) ;; hash tables
(distill memo)
(distill nproc)
(distill filepath)
(distill eprint)
(distill coroutine)
(distill contract)
(distill kvector)
(distill tai64)
(distill hash)
(distill sandbox)
(distill fetch))
(include "plan.scm"))