Yuichi Nishiwaki
ada84f48d6
add some object constructors/destructors
2016-02-18 23:49:16 +09:00
Yuichi Nishiwaki
08652df612
don't include type.h at the beginning of picrin.h
2016-02-18 23:35:55 +09:00
Yuichi Nishiwaki
615bdff61a
add pic_state parameter (to be used by copy gc)
2016-02-18 20:15:42 +09:00
Yuichi Nishiwaki
561c350a12
library is now a non-first-class object
2016-02-18 17:39:32 +09:00
Yuichi Nishiwaki
8610f5090d
change the behavior of pic_deflibrary
...
fix regression
2016-02-15 13:28:13 +09:00
Yuichi Nishiwaki
d30cdf7409
add picrin/setup.h and picrin/state.h
2016-02-15 00:50:02 +09:00
Yuichi Nishiwaki
4a3104187e
cosmetic changes
2016-02-15 00:33:59 +09:00
Yuichi Nishiwaki
a92e70a610
remove typedefs of struct pic_string and struct pic_blob
2016-02-15 00:20:49 +09:00
Yuichi Nishiwaki
780df6275b
move more decls to picrin.h
2016-02-15 00:10:12 +09:00
Yuichi Nishiwaki
f70dd4d376
add pic_closure_ref, pic_closure_set, and pic_lambda
2016-02-14 22:23:14 +09:00
Yuichi Nishiwaki
8814469eac
pic_apply_trampoline -> pic_applyk
2016-02-14 17:14:33 +09:00
Yuichi Nishiwaki
e8a6f64dd5
remove pic_applyk
2016-02-14 13:46:55 +09:00
Yuichi Nishiwaki
69b660e9a3
remove pic_funcallk and add pic_call
2016-02-14 13:33:15 +09:00
Yuichi Nishiwaki
417a44b786
change the behavior of pic_define
2016-02-14 13:25:18 +09:00
Yuichi Nishiwaki
549d939ce6
add pic_alloca
2016-02-14 13:19:54 +09:00
Yuichi Nishiwaki
5946c3ab39
pic_gc_run -> pic_gc
2016-02-14 13:17:12 +09:00
Yuichi Nishiwaki
dc80bc5850
cleanup picrin.h
2016-02-14 13:15:33 +09:00
Yuichi Nishiwaki
8a80f3805e
update copyright
2016-02-14 13:06:54 +09:00
Yuichi Nishiwaki
271a4b6586
make-register -> make-ephemeron
2016-02-10 21:57:20 +09:00
Yuichi Nishiwaki
b577b2d453
reg -> weak
2016-02-10 21:50:39 +09:00
Yuichi Nishiwaki
7b86c6d34e
intern table seems conventionally called 'oblist'
2016-02-10 21:31:22 +09:00
Yuichi Nishiwaki
205ca79626
remove pic->argc/argv/envp
2016-02-10 01:38:05 +09:00
Yuichi Nishiwaki
fd248d31bd
optimize symbol->string
2016-02-08 03:36:20 +09:00
Yuichi Nishiwaki
f263e9432e
remove gref slot
2016-02-07 22:17:56 +09:00
Yuichi Nishiwaki
7a128aab3b
fix #314
2016-02-07 04:23:46 +09:00
Yuichi Nishiwaki
fe994667fa
remove pic_get_proc and add "&" format for pic_get_args
2016-02-07 00:53:12 +09:00
Yuichi Nishiwaki
e51d3db812
symbol is an identifier
2016-02-06 23:15:53 +09:00
Yuichi Nishiwaki
0fd529c968
change mangling rule for global variables
2016-02-06 04:07:37 +09:00
Yuichi Nishiwaki
64788af4b9
manage ireps using reference count
2016-02-05 00:31:57 +09:00
Yuichi Nishiwaki
6488e315d3
kvec.h is not used
2016-02-04 17:48:25 +09:00
Yuichi Nishiwaki
337ba027f2
attribute as a macro
2016-02-03 21:49:55 +09:00
Yuichi Nishiwaki
ee2a4b92f5
more efficient arguments processing in pic_apply
2015-08-26 21:52:20 +09:00
Yuichi Nishiwaki
6f3083c3ca
never use size_t
2015-08-26 19:04:27 +09:00
Yuichi Nishiwaki
06af0265f6
remove pic->sGREF, sLREF, sCREF, sCALL
2015-08-25 19:37:20 +09:00
Yuichi Nishiwaki
5a9958fccc
cosmetic changes
2015-08-10 21:47:42 +09:00
Yuichi Nishiwaki
c573f2c56e
stateful allocator
2015-08-10 21:13:23 +09:00
Yuichi Nishiwaki
ceafb6b600
remove typedef of pic_list
2015-08-05 10:36:28 +09:00
Yuichi Nishiwaki
98662215e1
use pic_reg to implement pic->macros
2015-08-05 09:42:17 +09:00
Yuichi Nishiwaki
5fa24f9767
global variable table may be weak
2015-08-05 09:36:32 +09:00
Yuichi Nishiwaki
537e5b0eed
use boxes for global variable cells
2015-08-05 08:52:28 +09:00
Yuichi Nishiwaki
987931bd0f
add box.h
2015-08-05 08:52:28 +09:00
Yuichi Nishiwaki
261580309e
clean up
2015-08-05 08:50:24 +09:00
Yuichi Nishiwaki
1a71f3f578
move regs field from pic_state to pic_heap
2015-07-26 16:48:38 +09:00
Yuichi Nishiwaki
9f3fefd606
Merge branch 'master' into api-change
2015-07-13 09:59:59 +09:00
Yuichi Nishiwaki
03550bbf41
remove semicolon outside function definition
2015-07-13 09:15:34 +09:00
Yuichi Nishiwaki
5c5066bfa0
Revert "add box type"
...
This reverts commit d53f0cf9e4
.
2015-07-13 08:24:06 +09:00
Yuichi Nishiwaki
42ec53d73f
remove pic_errmsg
2015-07-13 08:22:19 +09:00
Yuichi Nishiwaki
5c2cbb9e55
pic_load_port -> pic_load
2015-07-13 08:20:07 +09:00
Yuichi Nishiwaki
71d1d4837d
pic_intern_cstr -> pic_intern
2015-07-13 08:16:04 +09:00
Yuichi Nishiwaki
e944183e99
pic_obj_alloc_unsafe should be private
2015-07-13 08:05:46 +09:00
Yuichi Nishiwaki
2def465705
value.h -> type.h
2015-07-09 04:36:03 +09:00
Yuichi Nishiwaki
976a44185d
cache slot objects
2015-07-07 15:16:00 +09:00
Yuichi Nishiwaki
d53f0cf9e4
add box type
2015-07-06 21:32:42 +09:00
Yuichi Nishiwaki
acc1852400
remove unused symbols
2015-07-06 19:14:18 +09:00
Yuichi Nishiwaki
9e04a80636
add OP_GT and OP_GE
2015-07-06 19:13:00 +09:00
Yuichi Nishiwaki
f210efd066
[bugfix] (set! symbol? list) doesn't work
2015-07-04 18:48:48 +09:00
Yuichi Nishiwaki
25f80dc87d
don't cons in call-with-values
2015-07-04 18:01:30 +09:00
Yuichi Nishiwaki
046fa0adad
fix build
2015-07-04 15:30:02 +09:00
Yuichi Nishiwaki
07bb4a0f6b
cache irep
2015-07-04 14:31:06 +09:00
Yuichi Nishiwaki
4905aab416
remove pic->file and pic->read
2015-07-02 08:50:28 +09:00
Yuichi Nishiwaki
f9df81f046
remove unused symbols
2015-07-02 05:36:09 +09:00
Yuichi Nishiwaki
33dfe2b5cc
change pic_open interface
2015-06-26 02:13:48 +09:00
Yuichi Nishiwaki
9db8b33c61
abandon xhash
2015-06-25 07:58:58 +09:00
Yuichi Nishiwaki
0fb87449fc
use khash for pic->syms
2015-06-25 07:05:41 +09:00
Yuichi Nishiwaki
a7475a66fe
Merge branch 'master' into khash-kvec
2015-06-25 05:58:12 +09:00
Yuichi Nishiwaki
5cf1822813
use khash for dictionary impl
2015-06-25 05:56:15 +09:00
Yuichi Nishiwaki
f5789c7c6f
added c functions to define private varaibles. see discussion on #271
2015-06-24 02:02:26 +09:00
Yuichi Nishiwaki
f0434a8b37
abandon xvect.h, move on to kvec.h
2015-06-23 22:08:18 +09:00
Yuichi Nishiwaki
777ba0ff6a
[bugfix] don't compare continuation objects by pointers. They may be
...
reused when it reenters the same stack position.
2015-06-23 03:14:00 +09:00
Yuichi Nishiwaki
aae1b8792a
remove struct pic_picjmp
2015-06-23 03:14:00 +09:00
Yuichi Nishiwaki
e730a314f4
[bugfix] memory leak of pic_checkpoint
2015-06-22 17:12:19 +09:00
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
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
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
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
1d1210db09
cleanup lib.c
2015-06-17 01:52:20 +09:00
Yuichi Nishiwaki
2e5b66fabd
s/macroexpand/expand/g
2015-06-16 20:27:58 +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
181d120f09
reader support of (#' #` #, #,@)
2015-06-15 02:52:37 +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
191d3067f8
Revert "Revert "remove in-library""
...
This reverts commit 77d3b0b41e
.
2015-06-09 23:02:06 +09:00
Yuichi Nishiwaki
6af9a3ee7d
remove pic_warn
2015-06-09 22:13:46 +09:00
Yuichi Nishiwaki
6af60c9e2b
don't use static non-const local variable
2015-06-09 19:19:27 +09:00
Yuichi Nishiwaki
b983c77767
use registries for parameter table
2015-06-09 18:36:39 +09:00
Yuichi Nishiwaki
111779c39e
add pic_reg
2015-06-09 18:31:46 +09:00
Yuichi Nishiwaki
53a9e72413
optimize var implementation
2015-06-08 22:28:17 +09:00
Yuichi Nishiwaki
5def1df320
s/pic_winder/pic_checkpoint/g
2015-06-08 21:04:04 +09:00
Yuichi Nishiwaki
77d3b0b41e
Revert "remove in-library"
...
This reverts commit 8604e18719
.
2015-06-06 13:48:31 +09:00
Yuichi Nishiwaki
8604e18719
remove in-library
2015-06-04 14:17:37 +09:00
Yuichi Nishiwaki
531187bb2a
speed up bytecode compilation
2015-06-04 13:53:41 +09:00
Yuichi Nishiwaki
dbcd81c8c1
[bugfix] calling dead escape continuation causes segv
2015-06-02 06:01:16 +09:00
Yuichi Nishiwaki
15e61d8cd4
pic_open_library -> pic_make_library
2015-05-31 00:25:40 +09:00