Commit graph

1091 commits

Author SHA1 Message Date
Justin Ethier
c404a6b588 Working letrec-syntax
Need to understand a bit more why this works, though...
2017-12-15 18:10:28 -05:00
Justin Ethier
c962050c9b Added new linbrary 2017-12-15 14:23:11 -05:00
Justin Ethier
4ea55e062a WIP 2017-12-15 14:17:54 -05:00
Justin Ethier
9817ecd465 WIP 2017-12-14 19:04:15 -05:00
Justin Ethier
dcc49baa3b WIP, enabled debugging for diagnostic 2017-12-13 19:12:13 -05:00
Justin Ethier
4eaa61c0a4 Partially-working version of letrec-syntax 2017-12-12 19:03:45 -05:00
Justin Ethier
b283c50341 Placeholders for letrec-syntax 2017-12-12 18:13:19 -05:00
Justin Ethier
55b112afbd WIP 2017-12-12 14:19:10 -05:00
Justin Ethier
d2e6139e5b Added letrec-syntax to list of keywords in the rename code 2017-12-11 13:56:21 -05:00
Justin Ethier
5adf35a364 Allow eval to handle syntax-rules 2017-12-08 12:56:55 -05:00
Justin Ethier
23e67294ec Handle renamed syntax-rules when expanding define-syntax 2017-12-07 12:41:03 -05:00
Justin Ethier
f40232e9eb Removed debug traces 2017-12-06 17:59:49 -05:00
Justin Ethier
b2e9524e70 Handled renamed syntax-rules during macro expansion 2017-12-06 17:55:49 -05:00
Justin Ethier
a8527380a6 Re-enabled debugging 2017-12-01 16:11:14 -05:00
Justin Ethier
7f6271d622 Add let-syntax to list of keywords 2017-12-01 14:08:30 -05:00
Justin Ethier
dd4b7243e0 Disable debugging 2017-12-01 13:15:53 -05:00
Justin Ethier
046c1f9d22 WIP, able to expand some let-syntax now
Still is debugging here though, needs lots of cleanup
2017-12-01 11:56:07 -05:00
Justin Ethier
18eed21246 WIP, added debugging 2017-11-30 19:02:15 -05:00
Justin Ethier
aadd07943b Added TODO's 2017-11-30 16:40:06 -05:00
Justin Ethier
6441ce9409 Relocated macro expansion code 2017-11-28 18:46:48 -05:00
Justin Ethier
a55ab6780c Remove obsolete imports 2017-11-28 17:01:41 -05:00
Justin Ethier
b52119f2cd Import prim module 2017-11-28 16:36:08 -05:00
Justin Ethier
c5271f05fe Relocating code 2017-11-27 18:52:13 -05:00
Justin Ethier
eac413a2f5 Relocated functions 2017-11-27 17:43:44 -05:00
Justin Ethier
957672fe70 Relocated functions 2017-11-27 17:13:49 -05:00
Justin Ethier
044d135b84 First working version of let-syntax 2017-11-25 19:03:00 -05:00
Justin Ethier
d590d1bf8b Added local-env parameter 2017-11-25 17:34:38 -05:00
Justin Ethier
454fe2c26c Additional hook required for let-syntax 2017-11-24 17:49:42 -05:00
Justin Ethier
5b8f47af43 WIP for let-syntax 2017-11-21 19:07:52 -05:00
Justin Ethier
09cb431219 Added new predicates 2017-11-21 13:23:08 -05:00
Justin Ethier
8750696e17 cleanup 2017-11-19 18:43:37 -05:00
Justin Ethier
5acffd72d1 Next version will be 0.7.1 2017-11-18 01:02:47 +00:00
Justin Ethier
a492ca379d Handle the null character 2017-11-09 19:00:21 -05:00
Justin Ethier
02014322b7 Properly count bytes in make-string 2017-11-07 17:47:08 -05:00
Justin Ethier
cfdec73d78 Emit strings with char/byte lengths 2017-11-06 18:57:56 +00:00
Justin Ethier
471f0d4b50 UTF8 support 2017-11-06 16:00:11 +00:00
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