Yuichi Nishiwaki
|
c77b8be011
|
insert type checks in pic_get_args
|
2013-10-28 00:40:10 +09:00 |
Yuichi Nishiwaki
|
d3df6dcbf2
|
support exact integer
|
2013-10-28 00:21:24 +09:00 |
Yuichi Nishiwaki
|
f192c96650
|
parse-from-file facility
|
2013-10-27 18:38:41 +09:00 |
Yuichi Nishiwaki
|
f3041b7ebc
|
support rest arguments
|
2013-10-27 18:13:36 +09:00 |
Yuichi Nishiwaki
|
83de938342
|
add some port predicates
|
2013-10-24 22:56:04 +09:00 |
Yuichi Nishiwaki
|
7bb27295c0
|
warn global redefinition
|
2013-10-24 22:29:40 +09:00 |
Yuichi Nishiwaki
|
331fdaba4c
|
warn various kinds of syntax errors during codegen
|
2013-10-24 21:55:07 +09:00 |
Yuichi Nishiwaki
|
9cb28f3156
|
add OP_EQ/OP_LT/OP_LE
|
2013-10-24 21:10:13 +09:00 |
Yuichi Nishiwaki
|
411395995c
|
s/env.numcv/env.num_val/g
|
2013-10-24 03:41:48 +09:00 |
Yuichi Nishiwaki
|
a926c54be3
|
warn invalid application
|
2013-10-24 03:38:29 +09:00 |
Yuichi Nishiwaki
|
d75b624b4a
|
add OP_LSET and OP_CSET
|
2013-10-24 03:14:32 +09:00 |
Yuichi Nishiwaki
|
4b31901bce
|
add OP_CREF
|
2013-10-24 02:04:49 +09:00 |
Yuichi Nishiwaki
|
bd851318d1
|
add pic_env struct
|
2013-10-24 02:02:07 +09:00 |
Yuichi Nishiwaki
|
ec0f0d3572
|
add pic_calloc
|
2013-10-24 00:32:03 +09:00 |
Yuichi Nishiwaki
|
0fd1bbeae9
|
throw wrong number of arguments error for user defined lambda call
|
2013-10-24 00:09:40 +09:00 |
Yuichi Nishiwaki
|
035de0016b
|
evaluate arguments in normal (lexical) order
|
2013-10-23 15:55:42 +09:00 |
Yuichi Nishiwaki
|
dd7958c3d6
|
reader supports quasiquote abbrev
|
2013-10-23 12:39:48 +09:00 |
Yuichi Nishiwaki
|
dd3adf30e6
|
use xhash to manage scopes during codegin
|
2013-10-22 22:22:35 +09:00 |
Yuichi Nishiwaki
|
5da1b175a7
|
extend default heap size
|
2013-10-22 18:30:05 +09:00 |
Yuichi Nishiwaki
|
779199d571
|
add many many number primitive functions
|
2013-10-22 17:24:07 +09:00 |
Yuichi Nishiwaki
|
b45d7d9592
|
add eof-object type
|
2013-10-22 16:02:20 +09:00 |
Yuichi Nishiwaki
|
176d167de8
|
add some file open functions
|
2013-10-22 15:44:03 +09:00 |
Yuichi Nishiwaki
|
6245ec7e05
|
finalize port objects when collected
|
2013-10-22 15:40:36 +09:00 |
Yuichi Nishiwaki
|
0c1babb6c5
|
add pic_reverse
|
2013-10-22 00:19:43 +09:00 |
Yuichi Nishiwaki
|
114d6b708b
|
since pic_string is a first-class value, move it to value.h
|
2013-10-21 17:38:05 +09:00 |
Yuichi Nishiwaki
|
f5154625ba
|
add aux object field to proc object
|
2013-10-21 17:35:14 +09:00 |
Yuichi Nishiwaki
|
86177b7c4e
|
pic_get_args supports optional argument
|
2013-10-21 13:57:02 +09:00 |
Yuichi Nishiwaki
|
db1f977600
|
add pic_list_p
|
2013-10-21 12:03:35 +09:00 |
Yuichi Nishiwaki
|
adab797391
|
add system.c
|
2013-10-21 11:51:02 +09:00 |
Yuichi Nishiwaki
|
7dbb2c6de4
|
cleanup
|
2013-10-21 11:44:23 +09:00 |
Yuichi Nishiwaki
|
ba78a00d5c
|
take care of escaped characters in string
|
2013-10-21 11:12:34 +09:00 |
Yuichi Nishiwaki
|
8f4788ca27
|
read strings
|
2013-10-21 10:48:03 +09:00 |
Yuichi Nishiwaki
|
a49675c322
|
add OP_PUSHCONST
|
2013-10-21 09:29:56 +09:00 |
Yuichi Nishiwaki
|
5e43fe58fe
|
add string type
|
2013-10-21 08:48:55 +09:00 |
Yuichi Nishiwaki
|
05eb62cc4d
|
do not abort when meet a compilation error
|
2013-10-20 18:17:12 +09:00 |
Yuichi Nishiwaki
|
4f8aa03b24
|
clarify the meanings of error functions
|
2013-10-20 17:41:48 +09:00 |
Yuichi Nishiwaki
|
7322271d65
|
intern symbols using hash table
|
2013-10-20 14:05:48 +09:00 |
Yuichi Nishiwaki
|
bde09e063a
|
add pic_acons function
|
2013-10-20 14:04:39 +09:00 |
Yuichi Nishiwaki
|
50b9c2bd97
|
add pair.h
|
2013-10-20 12:34:57 +09:00 |
Yuichi Nishiwaki
|
bcde104dd1
|
cleanup
|
2013-10-20 04:18:52 +09:00 |
Yuichi Nishiwaki
|
afc0184d10
|
extend default heap size
|
2013-10-20 04:04:06 +09:00 |
Yuichi Nishiwaki
|
cfae6f3c59
|
add OP_NILP
|
2013-10-20 03:53:02 +09:00 |
Yuichi Nishiwaki
|
78f301794a
|
add OP_CAR/OP_CDR
|
2013-10-20 03:48:06 +09:00 |
Yuichi Nishiwaki
|
5e96d05fd1
|
insert OP_POP into sequential operation
|
2013-10-18 02:29:11 +09:00 |
Yuichi Nishiwaki
|
e7a5784fd7
|
allocate global variable entry area by malloc and save it into pic_state
|
2013-10-18 00:15:15 +09:00 |
Yuichi Nishiwaki
|
c92a672e01
|
change the stack layout: to hold proc object on the stack when procedure
call is invoked
|
2013-10-17 23:29:18 +09:00 |
Yuichi Nishiwaki
|
1646de5e8d
|
initial port commit
|
2013-10-17 22:42:47 +09:00 |
Yuichi Nishiwaki
|
e87f632327
|
writer writes lists in short form
|
2013-10-17 22:42:20 +09:00 |
Yuichi Nishiwaki
|
b58c6d1e8b
|
remove test_object_creation from main.c
|
2013-10-17 21:00:54 +09:00 |
Yuichi Nishiwaki
|
1a6c8a3cca
|
support multi-line input in REPL
|
2013-10-17 20:48:50 +09:00 |
Yuichi Nishiwaki
|
5671c43a77
|
do not abort when finding syntax error
|
2013-10-17 17:57:12 +09:00 |
Yuichi Nishiwaki
|
d9e47bdd05
|
add begin syntax
|
2013-10-17 17:54:28 +09:00 |
Yuichi Nishiwaki
|
17f0c928da
|
add readline support
|
2013-10-17 17:08:33 +09:00 |
Yuichi Nishiwaki
|
4e83ad4843
|
s/pic_instruction/pic_opcode/g
|
2013-10-17 14:18:32 +09:00 |
Yuichi Nishiwaki
|
fc9e2401a3
|
add some comments on picconf.h
|
2013-10-17 13:55:00 +09:00 |
Yuichi Nishiwaki
|
7925f2b502
|
implement direct threading VM
|
2013-10-17 13:54:48 +09:00 |
Yuichi Nishiwaki
|
6c903db758
|
if syntax
|
2013-10-16 17:42:47 +09:00 |
Yuichi Nishiwaki
|
87dce75c78
|
add local variables
|
2013-10-16 17:20:53 +09:00 |
Yuichi Nishiwaki
|
5c8d81e8b5
|
support closure call
|
2013-10-16 15:30:52 +09:00 |
Yuichi Nishiwaki
|
9b7fdb0725
|
undef object must not appear in the user land
|
2013-10-16 13:24:08 +09:00 |
Yuichi Nishiwaki
|
ff646e05dd
|
support boolean values
|
2013-10-16 13:17:01 +09:00 |
Yuichi Nishiwaki
|
f6eddbc6d3
|
save all ireps into pic_state
in order to decrease the stress GC will get, restore irep structures
under pic_state instead of under each procs and making it collectable object
|
2013-10-16 11:53:25 +09:00 |
Yuichi Nishiwaki
|
c593a46a62
|
add OP_LAMBDA (lambda object creation)
|
2013-10-16 11:32:30 +09:00 |
Yuichi Nishiwaki
|
19abedf746
|
warn when a closure is applied
|
2013-10-16 11:28:57 +09:00 |
Yuichi Nishiwaki
|
b60e4df3d9
|
add pic_realloc
|
2013-10-16 11:21:41 +09:00 |
Yuichi Nishiwaki
|
22abdae12a
|
add callinfo
|
2013-10-15 23:29:34 +09:00 |
Yuichi Nishiwaki
|
ea6230e90c
|
configurable stack size
|
2013-10-15 23:28:23 +09:00 |
Yuichi Nishiwaki
|
47971c1289
|
extend heap size
|
2013-10-15 23:27:26 +09:00 |
Yuichi Nishiwaki
|
a93c3caabf
|
move pic_env to proc.h
|
2013-10-15 21:53:45 +09:00 |
Yuichi Nishiwaki
|
d40c8b5921
|
add cfunc_p flag to pic_proc
|
2013-10-15 21:52:14 +09:00 |
Yuichi Nishiwaki
|
a5dcaba970
|
add support for arithmetic operations
|
2013-10-15 21:29:07 +09:00 |
Yuichi Nishiwaki
|
af9dd45e65
|
change the type of immediate number value from int to double
|
2013-10-15 20:05:12 +09:00 |
Yuichi Nishiwaki
|
02d52723ac
|
add some FFI functions such as pic_defun and pic_get_args
|
2013-10-15 19:19:34 +09:00 |
Yuichi Nishiwaki
|
8a5ea7d7dc
|
implement OP_CALL
|
2013-10-15 19:18:33 +09:00 |
Yuichi Nishiwaki
|
6f80f9287b
|
adjust heap/arena size
|
2013-10-15 19:12:17 +09:00 |
Yuichi Nishiwaki
|
6a10162c2c
|
add picrin/proc.h
|
2013-10-15 13:21:40 +09:00 |
Yuichi Nishiwaki
|
5874b7a350
|
configurable heap/arena size
|
2013-10-15 13:20:45 +09:00 |
Yuichi Nishiwaki
|
daece7ae67
|
add object creation debug flag to picconf
|
2013-10-15 09:14:34 +09:00 |
Yuichi Nishiwaki
|
60ed971dd9
|
add picconf.h
|
2013-10-15 09:05:44 +09:00 |
Yuichi Nishiwaki
|
42dbd5fe98
|
save some special symbols in pic_state structure
|
2013-10-14 18:28:52 +09:00 |
Yuichi Nishiwaki
|
276e139ec6
|
fix bugs around GC
|
2013-10-14 18:21:56 +09:00 |
Yuichi Nishiwaki
|
a5db43ba91
|
add object finalizer
|
2013-10-13 19:00:39 +09:00 |
Yuichi Nishiwaki
|
dc2f25ef2a
|
initial GC commit
|
2013-10-13 19:00:12 +09:00 |
Yuichi Nishiwaki
|
a6f561d66e
|
change the type of argument pic_gc_protect accepts
|
2013-10-13 17:25:36 +09:00 |
Yuichi Nishiwaki
|
ee985a31cd
|
add GC arena
|
2013-10-13 17:02:29 +09:00 |
Yuichi Nishiwaki
|
a0556087f9
|
rename pic_gc_alloc to pic_obj_alloc
|
2013-10-13 16:55:07 +09:00 |
Yuichi Nishiwaki
|
1fb9ac5d03
|
let pic_proc be a first class object
|
2013-10-13 16:16:13 +09:00 |
Yuichi Nishiwaki
|
d92bd71293
|
force alignment of headers
|
2013-10-13 16:02:08 +09:00 |
Yuichi Nishiwaki
|
e3600a65c9
|
replace mock allocator with simple k&r malloc
|
2013-10-13 15:14:15 +09:00 |
Yuichi Nishiwaki
|
69e927d7bc
|
add pic_raise
|
2013-10-12 14:40:27 +09:00 |
Yuichi Nishiwaki
|
b284973035
|
add #<undef>
|
2013-10-12 14:40:01 +09:00 |
Yuichi Nishiwaki
|
65c9843d83
|
add VM codegen
|
2013-10-12 12:53:54 +09:00 |
Yuichi Nishiwaki
|
1a45eab148
|
store stack base and end
|
2013-10-12 00:20:53 +09:00 |
Yuichi Nishiwaki
|
643d8be66d
|
first VM impl
|
2013-10-12 00:16:19 +09:00 |
Yuichi Nishiwaki
|
03fbd0bdb6
|
add fixnum
|
2013-10-12 00:15:46 +09:00 |
Yuichi Nishiwaki
|
6b0c1aa668
|
first eval commit
|
2013-10-11 17:36:51 +09:00 |
Yuichi Nishiwaki
|
8533d7b87f
|
initial parser commit
|
2013-10-11 15:18:37 +09:00 |
Yuichi Nishiwaki
|
2a6978a3b9
|
fix bugs around compilation
|
2013-10-10 17:54:35 +09:00 |
Yuichi Nishiwaki
|
b640dc08e8
|
add pic_debug function
|
2013-10-10 17:48:01 +09:00 |
Yuichi Nishiwaki
|
0c382c2bdb
|
add pic_intern_cstr
|
2013-10-10 17:22:25 +09:00 |
Yuichi Nishiwaki
|
0fad63f22a
|
add nil stuff
|
2013-10-10 17:08:54 +09:00 |
Yuichi Nishiwaki
|
9038939bd1
|
add some pair functions
|
2013-10-10 17:06:26 +09:00 |
Yuichi Nishiwaki
|
177d2c7098
|
add pic_obj_value function
|
2013-10-10 17:05:58 +09:00 |
Yuichi Nishiwaki
|
97ba95e12f
|
add our own malloc implementation (just a mock for now)
|
2013-10-10 16:44:51 +09:00 |
Yuichi Nishiwaki
|
ebffe5a22e
|
decide value representation
|
2013-10-10 16:34:24 +09:00 |
Yuichi Nishiwaki
|
68a7420ba4
|
remove argument name from prototype
|
2013-10-10 16:19:10 +09:00 |
Yuichi Nishiwaki
|
25c9fef1d0
|
add pic_state structure
|
2013-10-10 16:15:41 +09:00 |