Commit Graph

326 Commits

Author SHA1 Message Date
Yuito Murase cd96014104 record-ref and record-set! don't check type 2014-08-04 12:45:11 +09:00
Yuito Murase fa0de0c3fa Merge remote-tracking branch 'upstream/master' into native-record
Conflicts:
	include/picrin/value.h
	piclib/prelude.scm
	src/codegen.c
	src/gc.c
	src/init.c
	src/macro.c
	src/vm.c
	src/write.c
2014-08-03 15:48:24 +09:00
Yuito Murase c76dfcb861 implement native record
native record primitives are defined in (picrin record-primitive)
- (make-record rectype)
- (record-of? record rectype)
- (record-ref record rectype field-name)
- (record-set! record rectype field-name value)

define-record-type is defined using these primitives
2014-08-03 15:30:48 +09:00
Yuichi Nishiwaki fd6792b7e5 pic_sym should be an alias to int (for the convenience to use xhash for pic_sym) 2014-08-01 18:48:36 +09:00
Yuichi Nishiwaki 38076e738e lookup global variable by name 2014-07-29 16:09:04 +09:00
Yuichi Nishiwaki 50879dd7b6 Allocate pic_blocks in picrin's gc pool; reference count may cause problems 2014-07-25 14:41:56 +09:00
Yuichi Nishiwaki 0c8ef0bd32 hold destination stack locations by offset 2014-07-24 11:03:40 +09:00
Yuichi Nishiwaki 70ace29b7c initial raise-continuable support 2014-07-24 11:02:47 +09:00
Yuichi Nishiwaki 3cb46b9b79 allocate jmpbuf array in heap 2014-07-24 11:02:47 +09:00
Yuichi Nishiwaki 424216ca23 manage converter in var 2014-07-23 09:11:31 +09:00
Yuichi Nishiwaki f7bbe31ee5 change var API 2014-07-22 14:55:13 +09:00
Yuichi Nishiwaki 18b07fc853 change blob API 2014-07-22 13:55:21 +09:00
Yuichi Nishiwaki 3f6ec5f878 implement assoc and member in c 2014-07-22 13:19:25 +09:00
Yuichi Nishiwaki 72422343c0 s/lib->senv/lib->env/g 2014-07-20 15:30:48 +09:00
Yuichi Nishiwaki ad2434cde7 implement memv and assv with C 2014-07-19 12:51:19 +09:00
Yuichi Nishiwaki a2c00017ea implement memq and assq with c 2014-07-19 12:48:27 +09:00
Yuichi Nishiwaki d6b6376408 add pic_senv_new 2014-07-19 01:42:06 +09:00
Yuichi Nishiwaki baeb5f6174 s/senv->renames/senv->map/g 2014-07-19 01:42:06 +09:00
Yuichi Nishiwaki 32174d7855 remove box 2014-07-17 16:38:18 +09:00
Yuichi Nishiwaki c601dbf27e rename pic_proc_cv_ref to pic_attr_ref 2014-07-17 16:31:26 +09:00
Yuichi Nishiwaki 4714df48f0 s/pic_proc_attr/pic_attr/g 2014-07-17 16:28:36 +09:00
Yuichi Nishiwaki cb3c4e8e22 remove use of pic_proc_cv_init 2014-07-17 16:26:15 +09:00
Yuichi Nishiwaki 98bb47dfb6 remove pic_papply 2014-07-17 16:24:47 +09:00
Yuichi Nishiwaki 6cc37281d6 remove pic_tt_sc type 2014-07-17 13:59:21 +09:00
Yuichi Nishiwaki 8781b9a6aa publish pic_identifier_p and pic_identifier_eq_p 2014-07-17 13:58:45 +09:00
Yuichi Nishiwaki 5faa7cd46d leave core syntax keywords renamed 2014-07-14 10:08:11 +09:00
Yuichi Nishiwaki 54d50d57a1 add pic_dict_has 2014-07-13 19:49:24 +09:00
Yuichi Nishiwaki b0474aaec2 add dictionary operators 2014-07-13 12:07:07 +09:00
Yuichi Nishiwaki 2c4fd589bf manage values in a stack 2014-07-13 11:07:43 +09:00
Yuichi Nishiwaki 9e8d53088f add pic_set_c[ad]r 2014-07-13 11:07:42 +09:00
Yuichi Nishiwaki 7ffcbb7a7d refactor var. c api no longer supports converters. 2014-07-13 11:07:42 +09:00
Yuichi Nishiwaki 13fec26c59 remove var accessor and mutators 2014-07-13 11:07:42 +09:00
Yuichi Nishiwaki 56ae4de826 add attribute information to closure objects 2014-07-13 10:58:21 +09:00
Yuichi Nishiwaki 82de3cfe2f add pic_dict_new 2014-07-13 10:58:13 +09:00
Yuichi Nishiwaki 1402a97354 change pic_throw API 2014-07-04 13:32:45 +09:00
Yuichi Nishiwaki 33fcf33bd1 fix #146 2014-06-26 00:57:12 +09:00
Yuichi Nishiwaki 4087ebb4d6 add pic_eof_p 2014-06-25 15:39:45 +09:00
Yuichi Nishiwaki 0e66144a4d add pic_open_input_string 2014-06-25 15:39:40 +09:00
Yuichi Nishiwaki 83a13d4ca4 remove flex dependency 2014-06-25 15:39:30 +09:00
Yuichi Nishiwaki 9aa85c4eb2 __builtin_unreachable appeared in gcc 4.5.0 2014-06-16 01:44:38 +09:00
Yuichi Nishiwaki da553b9001 primary symbol to object hashtable support (dictionary) 2014-06-14 22:17:57 +09:00
Yuichi Nishiwaki 2f75715c84 fix #123. add another build option 'USE_C11_FEATURE' 2014-05-30 10:34:44 +09:00
Yuichi Nishiwaki a003b42435 dynamically allocate GC arena 2014-05-26 15:51:18 +09:00
Yuichi Nishiwaki f5a4047e28 unwind picrin VM registers when pic_pop_try is called 2014-04-06 14:02:50 +09:00
Yuichi Nishiwaki 5893dd5b5c save stacktrace in error objects 2014-04-06 14:02:21 +09:00
Yuichi Nishiwaki 8434629586 move config.h to under picrin/ 2014-04-06 12:44:11 +09:00
Yuichi Nishiwaki 8750b9b4dd add pic_define_syntactic_keyword 2014-04-05 04:01:42 +09:00
Yuichi Nishiwaki 708f348674 s/pic_null_syntactic_env/pic_null_syntactic_environment/g 2014-04-05 03:50:38 +09:00
Yuichi Nishiwaki b9125caa3d remove pic_(minimal|core)_syntactic_env 2014-04-05 03:49:20 +09:00
Yuichi Nishiwaki a94938c2f8 cleanup 2014-04-04 16:34:06 +09:00