Yuichi Nishiwaki
e43a9c7881
pass pic_state object to vtable functions
2015-06-19 02:29:17 +09:00
Yuichi Nishiwaki
3df7d1dd71
use pic_malloc and pic_free in file.c
2015-06-19 02:05:56 +09:00
Yuichi Nishiwaki
2e59b6ab04
rename xfile.[ch] to file.[ch]
2015-06-19 01:11:04 +09:00
Yuichi Nishiwaki
d1aa42cd7a
[bugfix] double close should be safe
2015-06-19 01:04:04 +09:00
Yuichi Nishiwaki
9263891c4c
Merge branch 'fix-port'
2015-06-19 00:46:30 +09:00
Yuichi Nishiwaki
f2e6feea7f
assert value bound to current-(input|output|error)-port is port
2015-06-19 00:02:24 +09:00
Yuichi Nishiwaki
0b66447e79
remove port->status property
2015-06-18 23:26:31 +09:00
Yuichi Nishiwaki
b4c3e2cc4f
small refactoring. use DEFINE_STANDARD_PORT_ACCESSOR macro to define pic_stdxx
2015-06-18 23:15:09 +09:00
Yuichi Nishiwaki
61ff69b968
remove pic->xSTDXX
2015-06-18 22:59:22 +09:00
Yuichi Nishiwaki
0fe4df3c15
[bugfix] repl broken
2015-06-17 02:58:37 +09:00
Yuichi Nishiwaki
9433bace1f
Merge branch 'reimplement-library-primitives-in-scheme'
2015-06-17 02:12:42 +09:00
Yuichi Nishiwaki
1d1210db09
cleanup lib.c
2015-06-17 01:52:20 +09:00
Yuichi Nishiwaki
29a966d678
define export in scheme
2015-06-17 01:44:11 +09:00
Yuichi Nishiwaki
52b03d928c
define import in scheme
2015-06-17 00:59:19 +09:00
Yuichi Nishiwaki
fa1c619633
define define-library and cond-expand in scheme
2015-06-17 00:14:12 +09:00
Yuichi Nishiwaki
63d3510de8
move features procedure defun to state.c benz
2015-06-17 00:13:00 +09:00
Yuichi Nishiwaki
62b7c1a0f9
warn macro redefinition only when transformer object slot is being overwritten
2015-06-17 00:11:02 +09:00
Yuichi Nishiwaki
490c97cd81
add library-name and current-library
2015-06-17 00:03:52 +09:00
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