mes.git
3 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/.

3 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.

3 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.

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

3 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.

3 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.

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

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

3 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.

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

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

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

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

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

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

3 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.

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

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

3 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.

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

3 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.

3 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.

3 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.

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

3 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).

3 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

3 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.

3 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.

3 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!

3 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.

3 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*.

3 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)

3 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.

3 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...

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

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

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

3 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

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

3 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.

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

3 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)).

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

3 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.

3 years agoadd procedure?
Jan Nieuwenhuizen [Mon, 11 Jul 2016 20:16:11 +0000 (22:16 +0200)]
add procedure?

3 years agoadd variable argument append.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 19:50:59 +0000 (21:50 +0200)]
add variable argument append.

3 years ago+,-,*,/: take n arguments.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 18:58:30 +0000 (20:58 +0200)]
+,-,*,/: take n arguments.

3 years agoadd call-with-values, values.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 17:32:11 +0000 (19:32 +0200)]
add call-with-values, values.

3 years agoadd memq/memv.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 09:05:17 +0000 (11:05 +0200)]
add memq/memv.

3 years agorename assoc to assq.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 08:48:25 +0000 (10:48 +0200)]
rename assoc to assq.

3 years agoadd vectors.
Jan Nieuwenhuizen [Mon, 11 Jul 2016 08:38:02 +0000 (10:38 +0200)]
add vectors.

3 years agoadd length.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 22:21:45 +0000 (00:21 +0200)]
add length.

3 years agoremove disabled code.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 22:17:12 +0000 (00:17 +0200)]
remove disabled code.

3 years agoadd chars.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 22:15:28 +0000 (00:15 +0200)]
add chars.

3 years agoadd strings.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 20:43:23 +0000 (22:43 +0200)]
add strings.

3 years agoTODO: new file.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 13:31:45 +0000 (15:31 +0200)]
TODO: new file.

3 years agoadd begin.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 13:19:20 +0000 (15:19 +0200)]
add begin.

3 years agoadd letrec.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 11:47:56 +0000 (13:47 +0200)]
add letrec.

3 years agofix for set! inside lambda.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 11:45:54 +0000 (13:45 +0200)]
fix for set! inside lambda.

3 years agoadd not, if.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 11:04:10 +0000 (13:04 +0200)]
add not, if.

3 years agoadd +,/,*,=.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 10:52:53 +0000 (12:52 +0200)]
add +,/,*,=.

3 years agoloop2.mes: separate from scm.mes.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 08:55:05 +0000 (10:55 +0200)]
loop2.mes: separate from scm.mes.

3 years agoignore
Jan Nieuwenhuizen [Sun, 10 Jul 2016 08:43:52 +0000 (10:43 +0200)]
ignore

3 years agoadd set!.
Jan Nieuwenhuizen [Sun, 10 Jul 2016 08:43:26 +0000 (10:43 +0200)]
add set!.

3 years agosnarf scm functions and environment.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 21:12:25 +0000 (23:12 +0200)]
snarf scm functions and environment.

3 years agoeval: disarm lambda.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 20:47:36 +0000 (22:47 +0200)]
eval: disarm lambda.

3 years agomap: support two lists.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 20:05:07 +0000 (22:05 +0200)]
map: support two lists.

3 years agoadd simple map.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 20:01:13 +0000 (22:01 +0200)]
add simple map.

3 years agofix evlis argumuent execution order.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 20:01:00 +0000 (22:01 +0200)]
fix evlis argumuent execution order.

3 years agoadd let*.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 18:12:49 +0000 (20:12 +0200)]
add let*.

3 years agoreader: handle whitespace and comments inside lists.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 16:56:59 +0000 (18:56 +0200)]
reader: handle whitespace and comments inside lists.

3 years agomove mes language additions to scm.mes.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 13:16:30 +0000 (15:16 +0200)]
move mes language additions to scm.mes.

3 years agohack to print (current-module).
Jan Nieuwenhuizen [Sat, 9 Jul 2016 12:58:37 +0000 (14:58 +0200)]
hack to print (current-module).

3 years agomes.c, mes.mes: support quasiquote, unquote.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 12:29:39 +0000 (14:29 +0200)]
mes.c, mes.mes: support quasiquote, unquote.

3 years agoboot.mes: generate from mes.mes, scm.mes, test.mes.
Jan Nieuwenhuizen [Sat, 9 Jul 2016 11:23:58 +0000 (13:23 +0200)]
boot.mes: generate from mes.mes, scm.mes, test.mes.

3 years agomes.c: support `.' and add let.
Jan Nieuwenhuizen [Fri, 8 Jul 2016 16:02:06 +0000 (18:02 +0200)]
mes.c: support `.' and add let.

3 years agoboot.mes: support macros, add and, or.
Jan Nieuwenhuizen [Fri, 8 Jul 2016 14:47:44 +0000 (16:47 +0200)]
boot.mes: support macros, add and, or.

3 years agoboot.mes: boostrap into mes.
Jan Nieuwenhuizen [Sun, 29 May 2016 11:44:03 +0000 (13:44 +0200)]
boot.mes: boostrap into mes.

3 years agoLeave pure LISP.
Jan Nieuwenhuizen [Sun, 15 May 2016 22:07:44 +0000 (00:07 +0200)]
Leave pure LISP.

* GNUmakefile: New file.
* mes.c: Lots of work.
* mes.mes: New file, split-off from mes.scm.
(builtin, number): New function.
(apply): Use them.
* mes.test: New file.
* scm.mes: New file, split-off from mes.scm.

3 years agoAdd LISP interpreter in C.
Jan Nieuwenhuizen [Sat, 28 May 2016 14:39:44 +0000 (16:39 +0200)]
Add LISP interpreter in C.

mes.c: New file.

3 years agoAdd Guile version of John McCarthy's Maxwell Equations of Software.
Jan Nieuwenhuizen [Sun, 15 May 2016 11:41:40 +0000 (13:41 +0200)]
Add Guile version of John McCarthy's Maxwell Equations of Software.

* .gitignore: New file.
* AUTHORS: Idem.
* COPYING: Idem.
* README: Idem.
* mes.scm: Idem.

3 years agoInitial.
Jan Nieuwenhuizen [Sun, 15 May 2016 05:49:33 +0000 (07:49 +0200)]
Initial.