Skip to content

Commit 1a0dc28

Browse files
committed
Native implementation of character sets. New libraries (lispkit char-set) and (scheme charset). Reimplementation of (srfi 14). Regression tests for (srfi 14).
1 parent f97fb54 commit 1a0dc28

File tree

14 files changed

+1298
-786
lines changed

14 files changed

+1298
-786
lines changed

LispKit.xcodeproj/project.pbxproj

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@
9090
CC54923921D97FB7004A0652 /* 101.sld in Copy pre-installed SRFI libraries */ = {isa = PBXBuildFile; fileRef = CC54923821D97F53004A0652 /* 101.sld */; };
9191
CC54923B21D9828B004A0652 /* SRFI-101-Tests.scm in Copy tests */ = {isa = PBXBuildFile; fileRef = CC54923A21D9823B004A0652 /* SRFI-101-Tests.scm */; };
9292
CC54923D21D98F81004A0652 /* rlist.sld in Copy pre-installed Scheme libraries */ = {isa = PBXBuildFile; fileRef = CC54923C21D98E3E004A0652 /* rlist.sld */; };
93+
CC54923F21DAF364004A0652 /* CharSetLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC54923E21DAF364004A0652 /* CharSetLibrary.swift */; };
94+
CC54924121DC2A44004A0652 /* CharSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC54924021DC2A44004A0652 /* CharSet.swift */; };
95+
CC54924621DCDF71004A0652 /* ascii.sld in Copy pre-installed LispKit library: SRFI 14 */ = {isa = PBXBuildFile; fileRef = CC54924321DCDC7F004A0652 /* ascii.sld */; };
96+
CC54924721DCDFE2004A0652 /* SRFI-14-Tests.scm in Copy tests */ = {isa = PBXBuildFile; fileRef = CC54924421DCDEA1004A0652 /* SRFI-14-Tests.scm */; };
97+
CC54924921DCF619004A0652 /* charset.sld in Copy pre-installed Scheme libraries */ = {isa = PBXBuildFile; fileRef = CC54924821DCF46B004A0652 /* charset.sld */; };
9398
CC55A8291C50D35C00772B02 /* Procedure.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC55A8281C50D35C00772B02 /* Procedure.swift */; };
9499
CC55A82B1C5175B000772B02 /* SpecialForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC55A82A1C5175B000772B02 /* SpecialForm.swift */; };
95100
CC5696771CBCFA9900F6803E /* Instruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC5696761CBCFA9900F6803E /* Instruction.swift */; };
@@ -125,7 +130,7 @@
125130
CC6A3B5C1C52E71F00E962E2 /* ListLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B5B1C52E71F00E962E2 /* ListLibrary.swift */; };
126131
CC6A3B5E1C52E8EF00E962E2 /* VectorLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B5D1C52E8EF00E962E2 /* VectorLibrary.swift */; };
127132
CC6A3B601C52EBD700E962E2 /* StringLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B5F1C52EBD700E962E2 /* StringLibrary.swift */; };
128-
CC6A3B621C52ED7D00E962E2 /* CharacterLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B611C52ED7D00E962E2 /* CharacterLibrary.swift */; };
133+
CC6A3B621C52ED7D00E962E2 /* CharLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B611C52ED7D00E962E2 /* CharLibrary.swift */; };
129134
CC6A3B641C52EED400E962E2 /* MathLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B631C52EED400E962E2 /* MathLibrary.swift */; };
130135
CC6A3B681C52F17200E962E2 /* BaseLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B671C52F17200E962E2 /* BaseLibrary.swift */; };
131136
CC6A3B6A1C539DCA00E962E2 /* ManagedObjectPool.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC6A3B691C539DCA00E962E2 /* ManagedObjectPool.swift */; };
@@ -278,6 +283,7 @@
278283
dstPath = LispKit/Resources/Tests;
279284
dstSubfolderSpec = 7;
280285
files = (
286+
CC54924721DCDFE2004A0652 /* SRFI-14-Tests.scm in Copy tests */,
281287
CC54923B21D9828B004A0652 /* SRFI-101-Tests.scm in Copy tests */,
282288
CC2C73DF21A22D2B00B18661 /* SRFI-125-Tests.scm in Copy tests */,
283289
CC09ECF42198B8C100F84713 /* R7RS-Tests.scm in Copy tests */,
@@ -364,6 +370,17 @@
364370
name = "Copy pre-installed LispKit library: SRFI 135";
365371
runOnlyForDeploymentPostprocessing = 0;
366372
};
373+
CC54924521DCDF4F004A0652 /* Copy pre-installed LispKit library: SRFI 14 */ = {
374+
isa = PBXCopyFilesBuildPhase;
375+
buildActionMask = 2147483647;
376+
dstPath = LispKit/Resources/Libraries/srfi/14;
377+
dstSubfolderSpec = 7;
378+
files = (
379+
CC54924621DCDF71004A0652 /* ascii.sld in Copy pre-installed LispKit library: SRFI 14 */,
380+
);
381+
name = "Copy pre-installed LispKit library: SRFI 14";
382+
runOnlyForDeploymentPostprocessing = 0;
383+
};
367384
CC5848001E50ABE100BE6497 /* Copy pre-installed LispKit libraries */ = {
368385
isa = PBXCopyFilesBuildPhase;
369386
buildActionMask = 2147483647;
@@ -419,6 +436,7 @@
419436
dstPath = LispKit/Resources/Libraries/scheme;
420437
dstSubfolderSpec = 7;
421438
files = (
439+
CC54924921DCF619004A0652 /* charset.sld in Copy pre-installed Scheme libraries */,
422440
CC54923D21D98F81004A0652 /* rlist.sld in Copy pre-installed Scheme libraries */,
423441
CC2C73E121A22F0D00B18661 /* hash-table.sld in Copy pre-installed Scheme libraries */,
424442
CC2C73D221A1E9DC00B18661 /* vector.sld in Copy pre-installed Scheme libraries */,
@@ -625,6 +643,11 @@
625643
CC54923821D97F53004A0652 /* 101.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = 101.sld; sourceTree = "<group>"; };
626644
CC54923A21D9823B004A0652 /* SRFI-101-Tests.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = "SRFI-101-Tests.scm"; sourceTree = "<group>"; };
627645
CC54923C21D98E3E004A0652 /* rlist.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = rlist.sld; sourceTree = "<group>"; };
646+
CC54923E21DAF364004A0652 /* CharSetLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CharSetLibrary.swift; sourceTree = "<group>"; };
647+
CC54924021DC2A44004A0652 /* CharSet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CharSet.swift; sourceTree = "<group>"; };
648+
CC54924321DCDC7F004A0652 /* ascii.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = ascii.sld; sourceTree = "<group>"; };
649+
CC54924421DCDEA1004A0652 /* SRFI-14-Tests.scm */ = {isa = PBXFileReference; lastKnownFileType = text; path = "SRFI-14-Tests.scm"; sourceTree = "<group>"; };
650+
CC54924821DCF46B004A0652 /* charset.sld */ = {isa = PBXFileReference; lastKnownFileType = text; path = charset.sld; sourceTree = "<group>"; };
628651
CC55A8281C50D35C00772B02 /* Procedure.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Procedure.swift; sourceTree = "<group>"; };
629652
CC55A82A1C5175B000772B02 /* SpecialForm.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpecialForm.swift; sourceTree = "<group>"; };
630653
CC5696761CBCFA9900F6803E /* Instruction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Instruction.swift; sourceTree = "<group>"; };
@@ -657,7 +680,7 @@
657680
CC6A3B5B1C52E71F00E962E2 /* ListLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = ListLibrary.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
658681
CC6A3B5D1C52E8EF00E962E2 /* VectorLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = VectorLibrary.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
659682
CC6A3B5F1C52EBD700E962E2 /* StringLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = StringLibrary.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
660-
CC6A3B611C52ED7D00E962E2 /* CharacterLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = CharacterLibrary.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
683+
CC6A3B611C52ED7D00E962E2 /* CharLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = CharLibrary.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
661684
CC6A3B631C52EED400E962E2 /* MathLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = MathLibrary.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
662685
CC6A3B671C52F17200E962E2 /* BaseLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseLibrary.swift; sourceTree = "<group>"; };
663686
CC6A3B691C539DCA00E962E2 /* ManagedObjectPool.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ManagedObjectPool.swift; sourceTree = "<group>"; };
@@ -837,6 +860,7 @@
837860
isa = PBXGroup;
838861
children = (
839862
CC09ECF22198B87200F84713 /* R7RS-Tests.scm */,
863+
CC54924421DCDEA1004A0652 /* SRFI-14-Tests.scm */,
840864
CC54923A21D9823B004A0652 /* SRFI-101-Tests.scm */,
841865
CC2C73DE21A22CFD00B18661 /* SRFI-125-Tests.scm */,
842866
);
@@ -900,6 +924,7 @@
900924
isa = PBXGroup;
901925
children = (
902926
CC2C73D121A1E7F900B18661 /* box.sld */,
927+
CC54924821DCF46B004A0652 /* charset.sld */,
903928
CC2C73C4219E26D900B18661 /* comparator.sld */,
904929
CC2C73C5219E286D00B18661 /* generator.sld */,
905930
CC2C73E021A22DDD00B18661 /* hash-table.sld */,
@@ -948,6 +973,14 @@
948973
path = 41;
949974
sourceTree = "<group>";
950975
};
976+
CC54924221DCDC52004A0652 /* 14 */ = {
977+
isa = PBXGroup;
978+
children = (
979+
CC54924321DCDC7F004A0652 /* ascii.sld */,
980+
);
981+
path = 14;
982+
sourceTree = "<group>";
983+
};
951984
CC5847FE1E506D7400BE6497 /* lispkit */ = {
952985
isa = PBXGroup;
953986
children = (
@@ -982,6 +1015,7 @@
9821015
CC5848071E56BD0B00BE6497 /* 8.sld */,
9831016
CC3F78302157D63E00F88F9B /* 11.sld */,
9841017
CCC1DBFB216BA1750019A374 /* 14.sld */,
1018+
CC54924221DCDC52004A0652 /* 14 */,
9851019
CCC1DBFC216BA2600019A374 /* 16.sld */,
9861020
CC8A2AAE1F405CDD00D1E4D8 /* 17.sld */,
9871021
CC5848081E56BD0B00BE6497 /* 19.sld */,
@@ -1238,7 +1272,8 @@
12381272
CC6A3B5D1C52E8EF00E962E2 /* VectorLibrary.swift */,
12391273
CC4D2C9E1D5EDA2A00A02256 /* RecordLibrary.swift */,
12401274
CC050F131D017D3400D32132 /* BytevectorLibrary.swift */,
1241-
CC6A3B611C52ED7D00E962E2 /* CharacterLibrary.swift */,
1275+
CC6A3B611C52ED7D00E962E2 /* CharLibrary.swift */,
1276+
CC54923E21DAF364004A0652 /* CharSetLibrary.swift */,
12421277
CC6A3B5F1C52EBD700E962E2 /* StringLibrary.swift */,
12431278
CC4E2D361D09691000D77159 /* PortLibrary.swift */,
12441279
CC4575C520F00C4400116F0F /* DrawingLibrary.swift */,
@@ -1258,6 +1293,7 @@
12581293
CC9065B41C5557E4004A88B7 /* ObjectPool.swift */,
12591294
CC6A3B691C539DCA00E962E2 /* ManagedObjectPool.swift */,
12601295
CC5C0A3E1D8EBE0A00CE2E98 /* MultiMap.swift */,
1296+
CC54924021DC2A44004A0652 /* CharSet.swift */,
12611297
CC76312820E9550A005F27CE /* Owners.swift */,
12621298
CCF529971CBC73F7000C2959 /* StringBuilder.swift */,
12631299
CC8EDE711D0727A4004E0636 /* ScanBuffer.swift */,
@@ -1354,6 +1390,7 @@
13541390
CC5C71401EBD3DD100280CF4 /* Copy dSYM data */,
13551391
CC2E6A901C486AA70046E680 /* Copy default prelude */,
13561392
CCA752F91DEF9F4E0098C34A /* Copy pre-installed SRFI libraries */,
1393+
CC54924521DCDF4F004A0652 /* Copy pre-installed LispKit library: SRFI 14 */,
13571394
CC8E2BA01E3361C50080299A /* Copy pre-installed LispKit library: SRFI 41 */,
13581395
CC2C73DA21A1FFB200B18661 /* Copy pre-installed LispKit library: SRFI 69 */,
13591396
CC48EBD21F3E5B9900233FA9 /* Copy pre-installed LispKit library: SRFI 135 */,
@@ -1513,7 +1550,8 @@
15131550
CCC531A01D18595500FAED6E /* TextOutputTarget.swift in Sources */,
15141551
CC14F4B01F939486000FB1E0 /* Features.swift in Sources */,
15151552
CC5A47211C5295E600EFCF76 /* NativeLibrary.swift in Sources */,
1516-
CC6A3B621C52ED7D00E962E2 /* CharacterLibrary.swift in Sources */,
1553+
CC54924121DC2A44004A0652 /* CharSet.swift in Sources */,
1554+
CC6A3B621C52ED7D00E962E2 /* CharLibrary.swift in Sources */,
15171555
CCA31283204CB7CB0026FF13 /* EvalError.swift in Sources */,
15181556
CC4E2D371D09691000D77159 /* PortLibrary.swift in Sources */,
15191557
CC6A3B6C1C53EE3200E962E2 /* Promise.swift in Sources */,
@@ -1576,6 +1614,7 @@
15761614
CC5C0A3F1D8EBE0A00CE2E98 /* MultiMap.swift in Sources */,
15771615
CCCEB3FF1DF2DAA9009BF66B /* FileHandler.swift in Sources */,
15781616
CCE4AED0204217D8008BF7E8 /* SourcePosition.swift in Sources */,
1617+
CC54923F21DAF364004A0652 /* CharSetLibrary.swift in Sources */,
15791618
CC55A82B1C5175B000772B02 /* SpecialForm.swift in Sources */,
15801619
);
15811620
runOnlyForDeploymentPostprocessing = 0;

0 commit comments

Comments
 (0)