Jan Nieuwenhuizen
|
0f042b6ea6
|
mes: Reimplement records.
* module/srfi/srfi-9.mes (define-record-type): New macro.
* AUTHORS: Update.
* module/mes/record-0.mes: Remove.
* module/mes/record.mes: Remove.
* module/srfi/srfi-9-psyntax.mes: Remove.
* module/srfi/srfi-9.scm: Remove.
* make.scm: Remove them.
|
2017-12-12 00:12:42 +01:00 |
|
Jan Nieuwenhuizen
|
572b45f4cd
|
mes: Nyacc support: substring/copy, substring/shared.
* module/srfi/srfi-13.mes (substring/copy, substring/shared): Define
to substring.
|
2017-12-09 22:45:38 +01:00 |
|
Jan Nieuwenhuizen
|
761ea8b23f
|
mes: Add last.
* module/srfi/srfi-1.mes (last): New funcion.
|
2017-12-17 13:32:17 +01:00 |
|
Jan Nieuwenhuizen
|
fc0e0a732f
|
mes: Add reverse-list->string.
* module/srfi/srfi-13.mes (reverse-list->string): New function.
|
2017-11-20 06:49:27 +01:00 |
|
Jan Nieuwenhuizen
|
01b4c0846b
|
mes: Add list-index.
* module/srfi/srfi-1.scm (list-index): New function.
|
2017-06-11 14:45:01 +02:00 |
|
Jan Nieuwenhuizen
|
dda7a7cd62
|
mes: Add string-rindex.
* module/srfi/srfi-13.mes (string-rindex): New function.
|
2017-05-19 00:41:01 +02:00 |
|
Jan Nieuwenhuizen
|
20b3c349bf
|
mes: Support predicate with string-index.
* module/srfi/srfi-13.mes (string-index): Support predicate.
|
2017-05-19 00:51:23 +02:00 |
|
Jan Nieuwenhuizen
|
c84f95beee
|
mes: Basic support for string-index.
* module/srfi/srfi-13.mes (string-index): New function.
* tests/srfi-13.test ("string-index"): Test it.
|
2017-05-06 23:00:27 +02:00 |
|
Jan Nieuwenhuizen
|
073f886203
|
mes: Support case-lambda.
* module/srfi/srfi-16.scm: New file.
* AUTHORS: Mention it.
* module/srfi/srfi-16.mes: New file.
|
2017-05-06 22:42:21 +02:00 |
|
Jan Nieuwenhuizen
|
232e87bd9d
|
scm: Have char-set-contains? strictly return boolean.
* module/srfi/srfi-14.mes (char-set-contains?): Return #t rather than
memq result.
|
2017-04-01 09:36:34 +02:00 |
|
Jan Nieuwenhuizen
|
3cbadcda86
|
scm: Add list->char-set.
* module/srfi/srfi-14.mes (list->char-set): New function.
* tests/srfi-14.test ("list->char-set!"): Test it.
|
2017-03-26 22:33:51 +02:00 |
|
Jan Nieuwenhuizen
|
5fae0f7bff
|
scm: Add string-delete.
* module/srfi/srfi-13.mes (string-delete): New function.
|
2017-01-17 18:48:28 +01:00 |
|
Jan Nieuwenhuizen
|
a0baa98196
|
Add string-take, string-drop.
* module/srfi/srfi-13.mes (string-take, string-drop): New functions.
|
2017-01-04 21:45:24 +01:00 |
|
Jan Nieuwenhuizen
|
921c2fe79e
|
Append-map: handle multiple list.
* module/srfi/srfi-1.mes (append-map): Add optional rest argument.
|
2017-01-04 21:43:35 +01:00 |
|
Jan Nieuwenhuizen
|
6d5cfad356
|
Add filter-map.
* module/srfi/srfi-1.mes (filter-map): New function.
|
2017-01-04 09:14:05 +01:00 |
|
Jan Nieuwenhuizen
|
aa82c408eb
|
Add srfi-1:iota.
* module/srfi/srfi-1.mes (iota,srf-1:iota): New function.
|
2017-01-04 09:14:00 +01:00 |
|
Jan Nieuwenhuizen
|
e8d8d5c3be
|
core: Add some error checking.
* lib.c (length): Return -1 for non-proper lists.
(error): New function.
(assert_defined): Use it.
(check_formals, check_apply): New functions.
* mes.c (car, cdr, set_cdr_x, set_env_x, eval_apply): Add error check.
* srfi/srfi-1.mes (member): New function.
* tests/srfi-1.tests ("member"): New test.
|
2016-12-24 12:10:05 +01:00 |
|
Jan Nieuwenhuizen
|
d295ee5668
|
Import srfi-26 from Guile.
* module/srfi/srfi-26.scm: Import.
* module/srfi/srfi-26.mes: Include it.
* AUTHORS: Mention it.
|
2016-12-24 08:34:19 +01:00 |
|
Jan Nieuwenhuizen
|
0bac0cb948
|
Use include-from-path for upstream.
* module/mes/lalr.scm: Rename from module/mes/lalr.upstream.mes.
* module/mes/lalr.mes: Update.
* module/mes/match.scm: Rename from module/mes/match.upstream.mes.
* module/mes/match.mes: Update.
* module/mes/optargs.scm: Rename from module/mes/optargs.upstream.mes.
* module/mes/optargs.mes: Update.
* module/mes/quasisyntax.scm: Rename from module/mes/quasisyntax.upstream.mes.
* module/mes/quasisyntax.mes: Update.
* module/srfi/srfi-1.scm: Rename from module/srfi/srfi-1.upstream.mes.
* module/srfi/srfi-1.mes: Update.
* module/srfi/srfi-9.scm: Rename from module/srfi/srfi-9.upstream.mes.
* module/srfi/srfi-9.mes: Update.
* AUTHORS: Update.
|
2016-12-22 19:34:41 +01:00 |
|
Jan Nieuwenhuizen
|
51cd4885fc
|
Add string-copy, string=, string=?, char<?, char>?, char<=?, char>=?.
* module/srfi/srfi-13.mes: New file.
* module/mes/scm.mes (char<?, char>?, char<=?, char>=?): New function.
* module/srfi/srfi-13.mes: New file.
* tests/srfi-13.test: New file.
* string.c (string_to_symbol): Handle "".
|
2016-12-11 21:26:27 +01:00 |
|
Jan Nieuwenhuizen
|
8e1b25368b
|
Add iota.
* module/mes/scm.mes: (iota): New function.
* tests/scm.test (iota, iota 0, iota -1): New tests.
|
2016-12-20 19:25:26 +01:00 |
|
Jan Nieuwenhuizen
|
641653563d
|
Partial srfi-43 support for Nyacc.
* module/srfi/srfi-43.mes: New file.
|
2016-12-20 11:31:46 +01:00 |
|
Jan Nieuwenhuizen
|
f8bb463da6
|
Partial srfi-14 support for Nyacc.
* module/srfi/srfi-14.mes: New file.
* tests/srfi-14.test: New file.
* GNUmakefile (TESTS): Add it.
|
2016-12-20 12:26:20 +01:00 |
|
Jan Nieuwenhuizen
|
376435e974
|
Add missing srfi-1 functions for Nyacc.
* module/srfi/srfi-1.scm (fold, fold-right, remove, append-reverse,
remove!): New functions.
* tests/srfi-1.test: New file.
* GNUmakefile (TESTS): Add it.
* module/srfi/srfi-1.upstream.mes: Import bits from Guile-1.8.
* AUTHORS: Mention it.
|
2016-12-20 10:44:43 +01:00 |
|
Jan Nieuwenhuizen
|
e8b78a1077
|
Add psyntax-based srfi-9.
* module/srfi/srfi-9-psyntax.mes: New file.
|
2016-12-18 16:05:35 +01:00 |
|
Jan Nieuwenhuizen
|
3a72f1f186
|
core: Resurrect QUASIQUOTE=0.
* mes.c (mes_builtins) [!QUASIQUOTE]: Do not add unquoters.
* module/mes/base-0.mes (push!, pop!, load, mes-use-module): Rewrite
without quasiquote.
* module/mes/quasiquote.mes (quasiquote): Rewrite using if, and.
* module/srfi/srfi-0 (cond-expand): Rewrite without quasiquote.
|
2016-12-12 20:35:19 +01:00 |
|
Jan Nieuwenhuizen
|
2b577eaee0
|
Add loadable modules.
* module/mes/base-0.mes (mes-use-module): Implement.
* module/mes: Update users.
* HACKING: Update.
* NEWS: Update.
* configure (main): Use shell expansion for prefix.
* make/install.make (install): Substitute prefix.
|
2016-12-12 20:35:19 +01:00 |
|
Jan Nieuwenhuizen
|
d114634203
|
Prepare for 0.1 release: new directory structure.
* scripts/elf.mes: New file.
* scripts/include.mes: New file.
* scripts/mescc.mes: New file.
* scripts/paren.mes: New file.
* scripts/repl.mes: New file.
* doc/examples/main.c: Move from ./main.c.
* module/mes/base-0.mes: Move from ./base0.mes.
* module/mes/base.mes: Move from top.
* module/mes/elf.mes: Likewise.
* module/mes/let-syntax.mes: Likewise.
* module/mes/let.mes: Likewise.
* module/mes/mes.mes: Likewise.
* module/mes/quasiquote.mes: Likewise.
* module/mes/repl.mes: Likewise.
* module/mes/scm.mes: Likewise.
* module/mes/syntax.mes: Likewise.
* module/mes/lalr-0.mes: Move from lib/lalr.mes.
* module/mes/lalr.mes: Move from lib/lalr.scm.
* module/mes/match.mes: Move from lib/match.scm.
* module/mes/record-0.mes: Move from lib/record.mes.
* module/mes/record.mes: Move from lib/record.scm.
* module/mes/test.mes: Move flom lib/.
* module/rnrs/bytevectors.mes: Move from lib/rnrs.
* module/srfi/srfi-0.mes: Move from lib/srfi.
* module/srfi/srfi-1.mes: Likewise.
* module/srfi/srfi-9.mes: Likewise.
* module/language/c/lexer.mes: Move from ./c-lexer.scm.
* module/language/c/parser.mes: Move from ./mescc.scm.
* module/language/c/compiler.mes: New file, split from parser.mes.
* module/language/paren.mes: Move from ./paren.scm.
* module/mes/libc-i386.mes: New file, split from elf.mes.
* tests/base.test: Move from test/.
* tests/closure.test: Likewise.
* tests/let-syntax.test: Likewise.
* tests/let.test: Likewise.
* tests/match.test: Likewise.
* tests/quasiquote.test: Likewise.
* tests/record.test: Likewise.
* tests/scm.test: Likewise.
* hello.S: Remove.
* hello.c: Remove.
* loop2.mes: Remove.
* test/foo.test: Remove.
|
2016-10-12 23:40:11 +02:00 |
|