Commit Graph

2307 Commits

Author SHA1 Message Date
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
Yuichi Nishiwaki a2fc679fab inline 'with' macro 2014-08-03 14:18:47 +09:00
Yuichi Nishiwaki e795b4a75a small refactor 2014-08-03 14:18:27 +09:00
Yuichi Nishiwaki 82f82da213 remove old code that has been commented out for a long 2014-08-03 14:04:26 +09:00
Yuichi Nishiwaki 3f2b1d85bf remove unused helper function 2014-08-03 14:02:13 +09:00
Yuichi Nishiwaki e73d9cc590 compiler may perform tco against macroexpand_node 2014-08-03 13:52:18 +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 c1e6645086 use brand new API style of xhash 2014-08-01 18:48:14 +09:00
Yuichi Nishiwaki 055a288199 update xhash 2014-08-01 18:48:02 +09:00
Yuichi Nishiwaki 80dde12fc3 fix test case 2014-07-29 18:12:57 +09:00
Yuichi Nishiwaki 52aa837bea support #!fold-case directive 2014-07-29 18:12:45 +09:00
Yuichi Nishiwaki f639734cb1 remove tests about exact ratinoals. r7rs doesn't require them. 2014-07-29 17:47:02 +09:00
Yuichi Nishiwaki d9958143e3 file functions should return file-error 2014-07-29 17:45:40 +09:00
Yuichi Nishiwaki b61ad3f0bb improve (tan 1) test accuracy 2014-07-29 17:44:00 +09:00
Yuichi Nishiwaki c3a4348d2c comment out rational? test 2014-07-29 17:37:08 +09:00
Yuichi Nishiwaki 2f7f2a5b93 s/lib_tbl/libs/g 2014-07-29 16:22:55 +09:00
Yuichi Nishiwaki dbad3690af Merge branch 'global-table' 2014-07-29 16:12:00 +09:00
Yuichi Nishiwaki f26def254d remove commented function 2014-07-29 16:10:31 +09:00
Yuichi Nishiwaki 1ae29c8449 inline global_ref and global_def. 2014-07-29 16:09:04 +09:00
Yuichi Nishiwaki 38076e738e lookup global variable by name 2014-07-29 16:09:04 +09:00
Yuichi Nishiwaki c646c4e0ed Merge branch 'rewrite-repl-in-scheme' 2014-07-29 16:05:10 +09:00
Yuichi Nishiwaki 83ba9af7aa comment out an assertion 2014-07-29 16:01:12 +09:00
Yuichi Nishiwaki 48b5d6b578 [bugfix] interleave newline 2014-07-29 15:57:26 +09:00
Yuichi Nishiwaki 1a891036f2 [bugfix] print should print a newline to given port 2014-07-29 15:56:50 +09:00
Yuichi Nishiwaki a15ec868ba -h option should return exit status 1 2014-07-29 15:44:22 +09:00
Yuichi Nishiwaki 9b95c3c75e exit status 2014-07-29 15:43:59 +09:00
Yuichi Nishiwaki 36f4a8fa66 support file execution 2014-07-29 15:43:43 +09:00
Yuichi Nishiwaki 96f8a969e0 print takes an optional argument for output port, and returns obj itself 2014-07-29 15:42:52 +09:00
Yuichi Nishiwaki f09a27cd0a [bugfix] case doesn't compare string equality 2014-07-29 15:42:35 +09:00
Yuichi Nishiwaki ea0ebf5126 [bugfix] command-line returned reversed list of command line arguments 2014-07-29 15:31:24 +09:00
Yuichi Nishiwaki 2f7a51c096 move the repl source to under piclib 2014-07-29 15:23:40 +09:00
Yuichi Nishiwaki dd52dee01c no exit 2014-07-28 13:22:24 +09:00
Yuichi Nishiwaki 786cf9d894 fix main.scm 2014-07-28 11:44:19 +09:00
Yuichi Nishiwaki fc388f8d46 call main.scm inside main.c 2014-07-28 11:43:52 +09:00
Yuichi Nishiwaki db38f13600 add main.scm 2014-07-28 11:37:46 +09:00
Yuichi Nishiwaki bc0b1aa6d6 Merge pull request #181 from KeenS/rspi
Fix build error on Raspberry Pi
2014-07-28 02:23:02 +09:00
Yuichi Nishiwaki 7a64ecc8bf refactor macroexpand-1 2014-07-28 02:22:02 +09:00
Yuichi Nishiwaki 170fef3516 Merge branch 'renaming-import' 2014-07-28 02:05:35 +09:00