Commit Graph

194 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 64ae8bd7b0 initial call/cc support 2013-11-09 14:14:25 +09:00
Yuichi Nishiwaki 0d28f246de add pic_get_proc 2013-11-09 14:12:59 +09:00
Yuichi Nishiwaki 84c1156b9d add unary minus operator 2013-11-07 12:17:37 +09:00
Yuichi Nishiwaki ae376b4903 fix broken pic_float_p 2013-11-07 12:17:16 +09:00
Yuichi Nishiwaki 27dc840118 eq? predicate supports nan-boxing 2013-11-06 16:06:31 +09:00
Yuichi Nishiwaki ac14a2271b fix a bug in pic_false_value 2013-11-05 21:08:32 +09:00
Yuichi Nishiwaki d9cb5d4eee nan-boxing support 2013-11-05 20:33:24 +09:00
Yuichi Nishiwaki e056586ab9 add pic_init_value macro 2013-11-05 00:42:44 -05:00
Yuichi Nishiwaki 46fccff806 cleanup 2013-11-05 00:30:03 -05:00
Yuichi Nishiwaki 5850699d75 force indirect reference to pic_value vtype 2013-11-04 23:37:08 -05:00
Yuichi Nishiwaki aebf7f00f7 initial bytevector support 2013-11-04 22:38:23 -05:00
Yuichi Nishiwaki 1675ad9f52 initial char support 2013-11-04 21:37:18 -05:00
Yuichi Nishiwaki 8aca1ebc96 rename pic_code.u.c -> pic_code.u.r 2013-11-04 21:32:09 -05:00
Yuichi Nishiwaki 86458359e3 reduce allocation size when creating pic_env object in OP_CALL 2013-11-04 20:23:06 -05:00
Yuichi Nishiwaki d0602303e3 s/num_val/valuec/g 2013-11-04 16:07:36 -05:00
Yuichi Nishiwaki c24560de12 GC_STRESS default off 2013-11-04 15:57:12 -05:00
Yuichi Nishiwaki ee92e523b4 fix grammatical error 2013-11-04 15:49:54 -05:00
Yuichi Nishiwaki 81aea6b3ba extend default heap size 2013-11-01 18:57:18 +09:00
Yuichi Nishiwaki 8007baf011 [bugfix] allocate space to hold closed rest args variable in pic_env 2013-11-01 18:55:23 +09:00
Yuichi Nishiwaki 98a41314fe parser returns multiple expressions in a call 2013-10-30 17:06:01 +09:00
Yuichi Nishiwaki 6fcce1cd23 cleanup 2013-10-30 16:43:15 +09:00
Yuichi Nishiwaki b7e55b043f introduce legacy macros 2013-10-30 16:42:44 +09:00
Yuichi Nishiwaki 979a1dd80b add make release command 2013-10-30 16:36:21 +09:00
Yuichi Nishiwaki 1e4ff3276a add pic_type_repr 2013-10-30 15:37:33 +09:00
Yuichi Nishiwaki f7885a423f extend default arena size 2013-10-30 10:42:18 +09:00
Yuichi Nishiwaki e4b913cb15 add OP_TAILCALL 2013-10-30 10:03:46 +09:00
Yuichi Nishiwaki 46e8eb0bcd cleanup 2013-10-29 22:16:56 +09:00
Yuichi Nishiwaki 759c9eb55c bugfix: move env related macros from port.h to proc.h 2013-10-29 16:47:29 +09:00
Yuichi Nishiwaki 073f45666a write function should be print even env objects 2013-10-29 16:44:38 +09:00
Yuichi Nishiwaki a0a8a94abc add gc stress test 2013-10-29 16:40:25 +09:00
Yuichi Nishiwaki edcd060a8a initial vector support 2013-10-29 15:51:37 +09:00
Yuichi Nishiwaki 49072bf5e4 [bugfix] fix closure issue 2013-10-29 10:16:56 +09:00
Yuichi Nishiwaki 1d9410638d remove unused auxuality data field proc->aux 2013-10-29 02:23:14 +09:00
Yuichi Nishiwaki c2b9331083 fix bad style macro definitinos 2013-10-29 02:17:55 +09:00
Yuichi Nishiwaki 0bf0c29af2 fix a typo 2013-10-29 02:12:37 +09:00
Yuichi Nishiwaki 63b52991da introduce immediate symbol value 2013-10-29 02:11:31 +09:00
Yuichi Nishiwaki 4fa2bad5fa add pic_apply function (and remove pic_run) 2013-10-28 17:45:13 +09:00
Yuichi Nishiwaki c77b8be011 insert type checks in pic_get_args 2013-10-28 00:40:10 +09:00
Yuichi Nishiwaki d3df6dcbf2 support exact integer 2013-10-28 00:21:24 +09:00
Yuichi Nishiwaki f192c96650 parse-from-file facility 2013-10-27 18:38:41 +09:00
Yuichi Nishiwaki f3041b7ebc support rest arguments 2013-10-27 18:13:36 +09:00
Yuichi Nishiwaki 83de938342 add some port predicates 2013-10-24 22:56:04 +09:00
Yuichi Nishiwaki 7bb27295c0 warn global redefinition 2013-10-24 22:29:40 +09:00
Yuichi Nishiwaki 331fdaba4c warn various kinds of syntax errors during codegen 2013-10-24 21:55:07 +09:00
Yuichi Nishiwaki 9cb28f3156 add OP_EQ/OP_LT/OP_LE 2013-10-24 21:10:13 +09:00
Yuichi Nishiwaki 411395995c s/env.numcv/env.num_val/g 2013-10-24 03:41:48 +09:00
Yuichi Nishiwaki a926c54be3 warn invalid application 2013-10-24 03:38:29 +09:00
Yuichi Nishiwaki d75b624b4a add OP_LSET and OP_CSET 2013-10-24 03:14:32 +09:00
Yuichi Nishiwaki 4b31901bce add OP_CREF 2013-10-24 02:04:49 +09:00
Yuichi Nishiwaki bd851318d1 add pic_env struct 2013-10-24 02:02:07 +09:00
Yuichi Nishiwaki ec0f0d3572 add pic_calloc 2013-10-24 00:32:03 +09:00
Yuichi Nishiwaki 0fd1bbeae9 throw wrong number of arguments error for user defined lambda call 2013-10-24 00:09:40 +09:00
Yuichi Nishiwaki 035de0016b evaluate arguments in normal (lexical) order 2013-10-23 15:55:42 +09:00
Yuichi Nishiwaki dd7958c3d6 reader supports quasiquote abbrev 2013-10-23 12:39:48 +09:00
Yuichi Nishiwaki dd3adf30e6 use xhash to manage scopes during codegin 2013-10-22 22:22:35 +09:00
Yuichi Nishiwaki 5da1b175a7 extend default heap size 2013-10-22 18:30:05 +09:00
Yuichi Nishiwaki 779199d571 add many many number primitive functions 2013-10-22 17:24:07 +09:00
Yuichi Nishiwaki b45d7d9592 add eof-object type 2013-10-22 16:02:20 +09:00
Yuichi Nishiwaki 176d167de8 add some file open functions 2013-10-22 15:44:03 +09:00
Yuichi Nishiwaki 6245ec7e05 finalize port objects when collected 2013-10-22 15:40:36 +09:00
Yuichi Nishiwaki 0c1babb6c5 add pic_reverse 2013-10-22 00:19:43 +09:00
Yuichi Nishiwaki 114d6b708b since pic_string is a first-class value, move it to value.h 2013-10-21 17:38:05 +09:00
Yuichi Nishiwaki f5154625ba add aux object field to proc object 2013-10-21 17:35:14 +09:00
Yuichi Nishiwaki 86177b7c4e pic_get_args supports optional argument 2013-10-21 13:57:02 +09:00
Yuichi Nishiwaki db1f977600 add pic_list_p 2013-10-21 12:03:35 +09:00
Yuichi Nishiwaki adab797391 add system.c 2013-10-21 11:51:02 +09:00
Yuichi Nishiwaki 7dbb2c6de4 cleanup 2013-10-21 11:44:23 +09:00
Yuichi Nishiwaki ba78a00d5c take care of escaped characters in string 2013-10-21 11:12:34 +09:00
Yuichi Nishiwaki 8f4788ca27 read strings 2013-10-21 10:48:03 +09:00
Yuichi Nishiwaki a49675c322 add OP_PUSHCONST 2013-10-21 09:29:56 +09:00
Yuichi Nishiwaki 5e43fe58fe add string type 2013-10-21 08:48:55 +09:00
Yuichi Nishiwaki 05eb62cc4d do not abort when meet a compilation error 2013-10-20 18:17:12 +09:00
Yuichi Nishiwaki 4f8aa03b24 clarify the meanings of error functions 2013-10-20 17:41:48 +09:00
Yuichi Nishiwaki 7322271d65 intern symbols using hash table 2013-10-20 14:05:48 +09:00
Yuichi Nishiwaki bde09e063a add pic_acons function 2013-10-20 14:04:39 +09:00
Yuichi Nishiwaki 50b9c2bd97 add pair.h 2013-10-20 12:34:57 +09:00
Yuichi Nishiwaki bcde104dd1 cleanup 2013-10-20 04:18:52 +09:00
Yuichi Nishiwaki afc0184d10 extend default heap size 2013-10-20 04:04:06 +09:00
Yuichi Nishiwaki cfae6f3c59 add OP_NILP 2013-10-20 03:53:02 +09:00
Yuichi Nishiwaki 78f301794a add OP_CAR/OP_CDR 2013-10-20 03:48:06 +09:00
Yuichi Nishiwaki 5e96d05fd1 insert OP_POP into sequential operation 2013-10-18 02:29:11 +09:00
Yuichi Nishiwaki e7a5784fd7 allocate global variable entry area by malloc and save it into pic_state 2013-10-18 00:15:15 +09:00
Yuichi Nishiwaki c92a672e01 change the stack layout: to hold proc object on the stack when procedure
call is invoked
2013-10-17 23:29:18 +09:00
Yuichi Nishiwaki 1646de5e8d initial port commit 2013-10-17 22:42:47 +09:00
Yuichi Nishiwaki e87f632327 writer writes lists in short form 2013-10-17 22:42:20 +09:00
Yuichi Nishiwaki b58c6d1e8b remove test_object_creation from main.c 2013-10-17 21:00:54 +09:00
Yuichi Nishiwaki 1a6c8a3cca support multi-line input in REPL 2013-10-17 20:48:50 +09:00
Yuichi Nishiwaki 5671c43a77 do not abort when finding syntax error 2013-10-17 17:57:12 +09:00
Yuichi Nishiwaki d9e47bdd05 add begin syntax 2013-10-17 17:54:28 +09:00
Yuichi Nishiwaki 17f0c928da add readline support 2013-10-17 17:08:33 +09:00
Yuichi Nishiwaki 4e83ad4843 s/pic_instruction/pic_opcode/g 2013-10-17 14:18:32 +09:00
Yuichi Nishiwaki fc9e2401a3 add some comments on picconf.h 2013-10-17 13:55:00 +09:00
Yuichi Nishiwaki 7925f2b502 implement direct threading VM 2013-10-17 13:54:48 +09:00
Yuichi Nishiwaki 6c903db758 if syntax 2013-10-16 17:42:47 +09:00
Yuichi Nishiwaki 87dce75c78 add local variables 2013-10-16 17:20:53 +09:00
Yuichi Nishiwaki 5c8d81e8b5 support closure call 2013-10-16 15:30:52 +09:00
Yuichi Nishiwaki 9b7fdb0725 undef object must not appear in the user land 2013-10-16 13:24:08 +09:00
Yuichi Nishiwaki ff646e05dd support boolean values 2013-10-16 13:17:01 +09:00
Yuichi Nishiwaki f6eddbc6d3 save all ireps into pic_state
in order to decrease the stress GC will get, restore irep structures
under pic_state instead of under each procs and making it collectable object
2013-10-16 11:53:25 +09:00
Yuichi Nishiwaki c593a46a62 add OP_LAMBDA (lambda object creation) 2013-10-16 11:32:30 +09:00