Commit Graph

509 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 7a98c3619a store rectype information to slot hash 2014-08-06 11:36:36 +09:00
Yuichi Nishiwaki 7b251a7129 change record API; remove record-of? and add record-type 2014-08-06 11:30:14 +09:00
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 48003c2ce1 Merge branch 'update-xhash' 2014-08-01 18:52:31 +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 52aa837bea support #!fold-case directive 2014-07-29 18:12:45 +09:00
Yuichi Nishiwaki 2f7f2a5b93 s/lib_tbl/libs/g 2014-07-29 16:22:55 +09:00
Yuichi Nishiwaki 38076e738e lookup global variable by name 2014-07-29 16:09:04 +09:00
Yuichi Nishiwaki 07b201c830 undocument pic_defmacro 2014-07-28 00:41:20 +09:00
Yuichi Nishiwaki e680b4a6bb change deflibrary API 2014-07-27 14:47:14 +09:00
Yuichi Nishiwaki 09efa4715c add another argument to eval 2014-07-27 13:23:59 +09:00
Yuichi Nishiwaki 5ba0c56308 add pic_ungensym 2014-07-26 14:04:34 +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 7a2f8abd9c rewrite let-syntax in scheme 2014-07-20 14:55:17 +09:00
Yuichi Nishiwaki c43120077c remove internal defmacro expander 2014-07-20 11:15:12 +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 a867991b7e remove rLETREC_SYNTAX 2014-07-18 11:51:13 +09:00
Yuichi Nishiwaki b50f5fc54f remove sLETREC_SYNTAX 2014-07-18 11:50:08 +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 6c45bb3c5d support let-syntax 2014-07-13 22:36:30 +09:00
Yuichi Nishiwaki c57f8a5016 add pic_void macro 2014-07-13 20:20:04 +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 05309a1d38 don't use pic_defvar 2014-07-13 11:07:42 +09:00
Yuichi Nishiwaki fe375a7224 add pic_funcall 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