Yuichi Nishiwaki
|
16639a1764
|
fix #56. thank you @justinethier
|
2014-02-20 11:58:27 +09:00 |
Yuichi Nishiwaki
|
c4473335b4
|
add macroexpand function. close #46.
|
2014-02-15 13:02:06 +09:00 |
Yuichi Nishiwaki
|
64cdd5f152
|
cleanup
|
2014-02-13 15:01:01 +09:00 |
Yuichi Nishiwaki
|
f9046cc614
|
improve export error message
|
2014-02-13 15:00:48 +09:00 |
Yuichi Nishiwaki
|
ac136bbc2e
|
add gensym function
|
2014-02-13 14:59:51 +09:00 |
Yuichi Nishiwaki
|
f32754c0f9
|
place define-macro syntax in (picrin macro) library
|
2014-02-13 14:59:17 +09:00 |
Yuichi Nishiwaki
|
a5f93fbd30
|
Merge remote-tracking branch 'refs/remotes/origin/master'
|
2014-02-13 13:49:46 +09:00 |
Yuichi Nishiwaki
|
aa48198270
|
cosmetic changes
|
2014-02-13 13:44:30 +09:00 |
Yuichi Nishiwaki
|
6c849bbac9
|
defsyntax functon no longer used
|
2014-02-13 13:42:17 +09:00 |
Yuichi Nishiwaki
|
a16eee7e1e
|
improve hygiene on define-macro
|
2014-02-13 13:26:32 +09:00 |
Yuichi Nishiwaki
|
907a6a1207
|
save memory consumption in macroexpand_list
|
2014-02-12 23:25:37 +09:00 |
Yuichi Nishiwaki
|
234c573bb6
|
add another debug print
|
2014-02-12 22:30:46 +09:00 |
Yuichi Nishiwaki
|
edc91bd588
|
remove unneeded include
|
2014-02-12 21:50:28 +09:00 |
Yuichi Nishiwaki
|
910e006dc3
|
resolve symbols bound by define-syntax
|
2014-02-12 21:49:28 +09:00 |
Yuichi Nishiwaki
|
03ef82fd16
|
defmacro takes a symbol for the name
|
2014-02-12 11:32:17 +09:00 |
Yuichi Nishiwaki
|
b24e1b05c4
|
cleanup
|
2014-02-12 11:30:32 +09:00 |
Yuichi Nishiwaki
|
a40c79116f
|
use symbol_rename function in macro transformers
|
2014-02-12 11:20:38 +09:00 |
Yuichi Nishiwaki
|
098d5dc022
|
s/syntax/macro/g
|
2014-02-12 11:13:29 +09:00 |
Yuichi Nishiwaki
|
8ea3a7b544
|
rename a property of pic_syntax s/macro/proc/g
|
2014-02-12 11:05:32 +09:00 |
Yuichi Nishiwaki
|
6b69e8e74b
|
stx->sym property is no longer used
|
2014-02-12 11:02:59 +09:00 |
Yuichi Nishiwaki
|
3d97e7f749
|
syntax_new is a private API
|
2014-02-12 10:59:10 +09:00 |
Yuichi Nishiwaki
|
25ae2ef6b0
|
add identifier_eq_p
|
2014-02-12 10:57:58 +09:00 |
Yuichi Nishiwaki
|
93a259870c
|
replace pic_syntax_new with pic_syntax_new_macro
|
2014-02-12 10:52:33 +09:00 |
Yuichi Nishiwaki
|
a18fe136e1
|
cosmetic fixes
|
2014-02-12 10:50:26 +09:00 |
Yuichi Nishiwaki
|
c759fee566
|
add new_senv
|
2014-02-12 10:48:44 +09:00 |
Yuichi Nishiwaki
|
9cf7d72e82
|
inline-expand a small function
|
2014-02-12 10:42:17 +09:00 |
Yuichi Nishiwaki
|
527f46480a
|
rename symbols before macro lookup
|
2014-02-12 10:39:20 +09:00 |
Yuichi Nishiwaki
|
34c10b0054
|
unify includes of stdio and assert
|
2014-02-11 23:25:25 +09:00 |
Yuichi Nishiwaki
|
5be10aefc9
|
[bugfix] compiling big library faults with arena overflow
|
2014-02-11 22:44:04 +09:00 |
Yuichi Nishiwaki
|
372fd3157b
|
error report is propagated through pic->err
|
2014-02-11 13:21:00 +09:00 |
Yuichi Nishiwaki
|
93f7270ea3
|
auto export symbols defined by pic_defmacro
|
2014-02-08 15:24:27 +09:00 |
Yuichi Nishiwaki
|
4cb661c252
|
add 'include' macro
|
2014-02-08 15:05:28 +09:00 |
Yuichi Nishiwaki
|
1c633b3cda
|
cleanup
|
2014-02-07 02:23:55 +09:00 |
Yuichi Nishiwaki
|
c4040949ff
|
stop warning in macroexpand, and creating a duplicate slot
|
2014-02-07 02:14:39 +09:00 |
Yuichi Nishiwaki
|
fd0553ac25
|
warn variable redefinition in macroexpansion level
|
2014-02-07 02:13:16 +09:00 |
Yuichi Nishiwaki
|
faac3f7e9d
|
include xhash in picrin.h
|
2014-02-07 01:24:51 +09:00 |
Yuichi Nishiwaki
|
53979bf848
|
prefer type alias to types with 'struct'
|
2014-02-07 01:15:17 +09:00 |
Yuichi Nishiwaki
|
1901a7ab30
|
e->key is no longer of const char * type
|
2014-02-07 01:09:05 +09:00 |
Yuichi Nishiwaki
|
a4062b5b76
|
use xh_new_int
|
2014-02-07 01:08:57 +09:00 |
Yuichi Nishiwaki
|
a99cf8458a
|
implement ir-macro-transformer with C
|
2014-01-19 01:14:32 -08:00 |
Yuichi Nishiwaki
|
c5c3f4c1f5
|
use newer API of xhash
|
2014-02-01 20:01:26 +09:00 |
Yuichi Nishiwaki
|
2f50f92ddc
|
use pic_for_each
|
2014-02-01 16:05:29 +09:00 |
Yuichi Nishiwaki
|
47f4060086
|
rewrite deflibrary using gensym
|
2014-02-01 15:41:30 +09:00 |
Yuichi Nishiwaki
|
9172dc9f31
|
remove old pic_symbol_p macro
|
2014-01-31 03:03:36 +09:00 |
Yuichi Nishiwaki
|
8ae55bd9b6
|
unification uses of int and size_t. use size_t for every variable that
can possibly be used as an array index.
|
2014-01-30 18:14:33 +09:00 |
Yuichi Nishiwaki
|
4d95707db5
|
add FALLTHROUGH macro
|
2014-01-30 14:13:01 +09:00 |
Yuichi Nishiwaki
|
655eb7a3bd
|
add pic_compile
|
2014-01-20 16:57:39 +09:00 |
Yuichi Nishiwaki
|
586b228156
|
add PIC_TT_IREP
|
2014-01-18 16:51:54 +09:00 |
Yuichi Nishiwaki
|
ca068f560b
|
clarify license information
|
2014-01-17 20:58:31 +09:00 |
Yuichi Nishiwaki
|
f4202a7555
|
don't need to strip syntactic information away from quoted expressions
|
2014-01-12 20:21:07 +09:00 |
Yuichi Nishiwaki
|
b70c689b1f
|
keep track of xhash's HEAD
|
2014-01-12 19:53:20 +09:00 |
Yuichi Nishiwaki
|
944111ba09
|
make gensym API public
|
2014-01-12 16:03:36 +09:00 |
Yuichi Nishiwaki
|
825cde998b
|
s/pic_proc_cv_reserve/pic_proc_cv_init/g
|
2014-01-12 13:02:16 +09:00 |
Yuichi Nishiwaki
|
45c49fdec3
|
don't rename each symbol more than a time
|
2014-01-10 17:55:58 +09:00 |
Yuichi Nishiwaki
|
62e52be061
|
[bugfix] macroexpand may return a non-symbol value even if passed a symbol.
|
2014-01-10 17:55:13 +09:00 |
Yuichi Nishiwaki
|
57253f9a6c
|
compare is allowed to take non-symbol values
|
2014-01-10 17:52:31 +09:00 |
Yuichi Nishiwaki
|
2e66b533c1
|
fix a small bug in a comment
|
2014-01-10 16:22:07 +09:00 |
Yuichi Nishiwaki
|
9b02247082
|
initial explicit renaming macro prototype
|
2014-01-09 16:34:22 +09:00 |
Yuichi Nishiwaki
|
a9f4eff13e
|
add parameter primitives: (picrin parameter) library
|
2014-01-09 00:39:13 +09:00 |
Yuichi Nishiwaki
|
b9ef51530f
|
don't intern symbols newly generated by new_uniq_sym
|
2014-01-08 20:41:29 +09:00 |
Yuichi Nishiwaki
|
dccc234fd9
|
add pic_import
|
2014-01-08 15:38:31 +09:00 |
Yuichi Nishiwaki
|
33cbf5ff6a
|
configurable none value
|
2014-01-08 15:22:23 +09:00 |
Yuichi Nishiwaki
|
76f5cbf0b3
|
ENDLIBRARY requires a trailing semicolon
|
2013-12-10 07:26:43 -08:00 |
Yuichi Nishiwaki
|
fb34b71de1
|
[bugfix] identifier=? dies when take auxiliary syntax (because they emit
errors during expansion)
|
2013-12-10 01:50:53 -08:00 |
Yuichi Nishiwaki
|
41ffd0d7e5
|
define macro primitives (such as make-syntactic-closure) in (picrin macro)
|
2013-12-10 01:49:48 -08:00 |
Yuichi Nishiwaki
|
e021ac52ac
|
identifier=? dons not necessarily take identifiers
|
2013-12-10 00:22:34 -08:00 |
Yuichi Nishiwaki
|
038020ff9f
|
sequentially evaluate programs declared in library at the macroexpansion phase
|
2013-12-09 23:00:13 -08:00 |
Yuichi Nishiwaki
|
74feec78f1
|
always emit the same unique symbol for unbound variable
|
2013-12-09 09:32:30 -08:00 |
Yuichi Nishiwaki
|
725297384a
|
define-syntax is now capable of takeing a synclo object at the position
of the syntax name
|
2013-12-09 09:26:28 -08:00 |
Yuichi Nishiwaki
|
d871c6f06c
|
import and export take multiple spec in a time
|
2013-12-09 09:22:38 -08:00 |
Yuichi Nishiwaki
|
39b28fa674
|
debug print might cause segv
|
2013-12-09 09:09:24 -08:00 |
Yuichi Nishiwaki
|
eeb09f336e
|
Merge branch 'master' into libraries
Conflicts:
src/macro.c
src/pair.c
|
2013-12-09 08:27:29 -08:00 |
Yuichi Nishiwaki
|
e05a469a06
|
fix ir-macro-transformer
|
2013-12-09 07:27:11 -08:00 |
Yuichi Nishiwaki
|
0dddddab55
|
ir-macro-transformer was broken
|
2013-12-09 07:26:51 -08:00 |
Yuichi Nishiwaki
|
5035831d84
|
[bugfix] syntax objects should be brought to imported library's
senv->stx holder
|
2013-12-08 00:52:34 -08:00 |
Yuichi Nishiwaki
|
e71c5abfdb
|
rename unbound symbols by default
|
2013-12-07 20:45:47 -08:00 |
Yuichi Nishiwaki
|
01e60b5d8e
|
add pic_export and pic_export_as
|
2013-12-07 20:44:39 -08:00 |
Yuichi Nishiwaki
|
0110370cc4
|
improve reusability
|
2013-12-07 20:43:57 -08:00 |
Yuichi Nishiwaki
|
791ab95219
|
[bugfix] taking a wrong symbol for exporting
|
2013-12-07 19:03:18 -08:00 |
Yuichi Nishiwaki
|
0f491adc73
|
select library during macroexpanding define-library
|
2013-12-07 18:59:35 -08:00 |
Yuichi Nishiwaki
|
818430bb81
|
implement import/export syntax
|
2013-12-07 09:42:34 -08:00 |
Yuichi Nishiwaki
|
1ac5b6458c
|
add pic_null_syntactic_env and pic_minimal_syntactic_env
|
2013-12-07 07:04:26 -08:00 |
Yuichi Nishiwaki
|
381ed58bff
|
add global library table
|
2013-12-07 05:36:14 -08:00 |
Yuichi Nishiwaki
|
931565d4ce
|
add pic_lib
|
2013-12-07 03:58:18 -08:00 |
Yuichi Nishiwaki
|
acbcde3b6a
|
initial library support
|
2013-12-07 03:04:27 -08:00 |
Yuichi Nishiwaki
|
25378e3813
|
cosmetic changes
|
2013-12-06 07:51:32 -08:00 |
Yuichi Nishiwaki
|
ef04e3f02c
|
add pic_core_syntactic_env
|
2013-12-06 18:04:36 +09:00 |
Yuichi Nishiwaki
|
dc7c801c38
|
exprs during macroexpansion may have syntactic-closure in the tail position
|
2013-12-03 13:08:00 +09:00 |
Yuichi Nishiwaki
|
761deffe1f
|
macroexpand_list supports any kind of improper list
|
2013-12-03 13:07:25 +09:00 |
Yuichi Nishiwaki
|
e10bbac8e5
|
accept injected symbols (syntactic-closures) at the places of lambda formals
|
2013-11-28 18:40:31 +09:00 |
Yuichi Nishiwaki
|
49caf79ce6
|
[bugfix] new_uniq_sym must take one more byte chunk for new string
|
2013-11-27 06:31:12 -08:00 |
Yuichi Nishiwaki
|
7b8ee3eb97
|
add er-macro-transformer
|
2013-11-27 17:26:07 +09:00 |
Yuichi Nishiwaki
|
1ab588d21f
|
added hygienic macro facility! Fooo!
|
2013-11-27 15:58:28 +09:00 |
Yuichi Nishiwaki
|
9a027dae6e
|
add error guard
|
2013-11-27 15:57:23 +09:00 |
Yuichi Nishiwaki
|
78cafe3db7
|
add make-syntactic-closure function
|
2013-11-27 15:04:44 +09:00 |
Yuichi Nishiwaki
|
ab74920a6f
|
add pic_sc (syntactic closure) structure
|
2013-11-27 15:04:02 +09:00 |
Yuichi Nishiwaki
|
a7a3bfc270
|
[CSE] add new_global_senv and new_local_senv
|
2013-11-27 14:19:46 +09:00 |
Yuichi Nishiwaki
|
b4218a7a03
|
cosmetic changes
|
2013-11-27 14:00:23 +09:00 |
Yuichi Nishiwaki
|
73831283b6
|
cleanup
|
2013-11-27 13:51:24 +09:00 |
Yuichi Nishiwaki
|
94aac37443
|
macros must be added to var_tbl
|
2013-11-26 17:43:59 -08:00 |