Commit Graph

3177 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 4f69cb8ec3 eval procedure now takes environment object for the second argument 2015-06-16 22:51:49 +09:00
Yuichi Nishiwaki eef74604d0 add library operators 2015-06-16 22:51:05 +09:00
Yuichi Nishiwaki a88b5e193f remove #. reader 2015-06-16 21:39:41 +09:00
Yuichi Nishiwaki 6c821105fd Merge branch 'improved-hygiene2' 2015-06-16 21:24:39 +09:00
Yuichi Nishiwaki 7dd0e01b70 support (equal? identifier1 identifier2) 2015-06-16 21:13:41 +09:00
Yuichi Nishiwaki cf66d600bb move macroexpander to codegen.c 2015-06-16 21:01:46 +09:00
Yuichi Nishiwaki 85e8d1511b remove defer property from pic_env
explicitly pass deferred lambda list to expand functions
2015-06-16 20:57:18 +09:00
Yuichi Nishiwaki 2e5b66fabd s/macroexpand/expand/g 2015-06-16 20:27:58 +09:00
Yuichi Nishiwaki 1570bd1cd4 syntax-rules: rewrite case-lambda.scm. (p ... . var) pattern is not supported 2015-06-16 19:16:23 +09:00
Yuichi Nishiwaki 2c269b4f0e syntax-quote and syntax-quasiquote should create identifiers at runtime,
not at compile time
2015-06-16 19:16:23 +09:00
Yuichi Nishiwaki dbba29a5a8 syntax-rules: support tail pattern 2015-06-16 19:16:19 +09:00
Yuichi Nishiwaki 02d75b4283 syntax-rules: as of now we have no plan to add (... template) pattern support 2015-06-16 19:16:14 +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 84a3eaee35 change eval interface: eval takes an expression and an environment
macroexpand should be done in the context in which the expansion is
running. As of now I only changed c interface of eval but should change
the scheme interface as well ASAP.
2015-06-16 19:16:06 +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 181d120f09 reader support of (#' #` #, #,@) 2015-06-15 02:52:37 +09:00
Yuichi Nishiwaki 6d80b58060 assume all symbols are bound at the toplevel 2015-06-15 02:52:36 +09:00
Yuichi Nishiwaki 3a59a95960 [WIP] replace macro expander
remove define-syntax, add define-macro instead

saner display when writing identifiers
2015-06-15 02:48:31 +09:00
Yuichi Nishiwaki 454146ab52 s/rXXX/uXXX/g 2015-06-15 02:30:05 +09:00
Yuichi Nishiwaki 015971ffc4 remove define-record-writer 2015-06-15 02:25:09 +09:00
Yuichi Nishiwaki 9ace96dd19 rewrite scheme/lazy.scm with syntax-rules 2015-06-15 02:17:27 +09:00
Yuichi Nishiwaki c3a6bffa61 run perl boot.c when running make 2015-06-15 02:17:27 +09:00
Yuichi Nishiwaki 6c1abe32fe s/registry/register/g 2015-06-15 02:17:27 +09:00
Yuichi Nishiwaki 2f4eeefb05 don't compile with DEBUG=1 even if the build was in debug mode 2015-06-15 02:17:26 +09:00
Yuichi Nishiwaki bb27728b96 Merge pull request #269 from picrin-scheme/docfix
update C API doc
2015-06-13 12:36:56 +09:00
Sunrim KIM (keen) 617dbdb1bc update C API doc 2015-06-13 05:33:49 +09:00
Yuichi Nishiwaki a3603caa0b Merge pull request #268 from omasanori/gcc-version
Define GCC_VERSION in util.h temporarily.
2015-06-12 19:51:39 +09:00
OGINO Masanori 2816f206fb Define GCC_VERSION in util.h temporarily.
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2015-06-12 18:59:59 +09:00
Yuichi Nishiwaki 5e7f754214 Merge pull request #267 from hopkinsr/install-typo
insall -> install for PHONY target in Makefile
2015-06-12 16:16:52 +09:00
Richard Hopkins 4445a17058 insall -> install for PHONY target in Makefile 2015-06-11 22:25:15 +01:00
Sunrim KIM (keen) 86084498f0 Merge branch 'master' into bench 2015-06-10 22:37:13 +09:00
Yuichi Nishiwaki 483edb5708 flush all xFILEs at exit 2015-06-10 22:37:05 +09:00
Yuichi Nishiwaki 7973794f75 Merge branch 'remove-in-library' 2015-06-09 23:15:55 +09:00
Yuichi Nishiwaki 191d3067f8 Revert "Revert "remove in-library""
This reverts commit 77d3b0b41e.
2015-06-09 23:02:06 +09:00
Yuichi Nishiwaki f00e0d7462 Merge branch 'lazy-export' 2015-06-09 22:55:07 +09:00
Yuichi Nishiwaki 2b1fa0692d fix debug print 2015-06-09 22:49:49 +09:00
Yuichi Nishiwaki cf411fd62a lazy export 2015-06-09 22:36:04 +09:00
Yuichi Nishiwaki 98857c0726 change pic_find_rename interface 2015-06-09 22:26:21 +09:00
Yuichi Nishiwaki 6af9a3ee7d remove pic_warn 2015-06-09 22:13:46 +09:00
Yuichi Nishiwaki 30cbdd5c4f cleanup macro.h 2015-06-09 20:20:56 +09:00