Commit graph

723 commits

Author SHA1 Message Date
Justin Ethier
3e64420101 Added UTF8 support to Cyc_substring 2017-10-23 17:43:37 -04:00
Justin Ethier
424592ad8b Added TODO 2017-10-23 17:10:43 +00:00
Justin Ethier
114e284566 string-length: return number of codepoints 2017-10-23 13:39:04 +00:00
Justin Ethier
96e5692cb9 bugfix 2017-10-23 13:38:02 +00:00
Justin Ethier
8b817966e8 WIP 2017-10-23 13:26:29 +00:00
Justin Ethier
14626f15c4 Unicode changes, take code points into account 2017-10-22 18:59:35 -04:00
Justin Ethier
ac8b280578 Refactoring, added make_utf8_string 2017-10-20 16:29:56 +00:00
Justin Ethier
71c7ed3e7f Cleanup and added UTF 8 definitions to header file 2017-10-20 12:54:13 +00:00
Justin Ethier
ae3aa1941d Initial UTF-8 helpers 2017-10-19 13:29:57 +00:00
Justin Ethier
4d03c00f1c Posted requirements for char-ready 2017-09-07 17:54:21 -04:00
Justin Ethier
c4a569d2cd WIP 2017-09-06 22:57:39 +00:00
Justin Ethier
cd7d3ca7a5 Issue #221 2017-09-03 17:37:38 -04:00
Justin Ethier
572a05307a Issue #216 2017-09-01 14:03:20 +00:00
Justin Ethier
b9f461dbc5 Issue #216 - Decrement len when no newline 2017-08-31 22:19:13 +00:00
Justin Ethier
eac30107d3 Issue #216 - read-line remove trailing newlines 2017-08-31 22:02:10 +00:00
Justin Ethier
4be7d73e12 Issue #214 - Prevent segfault with large vectors
Large vectors are allocated directly on the heap but may contain elements that are still on the stack. To ensure all of these elements are transported to the heap during the next minor GC, a special Opaque object is placed into the mutation table to ensure the whole vector is scanned for stack objects during the next minor GC.

Previously this was not done so objects from the "old" stack were still in memory and any changes to them were trashing random portions of the stack!
2017-08-24 21:48:59 +00:00
Justin Ethier
49df11049a Speed up Cyc_remainder
Do not type check at the start of the function since there is already type checking in the function body.
2017-08-23 17:51:41 -04:00
Justin Ethier
d03258c83a Make read a little faster by streamlining main path
Move 2 comparisons underneath the (vector?) case, so in the normal case they can be skipped.
2017-08-23 17:26:20 +00:00
Justin Ethier
a5dfcc2f85 Removed unnecessary type checks 2017-08-22 17:55:22 +00:00
Justin Ethier
3b75d3ea16 Added type checking to Cyc_io_read_line() 2017-08-21 12:31:06 +00:00
Justin Ethier
66cd34c84c Convert read/peek char to use fread code 2017-08-21 12:21:21 +00:00
Justin Ethier
d471813a37 Faster parsing of numbers 2017-08-21 10:39:03 +00:00
Justin Ethier
8b3bf050e8 Added new members for in-memory I/O 2017-08-19 18:04:39 -04:00
Justin Ethier
e01815ae21 Bug fixes 2017-08-18 17:52:06 -04:00
Justin Ethier
fb18bf46ce Do not display unnecessary colon in error msgs 2017-08-18 17:33:12 -04:00
Justin Ethier
4c5191f2b8 Added new read_len field for fread 2017-08-17 13:54:44 +00:00
Justin Ethier
ffba7ff683 Added #\escape 2017-08-17 11:04:26 +00:00
Justin Ethier
caecc28994 Added docs 2017-08-16 22:57:17 -04:00
Justin Ethier
d41b9e8d95 Recover from EINTR 2017-08-16 22:43:00 -04:00
Justin Ethier
af30ac8066 Cut over to faster reader for files 2017-08-16 14:36:37 +00:00
Justin Ethier
5ecf409f54 Return buffer if not empty upon EOF 2017-08-16 12:05:55 +00:00
Justin Ethier
9226403da9 Encode comma syntax 2017-08-16 11:42:18 +00:00
Justin Ethier
94f15d699e Special encoding for syntax - parens, quotes 2017-08-16 11:02:41 +00:00
Justin Ethier
62a54a50d5 WIP, not quite right with differentiating chars 2017-08-15 19:02:47 -04:00
Justin Ethier
61d242521b Fix to reference tok_end 2017-08-15 18:31:04 -04:00
Justin Ethier
941f5bd737 Hook up _read_character 2017-08-15 17:44:17 +00:00
Justin Ethier
297c8e04ab Added _read_character 2017-08-15 17:41:42 +00:00
Justin Ethier
e01c32aac1 Differentiate exact/inexact numbers 2017-08-15 17:20:06 +00:00
Justin Ethier
ab293fccb9 Parse numbers 2017-08-15 17:14:19 +00:00
Justin Ethier
685a90c9a4 Read literal identifiers 2017-08-15 16:52:34 +00:00
Justin Ethier
42f71af404 WIP 2017-08-15 13:43:27 +00:00
Justin Ethier
7ddb9f3ce6 Bytevector parsing 2017-08-15 13:39:58 +00:00
Justin Ethier
a492ea820c Handle datum comments 2017-08-15 13:23:16 +00:00
Justin Ethier
a125e1add6 WIP - block comments 2017-08-15 13:16:05 +00:00
Justin Ethier
e8e76f457a Handle potentially blocking I/O calls 2017-08-15 12:53:54 +00:00
Justin Ethier
93798144b2 WIP 2017-08-14 22:43:43 +00:00
Justin Ethier
c697b71d67 WIP 2017-08-14 22:33:18 +00:00
Justin Ethier
56fcf3bb5b Hex scalars as part of strings 2017-08-14 22:10:46 +00:00
Justin Ethier
35cb42fb99 WIP 2017-08-14 21:54:07 +00:00
Justin Ethier
e99bc4c044 Parse unquote / unquote-splicing 2017-08-14 21:31:31 +00:00