Commit Graph

227 Commits

Author SHA1 Message Date
Yuichi Nishiwaki afe0e5a1e0 add in-library 2014-08-11 18:16:33 +09:00
Yuichi Nishiwaki f70b6c5240 add (picrin base macro) primitives 2014-08-06 01:46:59 +09:00
Yuichi Nishiwaki 1d42771b54 define 'define' as a user-level macro 2014-08-06 01:34:07 +09:00
Yuichi Nishiwaki e73d9cc590 compiler may perform tco against macroexpand_node 2014-08-03 13:52:18 +09:00
Yuichi Nishiwaki 7a64ecc8bf refactor macroexpand-1 2014-07-28 02:22:02 +09:00
Yuichi Nishiwaki d31e20c25c define 'import' and 'export' as macros 2014-07-28 01:02:48 +09:00
Yuichi Nishiwaki 9c1a397ead define 'define-library' as a macro 2014-07-28 00:48:13 +09:00
Yuichi Nishiwaki e680b4a6bb change deflibrary API 2014-07-27 14:47:14 +09:00
Yuichi Nishiwaki 09efa4715c add another argument to eval 2014-07-27 13:23:59 +09:00
Yuichi Nishiwaki 5689abb483 move debug print 2014-07-26 15:08:04 +09:00
Yuichi Nishiwaki 4f957b6cc5 remove unused UNREACHABLE() 2014-07-26 14:57:25 +09:00
Yuichi Nishiwaki f922a7a0cd reimplement identifier=? in scheme 2014-07-26 14:54:44 +09:00
Yuichi Nishiwaki 317ea10006 unlock restriction of value types that can appear at macro-expansion time 2014-07-26 14:30:51 +09:00
Yuichi Nishiwaki b4a0761eb3 publish ungensym 2014-07-26 14:10:17 +09:00
Yuichi Nishiwaki 3fb986a463 warn syntax redefinition 2014-07-26 13:48:07 +09:00
Yuichi Nishiwaki 50879dd7b6 Allocate pic_blocks in picrin's gc pool; reference count may cause problems 2014-07-25 14:41:56 +09:00
Yuichi Nishiwaki 12fb80b857 allow multiple identifier aliasing 2014-07-21 16:33:18 +09:00
Yuichi Nishiwaki 72422343c0 s/lib->senv/lib->env/g 2014-07-20 15:30:48 +09:00
Yuichi Nishiwaki 7a2f8abd9c rewrite let-syntax in scheme 2014-07-20 14:55:17 +09:00
Yuichi Nishiwaki 95a3f8880c disallow non-symbol objects at places where symbol is required 2014-07-20 13:52:48 +09:00
Yuichi Nishiwaki 1b104a00a7 add macroexpand-1 2014-07-20 13:16:50 +09:00
Yuichi Nishiwaki c43120077c remove internal defmacro expander 2014-07-20 11:15:12 +09:00
Yuichi Nishiwaki ccd457544d detail error message on macroexpand error 2014-07-19 11:21:13 +09:00
Yuichi Nishiwaki d6b6376408 add pic_senv_new 2014-07-19 01:42:06 +09:00
Yuichi Nishiwaki baeb5f6174 s/senv->renames/senv->map/g 2014-07-19 01:42:06 +09:00
Yuichi Nishiwaki b50f5fc54f remove sLETREC_SYNTAX 2014-07-18 11:50:08 +09:00
Yuichi Nishiwaki 32174d7855 remove box 2014-07-17 16:38:18 +09:00
Yuichi Nishiwaki 0fb9e18735 cxt objects are no longer used 2014-07-17 16:14:14 +09:00
Yuichi Nishiwaki 6104a69e2b generate identifier for unbound symbol in context-free 2014-07-17 16:10:38 +09:00
Yuichi Nishiwaki 6cc37281d6 remove pic_tt_sc type 2014-07-17 13:59:21 +09:00
Yuichi Nishiwaki 8781b9a6aa publish pic_identifier_p and pic_identifier_eq_p 2014-07-17 13:58:45 +09:00
Yuichi Nishiwaki bb9be2c628 remove c impl of make-syntactic-closure 2014-07-17 13:45:09 +09:00
Yuichi Nishiwaki f4d68d691b remove c impls of ir/er macros 2014-07-17 13:44:18 +09:00
Yuichi Nishiwaki 9e7b4da56c add make-identifier function 2014-07-17 10:21:00 +09:00
Yuichi Nishiwaki 2b16aaded2 s/translate/make_identifier/g 2014-07-17 10:16:17 +09:00
Yuichi Nishiwaki 6ee4d49a96 Macro-generating macro may rename symbol that will be used as a newly
introduced identifier
2014-07-16 14:46:30 +09:00
Yuichi Nishiwaki 5faa7cd46d leave core syntax keywords renamed 2014-07-14 10:08:11 +09:00
Yuichi Nishiwaki 6c45bb3c5d support let-syntax 2014-07-13 22:36:30 +09:00
Yuichi Nishiwaki 730cfc8601 refactor macroexpand_lambda 2014-07-13 21:05:57 +09:00
Yuichi Nishiwaki 1989a972cb refactor macroexpand_define. make use of macroexpand_lambda function 2014-07-13 21:01:30 +09:00
Yuichi Nishiwaki e08ec23a9f s/formals/formal/g 2014-07-13 20:39:34 +09:00
Yuichi Nishiwaki 6cf4fe942a rewrite iteration with recursion. since we have variable-length arena
now, it is no longer required to avoid big arena consumption.
2014-07-13 20:32:26 +09:00
Yuichi Nishiwaki c57f8a5016 add pic_void macro 2014-07-13 20:20:04 +09:00
Yuichi Nishiwaki 631926aa96 function reorder 2014-07-13 20:19:45 +09:00
Yuichi Nishiwaki 6d20c0e3e0 cosmetic changes again 2014-07-13 20:09:42 +09:00
Yuichi Nishiwaki 601b54ba1f cosmetic changes 2014-07-13 20:06:08 +09:00
Yuichi Nishiwaki e1cba4b48e refactor translate to use pic_dict instead of boxes 2014-07-13 20:01:09 +09:00
Yuichi Nishiwaki 73c406ed42 add translate function 2014-07-13 19:49:24 +09:00
Yuichi Nishiwaki 1402a97354 change pic_throw API 2014-07-04 13:32:45 +09:00
Yuichi Nishiwaki a6ac56d311 rewrite `include` macro with scheme 2014-06-29 15:08:23 +09:00