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
Yuichi Nishiwaki
01061efc5a
move test-numeric-syntax to r7rs-tests.scm. test-numeric-syntax is a
...
test runner specific to r7rs-tests.scm. It should not be placed in
generic test library.
2014-07-27 12:46:10 +09:00
Yuichi Nishiwaki
b7c76ccc2a
[bugfix] test statistics displays failures in reverse order.
2014-07-27 12:42:14 +09:00
Yuichi Nishiwaki
27b157fb19
grammer error
2014-07-26 16:20:26 +09:00
Yuichi Nishiwaki
f922a7a0cd
reimplement identifier=? in scheme
2014-07-26 14:54:44 +09:00
Yuichi Nishiwaki
e53472d9cc
add strip-syntax
2014-07-26 14:13:12 +09:00
Yuichi Nishiwaki
c584b7baa9
add guard macro
2014-07-24 11:03:40 +09:00
Yuichi Nishiwaki
2f44145d3e
refactor vector-map
2014-07-23 09:41:55 +09:00
Yuichi Nishiwaki
aeb9c2bcee
define current-*-ports in port.c
2014-07-23 09:24:28 +09:00
Yuichi Nishiwaki
8846776f2f
refactor (picrin parameter)
2014-07-23 09:18:58 +09:00
Yuichi Nishiwaki
4d108ac299
move include syntax to core-syntax library
2014-07-22 14:34:39 +09:00
Yuichi Nishiwaki
b17a2002f3
refactor dynamic-wind
2014-07-22 14:28:30 +09:00
Yuichi Nishiwaki
bdd15261b1
rewrite bytevector-append in c
2014-07-22 14:14:58 +09:00
Yuichi Nishiwaki
cba4a6ebf5
remvoe unused helper function
2014-07-22 14:08:54 +09:00
Yuichi Nishiwaki
4676550961
rewrite vector-append in c
2014-07-22 14:08:48 +09:00
Yuichi Nishiwaki
5244b2f45d
rewrite bytevector-copy in c
2014-07-22 13:55:35 +09:00
Yuichi Nishiwaki
3f6ec5f878
implement assoc and member in c
2014-07-22 13:19:25 +09:00
Yuichi Nishiwaki
44e80e62f4
Merge pull request #176 from KeenS/test-values
...
fix a bug of `test-values` and unlock the test cases that use `test-valu...
2014-07-22 09:28:23 +09:00
Yuichi Nishiwaki
09bb977c50
rewrite vector-fill! in c
2014-07-22 09:24:30 +09:00
Yuichi Nishiwaki
4e895c97d0
rewrite symbol=? in c
2014-07-22 09:15:16 +09:00
Yuichi Nishiwaki
0d59eee27b
rewrite boolean=? in c
2014-07-22 09:13:42 +09:00
Yuichi Nishiwaki
b1ae2c24e5
rewrite exact-integer-sqrt in c
2014-07-22 09:07:25 +09:00
Yuichi Nishiwaki
3caf070043
rewrite floor/ and truncate/ in c
2014-07-22 09:07:09 +09:00
Yuichi Nishiwaki
b834553c34
rewrite vector-copy in c
2014-07-22 08:58:48 +09:00
Sunrim KIM (keen)
341e4048eb
fix a bug of `test-values` and unlock the test cases that use `test-values`
2014-07-21 22:58:38 +09:00
Yuichi Nishiwaki
1e4bc04112
rewrite list<->vector converters in c
2014-07-21 22:51:33 +09:00
Yuichi Nishiwaki
f8904d199f
Merge pull request #173 from KeenS/test
...
separate (picrin test) and import some test macros from chibi scheme
2014-07-21 00:01:42 +09:00
Sunrim KIM (keen)
720eb94395
separate (picrin test) and import some test macros from chibi scheme
2014-07-20 17:24:03 +09:00
Yuichi Nishiwaki
7a2f8abd9c
rewrite let-syntax in scheme
2014-07-20 14:55:17 +09:00
Yuichi Nishiwaki
240c5d9ac4
implement define-macro in scheme
2014-07-20 11:15:00 +09:00
Yuichi Nishiwaki
3e5fd1a54b
vector-map is no longer used
2014-07-19 18:46:09 +09:00
Yuichi Nishiwaki
8b82498cd7
inline some trivial functions
2014-07-19 18:29:41 +09:00
Yuichi Nishiwaki
63c34327b9
fix a bug in walk function
2014-07-19 18:26:09 +09:00
Yuichi Nishiwaki
1297ef9fb8
add memoize function
2014-07-19 18:26:03 +09:00
Yuichi Nishiwaki
03cc21953f
walk-symbol by default
2014-07-19 18:15:38 +09:00
Yuichi Nishiwaki
2c1db4472b
add walk-symbol
2014-07-19 18:14:11 +09:00
Yuichi Nishiwaki
346494524f
share cache between wrap and inject
2014-07-19 18:10:14 +09:00
Yuichi Nishiwaki
34f7497f4f
Merge branch 'memq-in-c'
...
Conflicts:
piclib/prelude.scm
2014-07-19 16:15:02 +09:00
Yuichi Nishiwaki
5779fcd4e4
no need to override vector? with export syntax
2014-07-19 15:13:47 +09:00
Yuichi Nishiwaki
88d86e1312
rename (picrin multiple-value) to (picrin values)
2014-07-19 15:11:32 +09:00
Yuichi Nishiwaki
c148f74618
include core-syntax at early stage
2014-07-19 15:11:17 +09:00
Yuichi Nishiwaki
c468b343d2
missing file
2014-07-19 14:59:34 +09:00
Yuichi Nishiwaki
d5a314b186
refactor define-values
2014-07-19 14:30:29 +09:00
Yuichi Nishiwaki
6a203d236a
eliminate (scheme cxr) dependency
2014-07-19 14:26:09 +09:00
Yuichi Nishiwaki
301c97245c
split prelude into files
2014-07-19 14:15:53 +09:00
Yuichi Nishiwaki
02ebced87b
prelude cosmetic changes
2014-07-19 13:22:24 +09:00
Yuichi Nishiwaki
ad2434cde7
implement memv and assv with C
2014-07-19 12:51:19 +09:00
Yuichi Nishiwaki
a2c00017ea
implement memq and assq with c
2014-07-19 12:48:27 +09:00
Yuichi Nishiwaki
e715ca10ea
add capture-syntactic-environment. close #96
2014-07-19 11:23:14 +09:00
Yuichi Nishiwaki
8a1d068519
fix many bugs around sc
2014-07-19 11:20:54 +09:00
Yuichi Nishiwaki
f66bea4e97
add close-syntax
2014-07-17 16:47:50 +09:00
Yuichi Nishiwaki
690bdcb83d
add srfi 111
2014-07-17 16:43:25 +09:00
Yuichi Nishiwaki
b99bddcad0
rename built-in.scm to prelude.scm
2014-07-17 16:22:53 +09:00
Yuichi Nishiwaki
5b41b979d9
[bugfix] abuse compare of er-macro
2014-07-17 16:11:33 +09:00
Yuichi Nishiwaki
e5511027e8
add type check guards to comparators
2014-07-17 13:58:08 +09:00
Yuichi Nishiwaki
f4d68d691b
remove c impls of ir/er macros
2014-07-17 13:44:18 +09:00
Yuichi Nishiwaki
c0b83759a8
re-implement ir-macro-transformer in scheme
2014-07-17 13:40:45 +09:00
Yuichi Nishiwaki
2e35f03f35
remove type check guards in compare function
2014-07-17 13:40:18 +09:00
Yuichi Nishiwaki
5e8c4af84b
fix bugs introduced in prev commit
2014-07-17 13:39:28 +09:00
Yuichi Nishiwaki
cf509a4922
[bugfix] move define-auxiliary-syntax to the beginning. This made
...
mac-env and use-env of cond expression different
2014-07-17 11:32:52 +09:00
Yuichi Nishiwaki
73a6eaf9da
rewrite er-macro-transformer in scheme
2014-07-17 11:32:41 +09:00
Yuichi Nishiwaki
5d9242f5b5
rewrite make-syntactic-closure in scheme
2014-07-17 11:32:30 +09:00
Yuichi Nishiwaki
bdcb83296e
update case-lambda impl
2014-07-16 14:47:36 +09:00
Yuichi Nishiwaki
b86d010b76
add letrec-syntax
2014-07-16 14:30:45 +09:00
Yuichi Nishiwaki
b1962ef61b
Merge branch 'array'
2014-07-15 23:55:56 +09:00
Yuichi Nishiwaki
fa0cde8d77
publish call-with-{in,out}put-file
2014-07-15 23:09:20 +09:00
Yuichi Nishiwaki
632529c9a5
add array-map and array-for-each
2014-07-15 22:45:04 +09:00
Yuichi Nishiwaki
318475c14b
optional argument for make-array
2014-07-15 22:27:48 +09:00
Yuichi Nishiwaki
4f5a92d921
rename array type; avoid variable conflict
2014-07-15 22:20:45 +09:00
Yuichi Nishiwaki
d358c8873d
add array<->list converters
2014-07-15 22:20:32 +09:00
Yuichi Nishiwaki
2da5d440a8
more array functions
2014-07-15 21:26:08 +09:00
Yuichi Nishiwaki
443bd6e830
initial array support
2014-07-15 20:59:29 +09:00
Yuichi Nishiwaki
1d5fa803aa
add case-lambda
2014-07-15 17:51:27 +09:00
Yuichi Nishiwaki
fda89b1604
[bugfix] broken hygiene of cond expression
2014-07-13 22:51:22 +09:00
Yuichi Nishiwaki
b7a44ee810
fix not-implemented errors
2014-07-13 12:33:13 +09:00
Yuichi Nishiwaki
71677d3e85
add dictionary.scm
2014-07-13 12:18:39 +09:00
Yuichi Nishiwaki
9c78a9a51f
refactor parameterize
2014-07-13 11:16:38 +09:00
Yuichi Nishiwaki
7ffcbb7a7d
refactor var. c api no longer supports converters.
2014-07-13 11:07:42 +09:00
Yuichi Nishiwaki
05309a1d38
don't use pic_defvar
2014-07-13 11:07:42 +09:00
Sunrim KIM (keen)
351d7948c0
fix bug of `{bytevector, vector}-copy!` with the same src and dst
2014-07-07 04:16:40 +09:00
Yuichi Nishiwaki
2af2362b4f
support `(define-values (x y . z) ...)`
2014-06-29 15:08:23 +09:00
Yuichi Nishiwaki
a6ac56d311
rewrite `include` macro with scheme
2014-06-29 15:08:23 +09:00
Yuichi Nishiwaki
cee98a9954
[bugfix] support vector literal in quasiquote
2014-06-28 19:43:49 +09:00
Yuichi Nishiwaki
1e458d9691
fix #153
2014-06-28 12:40:02 +09:00
stibear
31acb21093
rewrite an unavailable symbol into an available one
2014-06-28 11:48:30 +09:00
Yuichi Nishiwaki
39a87d1c60
Merge pull request #131 from KeenS/missing-functions
...
( ref #130 ) Missing functions
2014-06-27 09:03:50 +09:00
Yuichi Nishiwaki
195ccf199d
[bugfix] make-promise makes a promise that is done all along
2014-06-27 08:55:02 +09:00
Yuichi Nishiwaki
a98411cd0b
syntax error around comma
2014-06-27 08:55:01 +09:00
stibear
2526474fb3
implements delete-duplicates(!) tail-recursively
2014-06-26 22:44:38 +09:00
koba-e964
5b215eb57a
Make filter tail-recursive
2014-06-26 18:40:40 +09:00
Yuito Murase
d39a2eb4c9
fix bug that filter-map fails when called with multiple clists
2014-06-26 09:53:30 +09:00
stibear
694d5eafe3
implements (srfi 60)
2014-06-23 03:11:43 +09:00
stibear
d765d803cb
implements (srfi 43)
2014-06-19 03:23:47 +09:00
stibear
5f4dcd331c
implements (srfi 8)
2014-06-19 03:21:53 +09:00
stibear
72dabaa24d
correct `pair-for-each`
2014-06-18 22:00:24 +09:00
Sunrim KIM (keen)
6ccfa7ad69
some bug fixes
2014-05-29 03:58:04 +09:00
Yuichi Nishiwaki
65038c9504
Merge pull request #120 from KeenS/bytevector-append
...
fix bug of `bytevector-append`
2014-05-29 01:37:38 +09:00
Sunrim KIM (keen)
a9c4cefe88
`quotient` is defined in base
2014-05-29 01:23:06 +09:00
Sunrim KIM (keen)
49e2148d38
fix bug of `bytevector-append`
2014-05-29 00:31:40 +09:00
Sunrim KIM (keen)
b9a783c23e
if `=>` is specified, treat expression as a function
2014-05-27 17:49:51 +09:00
Sunrim KIM (keen)
0fea822ac0
allow `else` and `=>` keyword in `case`
2014-05-27 13:24:59 +09:00