Commit Graph

181 Commits

Author SHA1 Message Date
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