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