Skip to content

Commit 4f87c9f

Browse files
committed
Include libraries for SRFI 23, 34, and 39.
1 parent a78bb48 commit 4f87c9f

File tree

4 files changed

+112
-0
lines changed

4 files changed

+112
-0
lines changed

LispKit.xcodeproj/project.pbxproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@
116116
CC6A3B721C54DF7F00E962E2 /* Exprs.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B711C54DF7F00E962E2 /* Exprs.swift */; };
117117
CC6AB0871C5C28FE008E9460 /* Equality.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6AB0861C5C28FE008E9460 /* Equality.swift */; };
118118
CC6BB19A1E60F237009A9091 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6BB1991E60F237009A9091 /* Random.swift */; };
119+
CC703A13218BC4C100E71EA9 /* 23.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CC703A12218BC40600E71EA9 /* 23.sld */; };
120+
CC703A14218BC53600E71EA9 /* 14.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CCC1DBFB216BA1750019A374 /* 14.sld */; };
121+
CC703A15218BC54800E71EA9 /* 16.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CCC1DBFC216BA2600019A374 /* 16.sld */; };
122+
CC703A18218BC8D800E71EA9 /* 34.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CC703A16218BC61D00E71EA9 /* 34.sld */; };
123+
CC703A19218BC8E400E71EA9 /* 39.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CC703A17218BC7D000E71EA9 /* 39.sld */; };
119124
CC72862D1F52B32C00EEBC58 /* heap.sld in Copy pre-installed LispKit libraries */ = {isa = PBXBuildFile; fileRef = CC72862C1F52B2F600EEBC58 /* heap.sld */; };
120125
CC750BD81F5AC71500CD82A2 /* PDF.scm in Copy examples */ = {isa = PBXBuildFile; fileRef = CC750BD71F5AC68900CD82A2 /* PDF.scm */; };
121126
CC750BDA1F5B776700CD82A2 /* prettify.sld in Copy pre-installed LispKit libraries */ = {isa = PBXBuildFile; fileRef = CC750BD91F5B772200CD82A2 /* prettify.sld */; };
@@ -402,6 +407,11 @@
402407
dstPath = LispKit/Resources/Libraries/srfi;
403408
dstSubfolderSpec = 7;
404409
files = (
410+
CC703A19218BC8E400E71EA9 /* 39.sld in Copy pre-installed SRFI libraries */,
411+
CC703A18218BC8D800E71EA9 /* 34.sld in Copy pre-installed SRFI libraries */,
412+
CC703A15218BC54800E71EA9 /* 16.sld in Copy pre-installed SRFI libraries */,
413+
CC703A14218BC53600E71EA9 /* 14.sld in Copy pre-installed SRFI libraries */,
414+
CC703A13218BC4C100E71EA9 /* 23.sld in Copy pre-installed SRFI libraries */,
405415
CC3F78312157D73700F88F9B /* 11.sld in Copy pre-installed SRFI libraries */,
406416
CC3F782F2157D49000F88F9B /* 51.sld in Copy pre-installed SRFI libraries */,
407417
CC1EA5CB214EF30E006BBE7E /* 161.sld in Copy pre-installed SRFI libraries */,
@@ -550,6 +560,9 @@
550560
CC6A3B711C54DF7F00E962E2 /* Exprs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Exprs.swift; sourceTree = "<group>"; };
551561
CC6AB0861C5C28FE008E9460 /* Equality.swift */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = Equality.swift; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
552562
CC6BB1991E60F237009A9091 /* Random.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Random.swift; sourceTree = "<group>"; };
563+
CC703A12218BC40600E71EA9 /* 23.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = 23.sld; sourceTree = "<group>"; };
564+
CC703A16218BC61D00E71EA9 /* 34.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = 34.sld; sourceTree = "<group>"; };
565+
CC703A17218BC7D000E71EA9 /* 39.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = 39.sld; sourceTree = "<group>"; };
553566
CC72862C1F52B2F600EEBC58 /* heap.sld */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = heap.sld; sourceTree = "<group>"; };
554567
CC750BD71F5AC68900CD82A2 /* PDF.scm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PDF.scm; sourceTree = "<group>"; };
555568
CC750BD91F5B772200CD82A2 /* prettify.sld */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = prettify.sld; sourceTree = "<group>"; };
@@ -819,10 +832,13 @@
819832
CCC1DBFC216BA2600019A374 /* 16.sld */,
820833
CC8A2AAE1F405CDD00D1E4D8 /* 17.sld */,
821834
CC5848081E56BD0B00BE6497 /* 19.sld */,
835+
CC703A12218BC40600E71EA9 /* 23.sld */,
822836
CC5848091E56BD0B00BE6497 /* 27.sld */,
823837
CC58480A1E56BD0B00BE6497 /* 28.sld */,
824838
CC48EBC11F3A645C00233FA9 /* 31.sld */,
839+
CC703A16218BC61D00E71EA9 /* 34.sld */,
825840
CC48EBC21F3A6BFF00233FA9 /* 35.sld */,
841+
CC703A17218BC7D000E71EA9 /* 39.sld */,
826842
CC48EBCD1F3E5AC700233FA9 /* 41 */,
827843
CC58480B1E56BD1800BE6497 /* 41.sld */,
828844
CC8A2AB01F40672700D1E4D8 /* 48.sld */,
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
;;; SRFI 23
2+
;;; Error reporting mechanism
3+
;;;
4+
;;; The SRFI introduces a mechanism which allows Scheme code to report errors and abort
5+
;;; the execution.
6+
;;;
7+
;;; Author of spec: Stephan Houben
8+
;;;
9+
;;; Copyright © 2018 Matthias Zenger. All rights reserved.
10+
;;;
11+
;;; Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
12+
;;; except in compliance with the License. You may obtain a copy of the License at
13+
;;;
14+
;;; http://www.apache.org/licenses/LICENSE-2.0
15+
;;;
16+
;;; Unless required by applicable law or agreed to in writing, software distributed under the
17+
;;; License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
18+
;;; either express or implied. See the License for the specific language governing permissions
19+
;;; and limitations under the License.
20+
21+
(define-library (srfi 23)
22+
23+
(export error)
24+
25+
(import (lispkit dynamic))
26+
27+
;; `error` is implemented natively in library `(lispkit dynamic)`
28+
)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
;;; SRFI 34
2+
;;; Exception Handling for Programs
3+
;;;
4+
;;; This SRFI defines exception-handling and exception-raising constructs for Scheme, including
5+
;;; - a `with-exception-handler` procedure and a `guard` form for installing
6+
;;; exception-handling procedures,
7+
;;; - a `raise` procedure for invoking the current exception handler.
8+
;;;
9+
;;; Author of spec: Richard Kelsey, Michael Sperber
10+
;;;
11+
;;; Copyright © 2018 Matthias Zenger. All rights reserved.
12+
;;;
13+
;;; Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
14+
;;; except in compliance with the License. You may obtain a copy of the License at
15+
;;;
16+
;;; http://www.apache.org/licenses/LICENSE-2.0
17+
;;;
18+
;;; Unless required by applicable law or agreed to in writing, software distributed under the
19+
;;; License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
20+
;;; either express or implied. See the License for the specific language governing permissions
21+
;;; and limitations under the License.
22+
23+
(define-library (srfi 34)
24+
25+
(export with-exception-handler
26+
guard
27+
raise)
28+
29+
(import (lispkit dynamic))
30+
31+
;; `with-exception-handler`, `guard`, and `raise` are implemented natively in
32+
;; library `(lispkit dynamic)`
33+
)
34+
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
;;; SRFI 39
2+
;;; Parameter objects
3+
;;;
4+
;;; This SRFI defines parameter objects, the procedure `make-parameter` to create parameter
5+
;;; objects and the `parameterize` special form to dynamically bind parameter objects.
6+
;;; In the dynamic environment, each parameter object is bound to a cell containing the
7+
;;; value of the parameter. When a procedure is called, the called procedure inherits the
8+
;;; dynamic environment from the caller. The `parameterize` special form allows the binding
9+
;;; of a parameter object to be changed for the dynamic extent of its body.
10+
;;;
11+
;;; Author of spec: Marc Feeley
12+
;;;
13+
;;; Copyright © 2018 Matthias Zenger. All rights reserved.
14+
;;;
15+
;;; Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
16+
;;; except in compliance with the License. You may obtain a copy of the License at
17+
;;;
18+
;;; http://www.apache.org/licenses/LICENSE-2.0
19+
;;;
20+
;;; Unless required by applicable law or agreed to in writing, software distributed under the
21+
;;; License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
22+
;;; either express or implied. See the License for the specific language governing permissions
23+
;;; and limitations under the License.
24+
25+
(define-library (srfi 39)
26+
27+
(export make-parameter
28+
parameterize)
29+
30+
(import (lispkit dynamic))
31+
32+
;; `make-parameter` and `parameterize` are implemented natively in library
33+
;; `(lispkit dynamic)`
34+
)

0 commit comments

Comments
 (0)