Commit graph

1105 commits

Author SHA1 Message Date
Justin Ethier
6aaa600ebc Bugfixes:
- Avoid unnecessary calls to `strlen`
- Type check the `fill` parameter to `make-string`
2017-10-27 13:01:04 +00:00
Justin Ethier
77e391cabc Uncomment fast path 2017-10-26 22:35:11 +00:00
Justin Ethier
703f863e48 Fixes for make-string 2017-10-26 21:56:35 +00:00
Justin Ethier
0bd0eeb7a6 WIP 2017-10-26 17:04:52 +00:00
Justin Ethier
722d077367 WIP 2017-10-24 19:01:20 -04:00
Justin Ethier
6c4dd4b740 Compute number of code points and byte len 2017-10-24 17:53:09 -04:00
Justin Ethier
4b2b866ba7 Bump to 0.7 2017-10-08 21:46:56 +00:00
Justin Ethier
c339234632 Issue #225 - Added error-object interfaces
This is only a rough-cut of the actual implementation, though.
2017-09-15 12:14:26 +00:00
Vasilij Schneidermann
d731f92e7d read-string: return EOF if nothing can be read
R7RS states that there's three possible scenarios for read-string:

- More characters can be read than asked for (return string)
- Less characters can be read than asked for (return string)
- No characters can be read (return EOF)

This commit ensures the last scenario works as intended.
2017-09-07 17:07:05 +02:00
Justin Ethier
94df8603c6 Issue #217 - Use primitives directly if possible 2017-09-05 17:44:25 -04:00
Justin Ethier
db011aa1af Issue #220 - make-string - use heap for large strs 2017-09-05 17:32:04 -04:00
Justin Ethier
2647ceb4ae WIP 2017-09-05 13:44:16 +00:00
Justin Ethier
8f2a918283 Issue #217 - Optional port arg for peek-char 2017-09-04 18:38:15 -04:00
Justin Ethier
12c91b86a5 Issue #217 2017-09-02 18:49:41 -04:00
Justin Ethier
945c171892 Issue #215 2017-08-29 13:52:20 +00:00
Justin Ethier
18976155f8 Bump to 0.6.3 2017-08-28 19:03:15 -04:00
Justin Ethier
fc49dbb52a Issue #215 - Added (->dyadic) and some conversions 2017-08-28 19:02:11 -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
821e04eb34 Cache symbols instead of computing them each time 2017-08-23 16:56:39 +00:00
Justin Ethier
c5ddd79aff Added opt:add-inlinable-functions 2017-08-23 16:30:18 +00:00
Justin Ethier
64a562812b Mark additional function as inline 2017-08-23 16:27:57 +00:00
Justin Ethier
922eb69658 Relocated string-join and added string-split 2017-08-23 12:02:53 +00:00
Justin Ethier
e2e2232146 Added string split/join 2017-08-23 11:54:29 +00:00
Justin Ethier
73b166c65f Added inline functions 2017-08-22 18:58:36 -04:00
Justin Ethier
0ce2190292 Placeholders for 0.6.2 2017-08-22 17:56:16 +00:00
Justin Ethier
32a8a0c21d Bump to 0.6.1 2017-08-21 18:56:15 -04:00
Justin Ethier
d471813a37 Faster parsing of numbers 2017-08-21 10:39:03 +00:00
Justin Ethier
e01815ae21 Bug fixes 2017-08-18 17:52:06 -04:00
Justin Ethier
68bf9e3316 Remove old code 2017-08-18 17:06:21 -04:00
Justin Ethier
f61ba6ee4a Cleanup 2017-08-17 16:36:01 +00:00
Justin Ethier
b997d10f43 Cut-over to new reader 2017-08-17 13:54:53 +00:00
Justin Ethier
cc9a16b033 Bump to 0.6 2017-08-17 11:53:04 +00:00
Justin Ethier
af30ac8066 Cut over to faster reader for files 2017-08-16 14:36:37 +00:00
Justin Ethier
3072000956 Remove old comments 2017-08-07 18:52:49 -04:00
Justin Ethier
8684c93e20 Possible TODO 2017-08-02 13:07:52 +00:00
Justin Ethier
69a54ecb6a Added constant folding back 2017-08-01 18:43:33 -04:00
Justin Ethier
9a9bb4079f Disabling cyc-seq for now, since it breaks gcbench
Compiling with this seems to cause crashes (segfaults, etc) on the gcbench program.
2017-08-01 18:08:12 -04:00
Justin Ethier
0e5257eb91 Reverting constant folding for now 2017-08-01 13:27:49 +00:00
Justin Ethier
e8aa42e247 Issue #207 - Added comments 2017-07-27 11:43:49 +00:00
Justin Ethier
67ca9edbec WIP 2017-07-26 19:02:31 -04:00
Justin Ethier
a758111aad Issue #207 - Added constant folding 2017-07-26 14:52:03 +00:00
Justin Ethier
5112aa9f46 Do not precompute user defined prim 2017-07-19 18:02:20 -04:00
Justin Ethier
f2db6235e0 Issue #206 - Fix cyc-seq, and only do it as an optimization 2017-07-18 17:41:33 -04:00
Justin Ethier
a30b03767f Revert for now 2017-07-18 13:08:16 +00:00
Justin Ethier
dd1f701d54 Export c-compile-program 2017-07-18 13:06:39 +00:00
Justin Ethier
89c58f8b44 Omit C meaningless expressions
When compiling Cyc-seq expressions there are cases where the generated C code would have no effect. Just omit it in this case to prevent a warning from the C compiler.
2017-07-13 10:35:10 +00:00
Justin Ethier
856f201eb0 Optimize negation 2017-07-12 12:07:41 +00:00
Justin Ethier
d78a516138 WIP - experimental optimization 2017-07-11 18:53:06 -04:00
Justin Ethier
37d510a41f Only use Cyc-seq for non-CPSing arguments 2017-07-10 13:26:30 +00:00
Justin Ethier
8ba1954ac3 WIP 2017-07-07 18:44:13 -04:00