Skip to content

Commit ccb7837

Browse files
committed
add Chicken egg build file
1 parent 8e19b0f commit ccb7837

7 files changed

+186
-12
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ schemepunk
44
*.meta
55
*.o
66
*.so
7+
*.link
8+
*.install.sh
9+
schemepunk.build.sh
10+
*.import.scm

Makefile

+6-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ clean:
4747
find . -name '*.o' -delete
4848
find . -name '*.o1' -delete
4949
find . -name '*.o2' -delete
50-
find . -name '*.slfasm' -delete
50+
find . -name '*.slfasl' -delete
51+
find . -name '*.so' -delete
52+
find . -name '*.link' -delete
53+
find . -name '*.import.scm' -delete
54+
find . -name '*.build.sh' -delete
55+
find . -name '*.install.sh' -delete
5156

5257
watch:
5358
nodemon -e scm,sld --exec 'make test || exit 1'

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ Schemes that don't natively support this.
2626
`srfi-99`, `srfi-113`, `srfi-128`, `srfi-133`, and `ioctl`. (`ioctl` is only
2727
required on Unix-based OSes.)
2828

29+
Schemepunk can also be built as a Chicken egg. Just run `chicken-install`
30+
(possibly with `-sudo`) in the repo's root directory.
31+
2932
## Modules
3033

3134
- [`(schemepunk box)` - Boxes](#schemepunk-box)

btree.sld

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
(when new-children
8888
(let loop ((i 0))
8989
(unless (is i > size)
90-
(chain (vector-ref i children)
90+
(chain (vector-ref children i)
9191
(node-deep-copy _)
9292
(vector-set! new-children i _))
9393
(loop (+ i 1)))))

hash-table.sld

+21-8
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,27 @@
5656
(else
5757
(import (scheme case-lambda)
5858
(except (schemepunk comparator) string-hash string-ci-hash)
59-
(rename (srfi 69)
60-
(hash-table-ref %hash-table-ref)
61-
(make-hash-table %make-hash-table)
62-
(alist->hash-table %alist->hash-table)
63-
(hash-table-copy %hash-table-copy)
64-
(hash-table-set! %hash-table-set!)
65-
(hash-table-delete! %hash-table-delete!)
66-
(hash-table-fold %hash-table-fold)))
59+
(rename
60+
(only (srfi 69)
61+
make-hash-table hash-table? alist->hash-table
62+
hash-table-equivalence-function hash-table-hash-function
63+
64+
hash-table-ref hash-table-ref/default hash-table-set!
65+
hash-table-delete! hash-table-exists? hash-table-update!
66+
hash-table-update!/default
67+
68+
hash-table-size hash-table-keys hash-table-values
69+
hash-table-walk hash-table-fold hash-table->alist
70+
hash-table-copy hash-table-merge!
71+
72+
hash string-hash string-ci-hash hash-by-identity)
73+
(hash-table-ref %hash-table-ref)
74+
(make-hash-table %make-hash-table)
75+
(alist->hash-table %alist->hash-table)
76+
(hash-table-copy %hash-table-copy)
77+
(hash-table-set! %hash-table-set!)
78+
(hash-table-delete! %hash-table-delete!)
79+
(hash-table-fold %hash-table-fold)))
6780
(include "polyfills/hash.scm")))
6881

6982
(begin

schemepunk.egg

+150
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
((author "Adam Nelson")
2+
(version "0.0.1")
3+
(license "Blue Oak Model License")
4+
(dependencies r7rs utf8 box srfi-41 srfi-69 srfi-99 srfi-113 srfi-128 srfi-133 ioctl)
5+
(component-options
6+
(csc-options "-R" "r7rs" "-X" "r7rs" "-debug-level" "2"))
7+
(components
8+
(extension schemepunk.function
9+
(source "function.sld"))
10+
(extension schemepunk.syntax
11+
(source "syntax.sld")
12+
(component-dependencies schemepunk.function))
13+
(extension schemepunk.list
14+
(source "list.sld")
15+
(component-dependencies schemepunk.syntax))
16+
(extension schemepunk.vector
17+
(source "vector.sld"))
18+
(extension schemepunk.stream
19+
(source "stream.sld"))
20+
(extension schemepunk.string
21+
(source "string.sld")
22+
(component-dependencies schemepunk.syntax schemepunk.list))
23+
(extension schemepunk.hook
24+
(source "hook.sld")
25+
(component-dependencies schemepunk.syntax schemepunk.list))
26+
(extension schemepunk.term-colors
27+
(source "term-colors.sld")
28+
(component-dependencies schemepunk.syntax schemepunk.list))
29+
(extension schemepunk.generator
30+
(source "generator.sld")
31+
(component-dependencies schemepunk.syntax schemepunk.list))
32+
(extension schemepunk.show.span
33+
(source "show/span.sld")
34+
(component-dependencies
35+
schemepunk.syntax schemepunk.list schemepunk.term-colors))
36+
(extension schemepunk.show.block
37+
(source "show/block.sld")
38+
(component-dependencies
39+
schemepunk.syntax schemepunk.list
40+
schemepunk.generator schemepunk.show.span))
41+
(extension schemepunk.show.numeric
42+
(source "show/numeric.sld")
43+
(component-dependencies
44+
schemepunk.syntax schemepunk.list schemepunk.string))
45+
(extension schemepunk.show.block.datum
46+
(source "show/block/datum.sld")
47+
(component-dependencies
48+
schemepunk.syntax schemepunk.list schemepunk.box
49+
schemepunk.generator schemepunk.term-colors
50+
schemepunk.show.span schemepunk.show.numeric schemepunk.show.block))
51+
(extension schemepunk.json
52+
(source "json.sld"))
53+
(extension schemepunk.show.block.json
54+
(source "show/block/json.sld")
55+
(component-dependencies
56+
schemepunk.syntax schemepunk.list schemepunk.vector schemepunk.json))
57+
(extension schemepunk.box
58+
(source "box.sld"))
59+
(extension schemepunk.path
60+
(source "path.sld")
61+
(component-dependencies schemepunk.syntax schemepunk.list))
62+
(extension schemepunk.sort
63+
(source "sort.sld"))
64+
(extension schemepunk.comparator
65+
(source "comparator.sld")
66+
(component-dependencies schemepunk.syntax schemepunk.list))
67+
(extension schemepunk.hash-table
68+
(source "hash-table.sld")
69+
(component-dependencies
70+
schemepunk.syntax schemepunk.list schemepunk.comparator
71+
schemepunk.show.span schemepunk.show.block schemepunk.show.block.datum))
72+
(extension schemepunk.btree
73+
(source "btree.sld")
74+
(component-dependencies
75+
schemepunk.syntax schemepunk.function schemepunk.list
76+
schemepunk.comparator))
77+
(extension schemepunk.mapping
78+
(source "mapping.sld")
79+
(component-dependencies
80+
schemepunk.syntax schemepunk.list schemepunk.comparator schemepunk.btree
81+
schemepunk.show.span schemepunk.show.block schemepunk.show.block.datum))
82+
(extension schemepunk.set
83+
(source "set.sld")
84+
(component-dependencies
85+
schemepunk.syntax schemepunk.list schemepunk.comparator
86+
schemepunk.show.span schemepunk.show.block schemepunk.show.block.datum))
87+
(extension schemepunk.multimap
88+
(source "multimap.sld")
89+
(component-dependencies
90+
schemepunk.syntax schemepunk.function schemepunk.list
91+
schemepunk.comparator schemepunk.set schemepunk.mapping
92+
schemepunk.show.span schemepunk.show.block schemepunk.show.block.datum))
93+
(extension schemepunk.show.terminal-width
94+
(source "show/terminal-width.sld"))
95+
(extension schemepunk.show.base
96+
(source "show/base.sld")
97+
(component-dependencies
98+
schemepunk.syntax schemepunk.function schemepunk.list
99+
schemepunk.generator schemepunk.comparator schemepunk.mapping
100+
schemepunk.box schemepunk.show.span schemepunk.show.block
101+
schemepunk.show.block.datum schemepunk.show.numeric
102+
schemepunk.show.terminal-width))
103+
(extension schemepunk.show.unicode
104+
(source "show/unicode.sld")
105+
(component-dependencies
106+
schemepunk.syntax schemepunk.function schemepunk.generator
107+
schemepunk.term-colors schemepunk.show.base schemepunk.show.span))
108+
(extension schemepunk.show.pretty
109+
(source "show/pretty.sld")
110+
(component-dependencies
111+
schemepunk.syntax schemepunk.show.base schemepunk.show.span
112+
schemepunk.show.block schemepunk.show.block.datum schemepunk.show.block.json))
113+
(extension schemepunk.show.color
114+
(source "show/color.sld")
115+
(component-dependencies
116+
schemepunk.syntax schemepunk.generator schemepunk.term-colors
117+
schemepunk.show.base schemepunk.show.span))
118+
(extension schemepunk.show.columnar
119+
(source "show/columnar.sld")
120+
(component-dependencies
121+
schemepunk.syntax schemepunk.function schemepunk.list schemepunk.generator
122+
schemepunk.show.base schemepunk.show.span schemepunk.show.block))
123+
(extension schemepunk.show
124+
(source "show.sld")
125+
(component-dependencies
126+
schemepunk.show.base schemepunk.show.pretty schemepunk.show.unicode
127+
schemepunk.show.color schemepunk.show.columnar))
128+
(extension schemepunk.show.report
129+
(source "show/report.sld")
130+
(component-dependencies
131+
schemepunk.syntax schemepunk.list schemepunk.string schemepunk.stream
132+
schemepunk.sort schemepunk.show))
133+
(extension schemepunk.show.debug
134+
(source "show/debug.sld")
135+
(component-dependencies schemepunk.show.base schemepunk.show.pretty))
136+
(extension schemepunk.datalog
137+
(source "datalog.sld")
138+
(component-dependencies
139+
schemepunk.syntax schemepunk.function schemepunk.list schemepunk.vector
140+
schemepunk.string schemepunk.comparator schemepunk.set schemepunk.mapping
141+
schemepunk.multimap))
142+
(extension schemepunk.command
143+
(source "command.sld")
144+
(component-dependencies
145+
schemepunk.syntax schemepunk.list schemepunk.function schemepunk.string
146+
schemepunk.show.base schemepunk.show.columnar schemepunk.show.color))
147+
(extension schemepunk.test
148+
(source "test.sld")
149+
(component-dependencies
150+
schemepunk.syntax schemepunk.list schemepunk.show schemepunk.show.report))))

show/report.sld

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
(schemepunk string)
99
(schemepunk stream)
1010
(schemepunk sort)
11-
(schemepunk show)
12-
(schemepunk show debug))
11+
(schemepunk show))
1312

1413
(begin
1514
(define report-line

0 commit comments

Comments
 (0)