about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--COPYING3
-rw-r--r--Makefile7
-rw-r--r--README.md2
-rw-r--r--chicanery.base.scm20
-rw-r--r--chicanery.egg2
-rw-r--r--chicanery.extras.scm15
6 files changed, 33 insertions, 16 deletions
diff --git a/COPYING b/COPYING index ab3d3dc..524116c 100644 --- a/COPYING +++ b/COPYING
@@ -4,7 +4,8 @@ Copyright (C) Case Duckworth under the terms of the
4 4
5Permission to use, distribute, modify, or otherwise interact with this software 5Permission to use, distribute, modify, or otherwise interact with this software
6is up to the good Lord, who in Their wisdom makes all things possible. I really 6is up to the good Lord, who in Their wisdom makes all things possible. I really
7recommend you take it up with Them whether you should use this software for any reason, including incorporating this software into your project. 7recommend you take it up with Them whether you should use this software for any
8reason, including incorporating this software into your project.
8 9
9This software comes with no warranties from the copyright holder; I cannot speak 10This software comes with no warranties from the copyright holder; I cannot speak
10for God. 11for God.
diff --git a/Makefile b/Makefile index 38d0ce0..2fee0e6 100644 --- a/Makefile +++ b/Makefile
@@ -1,13 +1,16 @@
1# chicanery 1# chicanery
2## this makefile exists only to ... make ... cleaning up easier, really. 2## this makefile exists only to ... make ... cleaning up easier, really.
3 3
4.PHONY: build install clean 4NAME = chicanery
5 5
6.PHONY: build
6build: 7build:
7 chicken-install -n 8 chicken-install -n
8 9
10.PHONY: install
9install: 11install:
10 chicken-install 12 chicken-install
11 13
14.PHONY: clean
12clean: 15clean:
13 rm -f *.sh *.import.* *.inline *.link *.o *.so *.types 16 rm -f $(NAME) *.sh *.import.* *.inline *.link *.o* *.so *.types *.c
diff --git a/README.md b/README.md index 85a5994..6c720b7 100644 --- a/README.md +++ b/README.md
@@ -46,4 +46,4 @@ Other extras include
46 46
47## License 47## License
48 48
49This software is licensed under the GWL, v. 1.0. See COPYING for details. 49This software is licensed under the GWL, v. 1.0. See [COPYING](https://git.acdw.net/chicanery/tree/COPYING) for details.
diff --git a/chicanery.base.scm b/chicanery.base.scm new file mode 100644 index 0000000..4ab0000 --- /dev/null +++ b/chicanery.base.scm
@@ -0,0 +1,20 @@
1;;; chicanery/impl/chicken -*- geiser-scheme-implementation: chicken -*-
2
3(module (chicanery base) ()
4 (import-for-syntax r7rs)
5 (import scheme (chicken module))
6 (reexport (scheme base)
7 (scheme case-lambda)
8 (scheme char)
9 (scheme complex)
10 (scheme cxr)
11 (scheme eval)
12 (scheme file)
13 (scheme inexact)
14 (scheme lazy)
15 (scheme load)
16 (scheme process-context)
17 (scheme read)
18 (scheme repl)
19 (scheme time)
20 (scheme write)))
diff --git a/chicanery.egg b/chicanery.egg index ca0fb94..2bce2f1 100644 --- a/chicanery.egg +++ b/chicanery.egg
@@ -2,7 +2,7 @@
2 2
3((synopsis "Subtly breaking scheme expectations.") 3((synopsis "Subtly breaking scheme expectations.")
4 (author "Case Duckworth") 4 (author "Case Duckworth")
5 (version "0.2.0") 5 (version "0.3.0")
6 (license "God Willing License") 6 (license "God Willing License")
7 (category lang-exts) 7 (category lang-exts)
8 (dependencies r7rs utf8) 8 (dependencies r7rs utf8)
diff --git a/chicanery.extras.scm b/chicanery.extras.scm index bcb4929..ae2823e 100644 --- a/chicanery.extras.scm +++ b/chicanery.extras.scm
@@ -1,11 +1,6 @@
1;;; chicanery extras --- extra stuff from ur old pal acdw
2
3(export list-map list-for-each list-append 1(export list-map list-for-each list-append
4 map for-each append) 2 map for-each append)
5 3
6;;; Generalized map, for-each, ...
7;; List versions are renamed `list-<function>'. Un-prefixed versions work
8;; with any (default) datatype. TODO: generalize?
9(define list-map map) 4(define list-map map)
10(define list-for-each for-each) 5(define list-for-each for-each)
11(define list-append append) 6(define list-append append)
@@ -45,9 +40,6 @@
45 (apply bytevector-append collections)) 40 (apply bytevector-append collections))
46 (else (error "Bad datatype" first))))) 41 (else (error "Bad datatype" first)))))
47 42
48(export ref
49 copy)
50
51;;; Extended generic functions. 43;;; Extended generic functions.
52;; These functions already have a list- version defined, but no non-prefixed 44;; These functions already have a list- version defined, but no non-prefixed
53;; one. So I'm fixing that. 45;; one. So I'm fixing that.
@@ -77,14 +69,12 @@
77 (bytevector-copy collection)) 69 (bytevector-copy collection))
78 (else (error "Bad datatype" collection)))) 70 (else (error "Bad datatype" collection))))
79 71
80;;; Functions that should be in scheme 72;;; Definitions that should be in scheme
81;; This sections should be as small as possible 73;; This sections should be as small as possible
82 74
83(export read-port 75(export read-port
84 read-port-chunk-size) 76 read-port-chunk-size)
85 77
86(define read-port-chunk-size
87 (make-parameter 512))
88 78
89(define (%read-port port) 79(define (%read-port port)
90 (let ((chunk-size (read-port-chunk-size))) 80 (let ((chunk-size (read-port-chunk-size)))
@@ -104,6 +94,9 @@
104 blank? 94 blank?
105 (cons next acc))))))) 95 (cons next acc)))))))
106 96
97(define read-port-chunk-size
98 (make-parameter 512))
99
107(define read-port 100(define read-port
108 (case-lambda 101 (case-lambda
109 (() (%read-port (current-input-port))) 102 (() (%read-port (current-input-port)))