Commit Graph

418 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 9b226afd1f move {vector,string}-{map,for-each} 2014-09-19 18:21:28 +09:00
Sunrim KIM (keen) 489535e156 let `min` and `max` preserve exactness 2014-09-18 23:26:07 +09:00
Yuichi Nishiwaki 6fdf082bdd update benz (exception API refactoring) 2014-09-17 00:51:01 +09:00
Yuichi Nishiwaki ec0f9a952b delete null.scm, move declarations to r5rs.scm 2014-09-15 16:46:22 +09:00
Yuichi Nishiwaki 1e29ad51a0 update benz. (parameterize, object dictionary) 2014-09-15 16:00:19 +09:00
Yuichi Nishiwaki b9707debaf update benz 2014-09-13 18:55:16 +09:00
Yuichi Nishiwaki c82c23b93d dictionary-delete -> dictionary-delete! 2014-09-13 16:54:41 +09:00
Yuichi Nishiwaki ecdc6ffd66 update benz (dictionary-api) 2014-09-13 16:52:42 +09:00
Yuichi Nishiwaki 22a04a59a2 update benz (conversion functions) 2014-09-12 21:21:29 +09:00
Yuichi Nishiwaki 8117a95b0d update benz. define `include' in scheme/base.scm 2014-09-12 18:54:12 +09:00
Yuichi Nishiwaki 96609de180 string conversion functions 2014-09-10 20:10:09 +09:00
Yuichi Nishiwaki 0dbf238f83 update benz (call-with-port) 2014-09-10 17:43:19 +09:00
Yuichi Nishiwaki 9f5a1512b5 char comparators moved to benz core 2014-09-10 17:18:41 +09:00
Yuichi Nishiwaki a0ab746fc8 fix #197 2014-09-10 03:11:45 +09:00
Yuichi Nishiwaki 3aced33d84 small refactoring 2014-09-09 02:29:24 +09:00
Yuichi Nishiwaki d2e5ca6985 lcm should do abs 2014-09-09 02:24:19 +09:00
Yuichi Nishiwaki afe547f1c3 r5rs is missed 2014-09-09 02:15:55 +09:00
Yuichi Nishiwaki 64d7861bf3 bytevector-copy is missed. added port-open?c 2014-09-09 02:14:48 +09:00
Yuichi Nishiwaki 3c396b5f3c gcd and lcm take variable-length arguments 2014-09-09 01:48:28 +09:00
Yuichi Nishiwaki df18df8868 [bugfix] even? and odd? broken 2014-09-09 01:31:25 +09:00
Yuichi Nishiwaki 9ab446ab92 support strings 2014-09-09 01:28:08 +09:00
Yuichi Nishiwaki 27322a3c80 update benz (_ and ...) 2014-09-09 00:59:12 +09:00
Yuichi Nishiwaki 230c87d455 update benz (boot.c) 2014-09-08 23:55:47 +09:00
Yuichi Nishiwaki 1ac0ccb05e change dictionary interface 2014-09-08 20:49:28 +09:00
Yuichi Nishiwaki 8b9a3f513a update benz 2014-09-08 20:45:34 +09:00
Yuichi Nishiwaki 0ad4daa338 more fixes 2014-09-08 20:37:44 +09:00
Yuichi Nishiwaki 3919c17fdc WIP 2014-09-08 20:20:08 +09:00
Yuichi Nishiwaki c3ef97992d move core syntaxes 2014-09-08 17:16:05 +09:00
Yuichi Nishiwaki 685d21a1e2 move define-record-type 2014-09-08 17:15:50 +09:00
Yuichi Nishiwaki c15999cc76 update benz 2014-09-08 17:08:38 +09:00
Yuichi Nishiwaki 268191d1c5 reorder base.scm 2014-09-05 03:08:11 +09:00
Yuichi Nishiwaki 6f40dcc5df refactor define-record-writer 2014-09-04 19:14:43 +09:00
Yuichi Nishiwaki 85ccc30821 remove scheme implemetation of identifier=? 2014-09-04 19:14:27 +09:00
Yuichi Nishiwaki 7a2b897f17 add scheme/read.scm and scheme/write.scm 2014-09-04 18:59:25 +09:00
Yuichi Nishiwaki 055ec2538d update prototypes (picrin/symbol.scm, picrin/list.scm, picrin/base.scm) 2014-09-04 18:59:10 +09:00
Yuichi Nishiwaki 7f092cb9ab managed to make it work 2014-09-01 09:53:19 +09:00
Yuichi Nishiwaki 9fefa80466 Merge branch 'repl-and-readline' 2014-08-31 01:47:59 +09:00
Yuichi Nishiwaki 75ae0cad12 repl moves to contrib 2014-08-30 23:30:04 +09:00
stibear 6a52aa2610 setter -> @@setter 2014-08-30 15:31:26 +09:00
stibear 607e961525 fixes small mistakes 2014-08-30 15:26:21 +09:00
stibear a85de7ff73 implement by using (picrin attribute) 2014-08-30 14:47:47 +09:00
stibear 688c41a402 Updates CMakeLists.txt 2014-08-30 14:47:47 +09:00
stibear 64bcf68692 implements srfi-17(generalized-set!) 2014-08-30 14:47:47 +09:00
Yuichi Nishiwaki 3b3a74e114 let dictionary-ref return two values 2014-08-29 23:57:55 +09:00
Yuichi Nishiwaki 6533fc9b5b [bugfix] identifier=? 2014-08-08 13:59:15 +09:00
Yuichi Nishiwaki fff22f253f use define-record-writer to set custom writer to <array> type 2014-08-07 11:52:00 +09:00
Yuichi Nishiwaki 75138db4db add define-record-writer 2014-08-07 11:50:52 +09:00
Yuichi Nishiwaki 97bb9085af import (picrin library) to (picrin user) by default 2014-08-07 11:20:12 +09:00
Yuichi Nishiwaki 6996b80f10 Merge branch 'reader-constructor' 2014-08-07 00:30:02 +09:00
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 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 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 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 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 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 d669d48aa7 add destructuring lambda 2014-08-05 12:53:33 +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
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 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 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 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 2f7a51c096 move the repl source to under piclib 2014-07-29 15:23:40 +09:00
Yuichi Nishiwaki 28c486261c move test-read-error to r7rs-tests.scm 2014-07-27 18:39:27 +09:00
Yuichi Nishiwaki 9c1f8809ed add missing files 2014-07-27 14:33:46 +09:00
Yuichi Nishiwaki 137a01e74e add environment procedure 2014-07-27 14:29:29 +09:00
Yuichi Nishiwaki 076698c84a add null-environment and scheme-report-environment 2014-07-27 14:29:08 +09:00