Commit Graph

2295 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 8a5a3e6b97 refactor record type bootstrap 2014-08-06 22:15:35 +09:00
zeptometer a35dd8463c in syntax-rules, literals is prior to underscore 2014-08-06 21:48:54 +09:00
zeptometer 4f59e07539 fix bug that errors when matching vector rule with non-vector expression 2014-08-06 21:05:20 +09:00
zeptometer b91939f5aa fix bug when syntax-rules expand rules including vector 2014-08-06 20:11:59 +09:00
Yuichi Nishiwaki 0eecddb5da set array printer 2014-08-06 17:00:32 +09:00
Yuichi Nishiwaki 7de95e2817 user-defined printers for record objects 2014-08-06 16:54:18 +09:00
Yuichi Nishiwaki 0f89e04548 small refactoring on <record-type> 2014-08-06 16:27:12 +09:00
Yuichi Nishiwaki 9316ba468b import (picrin array) and (picrin dictionary) in (picrin user) by default 2014-08-06 15:54:16 +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 b0c9c468c0 s/<type>/<record-type>/g 2014-08-06 14:34:46 +09:00
Yuichi Nishiwaki 86698f974f add <type> type 2014-08-06 11:45:03 +09:00
Yuichi Nishiwaki 7a98c3619a store rectype information to slot hash 2014-08-06 11:36:36 +09:00
Yuichi Nishiwaki 0610c0e95b use <foo> style in naming record type 2014-08-06 11:33:07 +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 1a7df924ab export destructuring-bind 2014-08-06 03:09:36 +09:00
Yuichi Nishiwaki 5a3443a881 add destructuring-define 2014-08-06 03:09:36 +09:00
Yuichi Nishiwaki b0b60d3f01 renaming export in d-lambda 2014-08-06 03:09:36 +09:00
Yuichi Nishiwaki f37c2c25f7 refactor destructuring-lambda 2014-08-06 03:09:36 +09:00
Yuichi Nishiwaki 91d2dd0b02 Merge pull request #174 from KeenS/refactor-contrib
Refactor contrib
2014-08-06 02:41:08 +09:00
Yuichi Nishiwaki 41f1c9962a add missing files 2014-08-06 02:15:29 +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 6b01f36914 Merge branch 'define-is-a-macro' 2014-08-06 01:36:07 +09:00
Yuichi Nishiwaki 1d42771b54 define 'define' as a user-level macro 2014-08-06 01:34:07 +09:00
Yuichi Nishiwaki 610e1013f7 add (picrin base) library 2014-08-06 01:17:01 +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 5a4764b6bb Merge branch 'destructuring-lambda' 2014-08-05 12:55:49 +09:00
Yuichi Nishiwaki d669d48aa7 add destructuring lambda 2014-08-05 12:53:33 +09:00
Yuichi Nishiwaki db7c129e71 s/pic_record_record/pic_record_make_record/g 2014-08-05 12:05:18 +09:00
Yuichi Nishiwaki f44c5189f0 reorder functions following the guide by r7rs. 2014-08-05 02:20:05 +09:00
Yuichi Nishiwaki a022941c98 inline cxr functions 2014-08-05 02:08:14 +09:00
zeptometer bca13f3f44 Merge pull request #182 from zeptometer/native-record
Native record
2014-08-04 23:28:09 +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 0c4d2b9cef Merge remote-tracking branch 'upstream/master' into native-record
Conflicts:
	piclib/scheme/base.scm
2014-08-03 16:19:54 +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
Yuichi Nishiwaki 0095fa6a57 prelude to base 2014-08-03 15:47:25 +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 c2982a4252 no need to overwrite eval 2014-08-03 14:46:08 +09:00
Yuichi Nishiwaki e16de03b65 abort execution when an error occurred during running a file program 2014-08-03 14:38:38 +09:00
Yuichi Nishiwaki 9375aadf4b split files 2014-08-03 14:19:55 +09:00