mes/build-aux
Timothy Sample 5edef591b7 core: Implement Guile-style variables.
* src/variable.c: New file.
* simple.make (LIBMES_SOURCES): Add it.
* build-aux/configure-lib.sh (mes_SOURCES): Add it.
* build-aux/snarf.sh: Snarf it.
* kaem.run: Compile it.
* include/mes/builtins.h (make_variable): New function.
(variable_p): New function.
(variable_ref): New function.
(variable_set_x): New function.
(variable_printer): New function.
* src/builtins.c (mes_builtins): Register them.
* include/mes/mes.h (make_variable_type): New function.
(scm_variable_type): New variable.
* src/module.c (make_initial_module): Initialize it.
* src/gc.c (gc_flip, gc_): Keep track of it.
* include/mes/symbols.h (cell_symbol_variable): New variable.
(SYMBOL_MAX): Adjust accordingly.
* src/symbol.c (init_symbols): Initialize 'cell_symbol_variable'.
* mes/module/mes/scm.mes (make-undefined-variable): New procedure.
(variable-bound?): New procedure.
* tests/variable.test: New file.
* build-aux/check-mes.sh (TESTS): Add it.
2022-04-25 14:19:03 -06:00
..
GNUmakefile.in core: Use casting functions. 2020-10-18 15:44:49 +02:00
bootstrap.sh.in build: Cater for M2-Planet. 2020-10-18 23:15:11 +02:00
build-guile.sh configure: Use GUILD_OPTIMIZE=-O1 for Guile-3. 2020-10-07 14:09:24 +02:00
build-lib.sh Introduce libmescc.a; Put division by integer in there; split syscalls' errno off. 2020-06-02 15:04:13 +02:00
build-mes.sh mescc: Support --bootstrap build on ARM. 2021-05-01 16:10:49 +02:00
build-scaffold.sh build: Prepare for kernel variants. 2019-12-17 21:07:35 +01:00
build-source-lib.sh ARM: libtcc1: Add div.c, __memcpy, __memmove, __memset. 2021-01-23 08:43:44 +01:00
build.sh.in build: Cater for M2-Planet. 2020-10-18 23:15:11 +02:00
cc.sh build: Cater for FreeBSD. 2019-12-17 21:08:18 +01:00
cflags.sh build: Make mescc more verbose on V=2, V=3. 2021-01-23 08:40:35 +01:00
check-boot.sh boot: Add gc test. 2020-08-16 17:36:55 +02:00
check-mes.sh core: Implement Guile-style variables. 2022-04-25 14:19:03 -06:00
check-mescc.sh mescc: Mes C Library: memcmp: bugfix. 2020-06-06 22:37:30 +02:00
check.sh.in Distinguish between gcc and mescc; select LIBS accordingly. 2020-10-06 10:04:41 +02:00
config.make.in configure: Use GUILD_OPTIMIZE=-O1 for Guile-3. 2020-10-07 14:09:24 +02:00
config.sh.in build: Cater for M2-Planet. 2020-10-18 23:15:11 +02:00
configure-lib.sh core: Implement Guile-style variables. 2022-04-25 14:19:03 -06:00
export.make configure: Use GUILD_OPTIMIZE=-O1 for Guile-3. 2020-10-07 14:09:24 +02:00
gendocs.sh build: web: New target. 2018-07-28 11:37:47 +02:00
gitlog-to-changelog build: Generate ChangeLog reproducibly. Thanks, Timothy! 2019-12-13 21:52:29 +01:00
indent.sh mes: Grand indent: prepare. 2019-05-13 01:07:32 +02:00
install.sh.in build: Cater for M2-Planet. 2020-10-18 23:15:11 +02:00
manifest.scm guix: Update packaging. 2019-09-09 16:04:16 +02:00
mes-snarf.scm build: Update snarfer. 2020-09-27 19:07:00 +02:00
pointer.sh core: Switch to pointer cells. 2020-10-18 11:34:32 +02:00
pre-inst-env.in build: Resurrect running mescc from elsewhere. 2020-10-06 10:44:50 +02:00
setup-mes.sh Add missing copyright headers. 2018-07-23 19:10:34 +02:00
snarf.sh core: Implement Guile-style variables. 2022-04-25 14:19:03 -06:00
test-boot.sh build: Simplify. 2019-06-08 15:36:22 +02:00
test-c.sh mescc: Mes C Library: Support gcc-10. 2020-10-06 13:13:44 +02:00
test-driver build: Simplify. 2019-06-08 15:36:22 +02:00
test-suite.sh build: Use bash if available to avoid dash problems. 2019-06-25 21:40:43 +02:00
trace.sh build: Simplify. 2019-06-08 15:36:22 +02:00
uninstall.sh.in build: Simplify. 2019-06-08 15:36:22 +02:00