Commit Graph

1329 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 3b3a74e114 let dictionary-ref return two values 2014-08-29 23:57:55 +09:00
Yuichi Nishiwaki 79417040e6 Merge branch 'trie-reader' 2014-08-24 15:23:46 +09:00
Yuichi Nishiwaki 8d06a00483 don't refer to invalid memory region by ci->ip 2014-08-13 14:56:18 +09:00
Yuichi Nishiwaki b2e1c523bc refactor the last change 2014-08-13 14:55:26 +09:00
Yuichi Nishiwaki 8039ddf9c5 [bugfix] rhs of assignment may modify lhs pointer 2014-08-13 14:47:26 +09:00
Yuichi Nishiwaki e1fededa1e dispatch by string 2014-08-12 19:43:43 +09:00
Yuichi Nishiwaki 0dd7e85e72 [bugfix] plus reader broken 2014-08-12 19:42:54 +09:00
Yuichi Nishiwaki 252debb489 remember dispatch string 2014-08-12 19:40:32 +09:00
Yuichi Nishiwaki 7f3bbe88af s/read_unsigned_blob/read_blob/g 2014-08-12 11:06:55 +09:00
Yuichi Nishiwaki e34b580182 refactor boolean readers 2014-08-12 10:59:49 +09:00
Yuichi Nishiwaki d78026ac05 refactor comma reader 2014-08-12 10:52:35 +09:00
Yuichi Nishiwaki 058de5b7e9 reader by readtable 2014-08-12 09:14:43 +09:00
Yuichi Nishiwaki 8dae333bbd use int for character variables 2014-08-12 09:09:24 +09:00
Yuichi Nishiwaki d922fb9747 unused type alias 2014-08-12 09:09:03 +09:00
Yuichi Nishiwaki d2a06d8efa add unmatch handler 2014-08-12 08:32:52 +09:00
Yuichi Nishiwaki aec33d59da read_pipe didn't satisfy reader signature 2014-08-12 08:31:00 +09:00
Yuichi Nishiwaki e3fc2d5009 add reader struct 2014-08-11 18:39:04 +09:00
Yuichi Nishiwaki bf9db30059 cosmetic changes 2014-08-11 18:38:59 +09:00
Yuichi Nishiwaki afe0e5a1e0 add in-library 2014-08-11 18:16:33 +09:00
Yuichi Nishiwaki 57d3618c5a more detail error message on car/cdr error 2014-08-09 20:03:58 +09:00
Yuichi Nishiwaki bd98dda5d0 support exponential literal 2014-08-08 15:38:29 +09:00
Yuichi Nishiwaki 977345392f no need char conversion 2014-08-08 15:19:10 +09:00
Yuichi Nishiwaki a023db8054 drop support for rational literal 2014-08-08 15:08:08 +09:00
Yuichi Nishiwaki d98cb495a3 [bugfix] define standard functions before loading piclibs 2014-08-07 11:20:28 +09:00
Yuichi Nishiwaki 7653cb4bb1 add libraries function 2014-08-07 11:14:58 +09:00
Yuichi Nishiwaki 474a625349 inline push_sym macro 2014-08-07 11:06:38 +09:00
Yuichi Nishiwaki 448e3caeaa don't use user printer for records in debug mode 2014-08-06 22:15:49 +09:00
Yuichi Nishiwaki 7de95e2817 user-defined printers for record objects 2014-08-06 16:54:18 +09:00
Yuichi Nishiwaki 2b66b7c5a2 allow arbitrary objects at codegen time 2014-08-06 15:53:54 +09:00
Yuichi Nishiwaki a4a2bde6ba use read-time eval literals for eof-object and dictionries 2014-08-06 15:53:29 +09:00
Yuichi Nishiwaki d62727bef9 add read-time eval 2014-08-06 15:53:22 +09:00
Yuichi Nishiwaki e339b7c64a external form using srfi-10 for dictionaries 2014-08-06 15:10:48 +09:00
Yuichi Nishiwaki 312914fa0d use #, reader literal to write eof-object 2014-08-06 15:02:19 +09:00
Yuichi Nishiwaki b64cdd6724 remove redundant code 2014-08-06 14:58:23 +09:00
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
Yuichi Nishiwaki bac96b2e54 s/slotname/slot/g 2014-08-06 11:26:35 +09:00
Yuichi Nishiwaki 772c59dead add (picrin symbol) 2014-08-06 02:14:43 +09:00
Yuichi Nishiwaki bc47968ea1 add (picrin list) and (picrin base list) 2014-08-06 02:07:02 +09:00
Yuichi Nishiwaki f70b6c5240 add (picrin base macro) primitives 2014-08-06 01:46:59 +09:00
Yuichi Nishiwaki 1d42771b54 define 'define' as a user-level macro 2014-08-06 01:34:07 +09:00
Yuichi Nishiwaki 261c592d79 move core syntaxes from (scheme base) to (picrin base core) 2014-08-06 01:14:43 +09:00
Yuichi Nishiwaki db7c129e71 s/pic_record_record/pic_record_make_record/g 2014-08-05 12:05:18 +09:00
Yuito Murase ef38874850 add predicate record? to (picrin record), and fix bug of record-type predicate 2014-08-04 23:01:47 +09:00
Yuito Murase cd96014104 record-ref and record-set! don't check type 2014-08-04 12:45:11 +09:00
Yuito Murase 8934c99ac2 move (picrin record-primitive) to (picrin record) 2014-08-04 07:38:27 +09:00
Yuito Murase 9e9666999e fix style 2014-08-04 07:36:31 +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 e73d9cc590 compiler may perform tco against macroexpand_node 2014-08-03 13:52:18 +09:00