mes.git
4 years agoelf.mes: readelf -h a.out shows some info.
Jan Nieuwenhuizen [Fri, 12 Aug 2016 13:10:05 +0000 (15:10 +0200)]
elf.mes: readelf -h a.out shows some info.

4 years agomescc/elf.mes: write minimal ELF header.
Jan Nieuwenhuizen [Fri, 12 Aug 2016 12:17:55 +0000 (14:17 +0200)]
mescc/elf.mes: write minimal ELF header.

4 years agomes.c: display, newline: take optional port; add write-char, read hex #xXX.
Jan Nieuwenhuizen [Fri, 12 Aug 2016 12:17:20 +0000 (14:17 +0200)]
mes.c: display, newline: take optional port; add write-char, read hex #xXX.

4 years agoremove debug output to stdout.
Jan Nieuwenhuizen [Fri, 12 Aug 2016 10:06:59 +0000 (12:06 +0200)]
remove debug output to stdout.

4 years agosyntax-if.mes: TODO.
Jan Nieuwenhuizen [Wed, 27 Jul 2016 10:16:44 +0000 (12:16 +0200)]
syntax-if.mes: TODO.

4 years agoUse IF iso COND as primitive; keep COND primitive as option.
Jan Nieuwenhuizen [Wed, 27 Jul 2016 06:49:45 +0000 (08:49 +0200)]
Use IF iso COND as primitive; keep COND primitive as option.

4 years agolet.scm: cleanups.
Jan Nieuwenhuizen [Wed, 27 Jul 2016 05:35:57 +0000 (07:35 +0200)]
let.scm: cleanups.

4 years agomacro hax0rz
Jan Nieuwenhuizen [Tue, 26 Jul 2016 22:32:30 +0000 (00:32 +0200)]
macro hax0rz

4 years agoRevert "lib/lalr-debug.scm"
Jan Nieuwenhuizen [Tue, 26 Jul 2016 22:05:02 +0000 (00:05 +0200)]
Revert "lib/lalr-debug.scm"

This reverts commit 084d1bea33d45f0653cdc6bef44dc295faef6b72.

4 years agolib/lalr-debug.scm
Jan Nieuwenhuizen [Tue, 26 Jul 2016 21:34:00 +0000 (23:34 +0200)]
lib/lalr-debug.scm

4 years agoquasiquote.mes: disable, too slow.
Jan Nieuwenhuizen [Tue, 26 Jul 2016 21:22:32 +0000 (23:22 +0200)]
quasiquote.mes: disable, too slow.

4 years agosplit-up test suite, implement quasiquote in scheme.
Jan Nieuwenhuizen [Mon, 25 Jul 2016 12:39:56 +0000 (14:39 +0200)]
split-up test suite, implement quasiquote in scheme.

4 years agohello.c, hello.S: hello world target for C compiler.
Jan Nieuwenhuizen [Tue, 26 Jul 2016 05:30:53 +0000 (07:30 +0200)]
hello.c, hello.S: hello world target for C compiler.

4 years agomescc: mes parses simplest main with lalr.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 23:12:22 +0000 (01:12 +0200)]
mescc: mes parses simplest main with lalr.

4 years agoscm.mes: add port-location dummies.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 22:06:50 +0000 (00:06 +0200)]
scm.mes: add port-location dummies.

4 years agomes.c: add set-cdr, substring, string-ref.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 22:06:18 +0000 (00:06 +0200)]
mes.c: add set-cdr, substring, string-ref.

4 years agomes.c: support whitespace characters.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 21:41:16 +0000 (23:41 +0200)]
mes.c: support whitespace characters.

4 years agomescc.scm: parse simple main.c.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 21:18:53 +0000 (23:18 +0200)]
mescc.scm: parse simple main.c.

4 years agoTODO/HACKING: update: lalr/paren.scm runs.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 17:38:47 +0000 (19:38 +0200)]
TODO/HACKING: update: lalr/paren.scm runs.

4 years agomes.c: when reading `EOF', defer read control to program.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 16:28:45 +0000 (18:28 +0200)]
mes.c: when reading `EOF', defer read control to program.

4 years agomes.c, scm.c: add read-char, peek-char, char=?, char-alphabetic?.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 15:35:31 +0000 (17:35 +0200)]
mes.c, scm.c: add read-char, peek-char, char=?, char-alphabetic?.

4 years agoscm.mes: add list-ref.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 15:25:03 +0000 (17:25 +0200)]
scm.mes: add list-ref.

4 years agomes.c: add logior.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 15:21:30 +0000 (17:21 +0200)]
mes.c: add logior.

4 years agoscm.mes: add expt.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 15:16:55 +0000 (17:16 +0200)]
scm.mes: add expt.

4 years agoscm.mes: remainder.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 15:11:49 +0000 (17:11 +0200)]
scm.mes: remainder.

4 years agoscm.mes: implement do.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 15:03:28 +0000 (17:03 +0200)]
scm.mes: implement do.

4 years agoscm.mes: add max, min.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 14:34:54 +0000 (16:34 +0200)]
scm.mes: add max, min.

4 years ago<=, >=: take multiple arguments.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 14:29:38 +0000 (16:29 +0200)]
<=, >=: take multiple arguments.

4 years agomes.c: add quotient and modulo.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 13:25:16 +0000 (15:25 +0200)]
mes.c: add quotient and modulo.

4 years agomes.c: less_p, greater_p, is_p: take multiple arguments.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 13:26:49 +0000 (15:26 +0200)]
mes.c: less_p, greater_p, is_p: take multiple arguments.

4 years agomes.c: display_helper fix for vector.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 13:25:47 +0000 (15:25 +0200)]
mes.c: display_helper fix for vector.

4 years agoscm.mes: make-vector: fix fill.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 12:10:18 +0000 (14:10 +0200)]
scm.mes: make-vector: fix fill.

4 years agoparen.scm revert
Jan Nieuwenhuizen [Sun, 24 Jul 2016 11:28:17 +0000 (13:28 +0200)]
paren.scm revert

4 years agomes.c: fix apply.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 11:27:05 +0000 (13:27 +0200)]
mes.c: fix apply.

4 years agofix for-each.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 10:40:44 +0000 (12:40 +0200)]
fix for-each.

4 years agolalr paren test
Jan Nieuwenhuizen [Sun, 24 Jul 2016 10:08:21 +0000 (12:08 +0200)]
lalr paren test

3 years agoADD .gitignore.
Jan Nieuwenhuizen [Tue, 18 Oct 2016 20:43:23 +0000 (22:43 +0200)]
ADD .gitignore.

3 years agolib/lalr.scm
Jan Nieuwenhuizen [Tue, 18 Oct 2016 20:41:39 +0000 (22:41 +0200)]
lib/lalr.scm

4 years agomes.c: grok #\tab.
Jan Nieuwenhuizen [Sun, 24 Jul 2016 10:06:05 +0000 (12:06 +0200)]
mes.c: grok #\tab.

4 years agomes.c: add syntax, quasisyntax to reader....
Jan Nieuwenhuizen [Sat, 23 Jul 2016 22:40:37 +0000 (00:40 +0200)]
mes.c: add syntax, quasisyntax to reader....

4 years agosrfi-9 records!
Jan Nieuwenhuizen [Sat, 23 Jul 2016 22:14:40 +0000 (00:14 +0200)]
srfi-9 records!

4 years agomes.c: refactor begin and closures. Fixes bugs/top.mes.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 22:01:31 +0000 (00:01 +0200)]
mes.c: refactor begin and closures. Fixes bugs/top.mes.

4 years agobugs/top.mes: document toplevel begin bug; probable reason for record/syntax-case...
Jan Nieuwenhuizen [Sat, 23 Jul 2016 13:29:14 +0000 (15:29 +0200)]
bugs/top.mes: document toplevel begin bug; probable reason for record/syntax-case failure.

4 years agocheck: resurrect guile-check.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 13:17:03 +0000 (15:17 +0200)]
check: resurrect guile-check.

4 years agomes.c: remove hacks
Jan Nieuwenhuizen [Sat, 23 Jul 2016 13:11:32 +0000 (15:11 +0200)]
mes.c: remove hacks

4 years agotrying to get records up....WIP
Jan Nieuwenhuizen [Sat, 23 Jul 2016 12:39:33 +0000 (14:39 +0200)]
trying to get records up....WIP

4 years agosrfi-9
Jan Nieuwenhuizen [Sat, 23 Jul 2016 11:13:21 +0000 (13:13 +0200)]
srfi-9

4 years agolib/record.scm: import.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 10:58:25 +0000 (12:58 +0200)]
lib/record.scm: import.

4 years agolib/srfi/srfi-0.scm: add.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 10:54:34 +0000 (12:54 +0200)]
lib/srfi/srfi-0.scm: add.

4 years agomes.c: barf on unknown symbols.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 09:51:06 +0000 (11:51 +0200)]
mes.c: barf on unknown symbols.

4 years agosyntax.mes: update from scheme48-1.1.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 07:58:23 +0000 (09:58 +0200)]
syntax.mes: update from scheme48-1.1.

4 years agoAdd header to syntax.mes MERGE
Jan Nieuwenhuizen [Sat, 23 Jul 2016 07:47:15 +0000 (09:47 +0200)]
Add header to syntax.mes MERGE

4 years agoscm.mes: add last-pair.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 06:17:49 +0000 (08:17 +0200)]
scm.mes: add last-pair.

4 years agotest.mes: enable vector tests for mes.
Jan Nieuwenhuizen [Sat, 23 Jul 2016 05:51:19 +0000 (07:51 +0200)]
test.mes: enable vector tests for mes.

4 years agoscm.mes: add assq-set!, assq-ref.
Jan Nieuwenhuizen [Fri, 22 Jul 2016 23:38:25 +0000 (01:38 +0200)]
scm.mes: add assq-set!, assq-ref.

4 years agoUpdate documentation, remove old bug files, move bugs into bugs/.
Jan Nieuwenhuizen [Fri, 22 Jul 2016 20:12:05 +0000 (22:12 +0200)]
Update documentation, remove old bug files, move bugs into bugs/.

4 years agomes.c: add new macro type, junk *macro* hack.
Jan Nieuwenhuizen [Fri, 22 Jul 2016 15:13:51 +0000 (17:13 +0200)]
mes.c: add new macro type, junk *macro* hack.

4 years agomes.c: store actual environment with closures.
Jan Nieuwenhuizen [Fri, 22 Jul 2016 10:23:23 +0000 (12:23 +0200)]
mes.c: store actual environment with closures.

4 years agofix closure 5
Jan Nieuwenhuizen [Fri, 22 Jul 2016 07:00:32 +0000 (09:00 +0200)]
fix closure 5

4 years agomes.c: store enviroment depth in closures. Fixes c1, c3 and more.
Jan Nieuwenhuizen [Tue, 19 Jul 2016 19:37:39 +0000 (21:37 +0200)]
mes.c: store enviroment depth in closures. Fixes c1, c3 and more.

4 years agomes.c: move begin_env into eval, decruft.
Jan Nieuwenhuizen [Tue, 19 Jul 2016 16:18:27 +0000 (18:18 +0200)]
mes.c: move begin_env into eval, decruft.

4 years agofix some tests.
Jan Nieuwenhuizen [Mon, 18 Jul 2016 20:59:33 +0000 (22:59 +0200)]
fix some tests.

4 years agotest: hack: show expected/actual
Jan Nieuwenhuizen [Mon, 18 Jul 2016 20:52:12 +0000 (22:52 +0200)]
test: hack: show expected/actual

4 years agoremove booting into mes (would need VM), boot.mes; rewrite test.mes.
Jan Nieuwenhuizen [Mon, 18 Jul 2016 20:43:16 +0000 (22:43 +0200)]
remove booting into mes (would need VM), boot.mes; rewrite test.mes.

4 years agoc0.mes, c1.mes: update.
Jan Nieuwenhuizen [Mon, 18 Jul 2016 18:25:16 +0000 (20:25 +0200)]
c0.mes, c1.mes: update.

4 years agounquoting fix.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 21:43:16 +0000 (23:43 +0200)]
unquoting fix.

4 years agono closuring in macro body...
Jan Nieuwenhuizen [Sun, 17 Jul 2016 21:07:35 +0000 (23:07 +0200)]
no closuring in macro body...

4 years agoadd equal?, member, for-each.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 20:35:00 +0000 (22:35 +0200)]
add equal?, member, for-each.

4 years agoclosures: mostly supported...
Jan Nieuwenhuizen [Sun, 17 Jul 2016 20:15:31 +0000 (22:15 +0200)]
closures: mostly supported...

4 years agosyntax.mes: more debugging.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 20:06:28 +0000 (22:06 +0200)]
syntax.mes: more debugging.

4 years agomes.c: single-statement body lambda closures.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 13:59:21 +0000 (15:59 +0200)]
mes.c: single-statement body lambda closures.

4 years agoc0.mes: simpler bug.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 13:12:01 +0000 (15:12 +0200)]
c0.mes: simpler bug.

4 years agoTODO: update
Jan Nieuwenhuizen [Sun, 17 Jul 2016 13:00:47 +0000 (15:00 +0200)]
TODO: update

4 years agoclosure.mes: document mes closure bug.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 12:47:56 +0000 (14:47 +0200)]
closure.mes: document mes closure bug.

4 years agomes.c: add boolean_p.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 11:32:52 +0000 (13:32 +0200)]
mes.c: add boolean_p.

4 years agomes.c: fix symbol? for nil.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 11:16:10 +0000 (13:16 +0200)]
mes.c: fix symbol? for nil.

4 years agotest.mes: disable call-with-values test, prints too much debugging.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 11:12:51 +0000 (13:12 +0200)]
test.mes: disable call-with-values test, prints too much debugging.

4 years agomes.c: evcon: support clause without cdr. Fixes or.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 10:57:06 +0000 (12:57 +0200)]
mes.c: evcon: support clause without cdr. Fixes or.

4 years agoadd simple <=, >= and list?.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 10:56:31 +0000 (12:56 +0200)]
add simple <=, >= and list?.

4 years agoscm.mes: and: bugfix, return #f for (and #f 1 2 3).
Jan Nieuwenhuizen [Sun, 17 Jul 2016 10:14:46 +0000 (12:14 +0200)]
scm.mes: and: bugfix, return #f for (and #f 1 2 3).

4 years agosyntax.mes: use cond iso if. rode harink
Jan Nieuwenhuizen [Sun, 17 Jul 2016 09:53:37 +0000 (11:53 +0200)]
syntax.mes: use cond iso if. rode harink

4 years agohax0rz..ugh + next name? test in macro.mes.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 09:37:22 +0000 (11:37 +0200)]
hax0rz..ugh + next name? test in macro.mes.

4 years agomes.c: another macro clue-bat in apply. now macro.mes equals guile -s macro.mes.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 08:38:29 +0000 (10:38 +0200)]
mes.c: another macro clue-bat in apply. now macro.mes equals guile -s macro.mes.

4 years agomes.c: begin_env: bugfix, keep going in body after set!
Jan Nieuwenhuizen [Sun, 17 Jul 2016 07:17:47 +0000 (09:17 +0200)]
mes.c: begin_env: bugfix, keep going in body after set!

4 years agomes.c: bugfix for eval_quasiquote: stay in quasiquote mode after next quote.
Jan Nieuwenhuizen [Sun, 17 Jul 2016 07:06:48 +0000 (09:06 +0200)]
mes.c: bugfix for eval_quasiquote: stay in quasiquote mode after next quote.

4 years agoguile runs macro-based mes:define-syntax, mes runs but yields *undefined*.
Jan Nieuwenhuizen [Sat, 16 Jul 2016 22:03:14 +0000 (00:03 +0200)]
guile runs macro-based mes:define-syntax, mes runs but yields *undefined*.

4 years agosupport define-macro inside eval (i.e., inside define-macro)
Jan Nieuwenhuizen [Sat, 16 Jul 2016 21:35:07 +0000 (23:35 +0200)]
support define-macro inside eval (i.e., inside define-macro)

4 years agomes.c: move define, define-macro into begin_env, remove loop. fixes inner defines.
Jan Nieuwenhuizen [Sat, 16 Jul 2016 20:43:13 +0000 (22:43 +0200)]
mes.c: move define, define-macro into begin_env, remove loop. fixes inner defines.

4 years agodefine-syntax...
Jan Nieuwenhuizen [Sat, 16 Jul 2016 19:53:32 +0000 (21:53 +0200)]
define-syntax...

3 years agosyntax...
Jan Nieuwenhuizen [Tue, 18 Oct 2016 20:19:57 +0000 (22:19 +0200)]
syntax...

4 years agoimplement variable-argument and, or.
Jan Nieuwenhuizen [Sat, 16 Jul 2016 18:02:14 +0000 (20:02 +0200)]
implement variable-argument and, or.

4 years agoimplement let loop.
Jan Nieuwenhuizen [Sat, 16 Jul 2016 17:10:04 +0000 (19:10 +0200)]
implement let loop.

4 years agocleanup let, let*, letrec
Jan Nieuwenhuizen [Sat, 16 Jul 2016 15:57:19 +0000 (17:57 +0200)]
cleanup let, let*, letrec

4 years agoimplement unquote-splicing, cleanup some macros
Jan Nieuwenhuizen [Sat, 16 Jul 2016 15:18:11 +0000 (17:18 +0200)]
implement unquote-splicing, cleanup some macros

4 years agoupdate macro, fix andmap.
Jan Nieuwenhuizen [Sat, 16 Jul 2016 11:24:38 +0000 (13:24 +0200)]
update macro, fix andmap.

4 years agoadd scheme apply, rename apply-> apply_env.
Jan Nieuwenhuizen [Sat, 16 Jul 2016 06:17:56 +0000 (08:17 +0200)]
add scheme apply, rename apply-> apply_env.

4 years agosyntax.mes: experiments...
Jan Nieuwenhuizen [Sat, 16 Jul 2016 05:56:50 +0000 (07:56 +0200)]
syntax.mes: experiments...

4 years agosupport cond without match, define-macro x (lambda)).
Jan Nieuwenhuizen [Sat, 16 Jul 2016 05:56:01 +0000 (07:56 +0200)]
support cond without match, define-macro x (lambda)).

4 years ago*unspecified* harder.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 20:47:12 +0000 (22:47 +0200)]
*unspecified* harder.

4 years agoadd number->string, string->symbol, symbol->string.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 20:36:38 +0000 (22:36 +0200)]
add number->string, string->symbol, symbol->string.