Commit Graph

432 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 70600fec3e compile to new vm 2017-04-14 23:06:53 +09:00
Yuichi Nishiwaki 6968a9d9ef fix compiler 2017-04-14 20:28:22 +09:00
Yuichi Nishiwaki 9cc40bd46a support top-level begin in define-library 2017-04-12 14:17:52 +09:00
Yuichi Nishiwaki c634948bf1 WIP: fix the compiler 2017-04-09 13:25:34 +09:00
Yuichi Nishiwaki 7f430e000b quoted pairs or vectors are compiled to runtime cons or vector 2017-04-06 20:34:13 +09:00
Yuichi Nishiwaki 1e345d8228 WIP: add compiler 2017-04-05 16:18:00 +09:00
Yuichi Nishiwaki c1a7f6d2d8 integrate boot.scm and compile.scm 2017-04-04 19:00:37 +09:00
Yuichi Nishiwaki 463b73f11f reimplement macro expander in scheme 2017-04-04 15:05:34 +09:00
Yuichi Nishiwaki 82939650a4 add macro-objects and global-objects 2017-04-04 03:55:23 +09:00
Yuichi Nishiwaki 6c3c505aa4 move simple macros to (picrin macro) 2017-04-04 02:16:18 +09:00
Yuichi Nishiwaki af5acb6c4f no consing when getting value from ephemeron table 2017-04-04 01:25:46 +09:00
Yuichi Nishiwaki d776adba34 add load&compile functions 2017-04-04 00:52:59 +09:00
Yuichi Nishiwaki b9cfbe8276 precompile library system 2017-04-04 00:02:00 +09:00
Yuichi Nishiwaki bba2abffde WIP: precompile macros 2017-04-03 23:39:30 +09:00
Yuichi Nishiwaki 8f6113f61b library system is now implemeted in scheme 2017-04-03 00:37:37 +09:00
Yuichi Nishiwaki d319a57422 WIP: reimplement library system in scheme 2017-04-02 22:15:38 +09:00
Yuichi Nishiwaki 690384c5b4 make-ephemeron -> make-ephemeron-table 2017-03-31 15:59:22 +09:00
Yuichi Nishiwaki 449800c117 add pic->dyn_env 2017-03-31 14:39:01 +09:00
Yuichi Nishiwaki d66ce64130 generate boot.c from boot.scm 2017-03-23 22:47:55 +09:00
Yuichi Nishiwaki 2fb17afdfc move picrin/macro.scm. remove piclib/ 2015-07-09 04:07:12 +09:00
Yuichi Nishiwaki ad38eb9202 move picrin/syntax-rules 2015-07-09 04:02:55 +09:00
Yuichi Nishiwaki 738c04a1af move picrin/test.scm 2015-07-09 02:21:57 +09:00
Yuichi Nishiwaki 685d08301a move experimental/lambda.scm 2015-07-09 02:18:56 +09:00
Yuichi Nishiwaki c76690c4da remove picrin/base.scm 2015-07-09 02:10:02 +09:00
Yuichi Nishiwaki e05372d8a4 remove picrin/control.scm 2015-07-09 02:03:23 +09:00
Yuichi Nishiwaki 3bcc4b15fc define 'define-record-type' macro in scheme/base.scm 2015-07-09 01:59:14 +09:00
Yuichi Nishiwaki 5f454626f6 move picrin/array to contrib/ 2015-07-09 01:51:55 +09:00
Yuichi Nishiwaki 055691ebfc [bugfix] t/escape.scm doesn't work 2015-07-06 14:19:12 +09:00
Yuichi Nishiwaki 21c12e9fe5 [bugfix] remove import in (picrin experimental lambda) 2015-06-26 13:19:38 +09:00
Yuichi Nishiwaki 087e65ef1c don't define (picrin control escape) in callcc.c 2015-06-26 13:19:32 +09:00
Yuichi Nishiwaki cf037f27db remove library-name 2015-06-19 03:31:24 +09:00
Yuichi Nishiwaki 63d3510de8 move features procedure defun to state.c benz 2015-06-17 00:13:00 +09:00
Yuichi Nishiwaki 490c97cd81 add library-name and current-library 2015-06-17 00:03:52 +09:00
Yuichi Nishiwaki eef74604d0 add library operators 2015-06-16 22:51:05 +09:00
Yuichi Nishiwaki dbba29a5a8 syntax-rules: support tail pattern 2015-06-16 19:16:19 +09:00
Yuichi Nishiwaki 84bb7e9ffc [bugfix] syntax-rules: don't compare with variable=? a value of other type than variable 2015-06-16 19:16:07 +09:00
Yuichi Nishiwaki 867afc9b6f [bugfix] syntax-rules: ellipsis pattern representation broken 2015-06-16 19:15:52 +09:00
Yuichi Nishiwaki 3ed24ae1fb syntax-rules: hygienic syntax-rules 2015-06-16 19:15:45 +09:00
Yuichi Nishiwaki af59885858 syntax-rules: support splicing in template 2015-06-16 19:15:39 +09:00
Yuichi Nishiwaki 691d0ad698 syntax-rules: literal support 2015-06-16 19:15:31 +09:00
Yuichi Nishiwaki dfcf8c73bd syntax-rules: constant pattern support 2015-06-16 19:15:25 +09:00
Yuichi Nishiwaki 86ba26b02e syntax-rules: custom ellipsis support already done 2015-06-16 19:15:08 +09:00
Yuichi Nishiwaki 43f1f6bb70 [WIP] syntax-rules: rewrite syntax-rules.scm
[syntax-rules] bugfix

s/generate-representation/template-representation/g

[WIP] rewrite syntax-rules

[syntax-rules] bugfix

s/generate-representation/template-representation/g

[syntax-rules] bugfix
2015-06-16 19:14:44 +09:00
Yuichi Nishiwaki d741efe294 rewrite (picrin record) and (picrin experimental lambda) 2015-06-15 02:52:38 +09:00
Yuichi Nishiwaki 4d9f5bfbcf rewrite macro.scm.
build sc/er macro transformers on picrin's macro system

[macro.scm] cleanup
2015-06-15 02:52:38 +09:00
Yuichi Nishiwaki a10ac3b770 rewrite boot.c. add syntax-quote family
[boot.c] (cond) should be expanded into #undefined

update boot.c

[boot.c] bugfix

boot.c bugfix
2015-06-15 02:52:37 +09:00
Yuichi Nishiwaki 25c0eb125e add identifier-variable and identifier-environment 2015-06-15 02:52:37 +09:00
Yuichi Nishiwaki 015971ffc4 remove define-record-writer 2015-06-15 02:25:09 +09:00
Yuichi Nishiwaki cf411fd62a lazy export 2015-06-09 22:36:04 +09:00
Yuichi Nishiwaki 448bbf679d change dictionary interface.
use #undefined object as sentinel
2015-06-09 17:06:19 +09:00