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
7a98c3619a
store rectype information to slot hash
2014-08-06 11:36:36 +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
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
261c592d79
move core syntaxes from (scheme base) to (picrin base core)
2014-08-06 01:14:43 +09:00
Yuichi Nishiwaki
db7c129e71
s/pic_record_record/pic_record_make_record/g
2014-08-05 12:05:18 +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
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
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
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
c1e6645086
use brand new API style of xhash
2014-08-01 18:48:14 +09:00
Yuichi Nishiwaki
52aa837bea
support #!fold-case directive
2014-07-29 18:12:45 +09:00
Yuichi Nishiwaki
d9958143e3
file functions should return file-error
2014-07-29 17:45:40 +09:00
Yuichi Nishiwaki
2f7f2a5b93
s/lib_tbl/libs/g
2014-07-29 16:22:55 +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
83ba9af7aa
comment out an assertion
2014-07-29 16:01:12 +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
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
9b50d9133d
remove debug print
2014-07-28 02:04:00 +09:00
Yuichi Nishiwaki
c8918b8e63
support renaming import (including 'only', 'rename', 'except', 'prefix' clauses)
2014-07-28 02:00:16 +09:00
Yuichi Nishiwaki
d31e20c25c
define 'import' and 'export' as macros
2014-07-28 01:02:48 +09:00
Yuichi Nishiwaki
9c1a397ead
define 'define-library' as a macro
2014-07-28 00:48:13 +09:00
Sunrim KIM on Raspberry Pi
39a4a12a10
Merge branch 'master' into rspi
...
Conflicts:
src/read.c
2014-07-27 18:51:12 +09:00
Yuichi Nishiwaki
6a0cc4c9f7
single ')' should be an read error
2014-07-27 18:35:50 +09:00
Yuichi Nishiwaki
730a827d0e
fix vm_tear_off is broken
2014-07-27 18:29:59 +09:00
Sunrim KIM on Raspberry Pi
415cf30ae6
restore some redundant changes
2014-07-27 17:24:56 +09:00
Sunrim KIM on Raspberry Pi
331fe21297
use `int` in place of `char` when you compare it to EOF
2014-07-27 17:05:57 +09:00
Yuichi Nishiwaki
6f7543e3a2
Merge pull request #177 from wasabiz/number-string
...
Number string
2014-07-27 14:49:25 +09:00
Yuichi Nishiwaki
e680b4a6bb
change deflibrary API
2014-07-27 14:47:14 +09:00
Yuichi Nishiwaki
fd8330cca3
add eval error handling
2014-07-27 13:57:15 +09:00
Yuichi Nishiwaki
e258529e8a
primary eval support
2014-07-27 13:41:55 +09:00
Yuichi Nishiwaki
09efa4715c
add another argument to eval
2014-07-27 13:23:59 +09:00
Yuichi Nishiwaki
2caefd0c39
refactor write. don't run unnecessary alloc
2014-07-27 12:36:02 +09:00
Yuichi Nishiwaki
300f87d569
refactor write
2014-07-27 11:38:30 +09:00
Yuichi Nishiwaki
1f98f2ab4e
Merge pull request #180 from KeenS/master
...
silence warning
2014-07-27 11:37:26 +09:00
Sunrim KIM (keen)
f457030a8d
silence warning
2014-07-26 18:06:34 +09:00
Yuichi Nishiwaki
8f419c5eab
write +inf.0, -inf.0, +nan.0, ...
2014-07-26 18:03:51 +09:00
Yuichi Nishiwaki
fcd332be9f
read +INF.0, +InF.0, +Nan.0, ...
2014-07-26 16:56:27 +09:00
Yuichi Nishiwaki
5689abb483
move debug print
2014-07-26 15:08:04 +09:00
Yuichi Nishiwaki
4f957b6cc5
remove unused UNREACHABLE()
2014-07-26 14:57:25 +09:00
Yuichi Nishiwaki
f922a7a0cd
reimplement identifier=? in scheme
2014-07-26 14:54:44 +09:00
Yuichi Nishiwaki
317ea10006
unlock restriction of value types that can appear at macro-expansion time
2014-07-26 14:30:51 +09:00
Yuichi Nishiwaki
b4a0761eb3
publish ungensym
2014-07-26 14:10:17 +09:00
Yuichi Nishiwaki
5ba0c56308
add pic_ungensym
2014-07-26 14:04:34 +09:00
Yuichi Nishiwaki
6966cdfa31
change gensym convension: don't rename renamed symbols with '@', use '.' instead
2014-07-26 13:58:31 +09:00
Yuichi Nishiwaki
3fb986a463
warn syntax redefinition
2014-07-26 13:48:07 +09:00
Yuichi Nishiwaki
a38ba15010
raise-continuable broken
2014-07-25 15:50:29 +09:00
Yuichi Nishiwaki
0111cd19ed
mark error handlers
2014-07-25 15:50:29 +09:00
Yuichi Nishiwaki
50879dd7b6
Allocate pic_blocks in picrin's gc pool; reference count may cause problems
2014-07-25 14:41:56 +09:00
Yuichi Nishiwaki
4ddf7fb163
fix a bug in pic_pop_try
2014-07-25 12:02:05 +09:00
Yuichi Nishiwaki
0c8ef0bd32
hold destination stack locations by offset
2014-07-24 11:03:40 +09:00
Yuichi Nishiwaki
e3e7c53762
fix memory leak
2014-07-24 11:03:40 +09:00
Yuichi Nishiwaki
f176fadb89
tear off on longjmp
2014-07-24 11:03:40 +09:00
Yuichi Nishiwaki
01c657ddba
[bugfix] pic_get_args supports 'e' specifier
2014-07-24 11:02:47 +09:00
Yuichi Nishiwaki
70ace29b7c
initial raise-continuable support
2014-07-24 11:02:47 +09:00
Yuichi Nishiwaki
f52ef27a81
[bugfix] unwrap raised error object
2014-07-24 11:02:47 +09:00
Yuichi Nishiwaki
be2fbc394e
realloc jmpbuf if necessary
2014-07-24 11:02:47 +09:00
Yuichi Nishiwaki
3cb46b9b79
allocate jmpbuf array in heap
2014-07-24 11:02:47 +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
424216ca23
manage converter in var
2014-07-23 09:11:31 +09:00
Yuichi Nishiwaki
e3887691d2
applicable var
2014-07-23 09:05:35 +09:00
Yuichi Nishiwaki
f7bbe31ee5
change var API
2014-07-22 14:55:13 +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
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
18b07fc853
change blob API
2014-07-22 13:55:21 +09:00
Yuichi Nishiwaki
3f6ec5f878
implement assoc and member in c
2014-07-22 13:19:25 +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
Yuichi Nishiwaki
1e4bc04112
rewrite list<->vector converters in c
2014-07-21 22:51:33 +09:00
koba-e964
8b134ddd56
number->string (exact number)
...
number->string in src/number.c
Supports arbitrary radix
2014-07-21 22:41:08 +09:00
Yuichi Nishiwaki
12fb80b857
allow multiple identifier aliasing
2014-07-21 16:33:18 +09:00
Yuichi Nishiwaki
72422343c0
s/lib->senv/lib->env/g
2014-07-20 15:30:48 +09:00
Yuichi Nishiwaki
7a2f8abd9c
rewrite let-syntax in scheme
2014-07-20 14:55:17 +09:00
Yuichi Nishiwaki
95a3f8880c
disallow non-symbol objects at places where symbol is required
2014-07-20 13:52:48 +09:00
Yuichi Nishiwaki
1b104a00a7
add macroexpand-1
2014-07-20 13:16:50 +09:00
Yuichi Nishiwaki
c43120077c
remove internal defmacro expander
2014-07-20 11:15:12 +09:00
Yuichi Nishiwaki
6a038bc926
change init_contrib API
2014-07-20 09:36:18 +09:00