Yuichi Nishiwaki
32653df178
cleanup
2015-06-19 21:21:04 +09:00
Yuichi Nishiwaki
7ec81ab1d5
add pic_resolve
2015-06-19 17:31:47 +09:00
Yuichi Nishiwaki
3021e7f2b9
add PIC_ENABLE_STDIO flag
2015-06-19 14:03:52 +09:00
Yuichi Nishiwaki
20cb77bbbe
file.h is now stdio.h-free
2015-06-19 05:14:18 +09:00
Yuichi Nishiwaki
a0d6c5800c
add pic_open_file
2015-06-19 05:00:36 +09:00
Yuichi Nishiwaki
fa3073892f
Merge branch 'native-xfile-support'
2015-06-19 04:01:18 +09:00
Yuichi Nishiwaki
cf037f27db
remove library-name
2015-06-19 03:31:24 +09:00
Yuichi Nishiwaki
4bc765da65
move include of gc.h
2015-06-19 03:27:03 +09:00
Yuichi Nishiwaki
19c09ba643
move contents of util.h to compat.h
2015-06-19 03:23:07 +09:00
Yuichi Nishiwaki
10f81512d8
don't malloc pic_reader
2015-06-19 03:14:55 +09:00
Yuichi Nishiwaki
db0767c931
don't malloc pic->iseq
2015-06-19 03:10:11 +09:00
Yuichi Nishiwaki
78bd3047f8
don't use global mutable variable!
2015-06-19 03:06:57 +09:00
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