The Nest
Explore
Sign in
jaredj
glotawk
0
A Lisp implemented in AWK
Code
Changes
Tags
Discussions
main
jaredj
add symbolp, consp, stringp, defun macro
on August 29, 2025
doc
add a tour of the source files
on August 12, 2025
.ignore
two-stage build: use a slow, correct first stage to dump an image which is built into the final glotawk
on June 3, 2025
GNUmakefile
make image-based build work under BSD make and GNU make; begin macro work
on June 7, 2025
LICENSE
initial commit, with the minimal self-evaluating Lisp and no GC
on May 24, 2025
Makefile
fix unsafe-system to return exit code of executable run
on August 28, 2025
README.org
add a tour of the source files
on August 12, 2025
benchmark.glotawk
add benchmark
on June 29, 2025
data.awk
add symbolp, consp, stringp, defun macro
on August 29, 2025
dump.awk
avoid command injection in system function; add apply; fix newlines in dumped strings
on August 17, 2025
eval.awk
add symbolp, consp, stringp, defun macro
on August 29, 2025
first-symbols.awk
add symbolp, consp, stringp, defun macro
on August 29, 2025
gc.awk
retool reader to support forms spanning multiple lines
on August 24, 2025
glotawk-build.tmpl.awk
brush up documentation; include LICENSE in built glotawk; include SPDX-License-Identifier in all source files
on August 11, 2025
glotawk-common.awk
brush up documentation; include LICENSE in built glotawk; include SPDX-License-Identifier in all source files
on August 11, 2025
glotawk-run.tmpl.awk
brush up documentation; include LICENSE in built glotawk; include SPDX-License-Identifier in all source files
on August 11, 2025
lib-eval.awk
move glotawk library code out into its own file
on August 26, 2025
lib.glotawk
add symbolp, consp, stringp, defun macro
on August 29, 2025
logging.awk
retool reader to support forms spanning multiple lines
on August 24, 2025
math.awk
add numerical relational operators
on August 25, 2025
osf.awk
fix unsafe-system to return exit code of executable run
on August 28, 2025
polyshawk
initial commit, with the minimal self-evaluating Lisp and no GC
on May 24, 2025
printer.awk
add input from files or pipes
on August 11, 2025
reader.awk
Busybox awk compatibility efforts (unsuccessful). Busybox does not treat backslash-escaped square brackets in square-bracket clauses in the expected way; the fix is to place the closing and opening brackets to be matched or avoided at the beginning of the []. Also busybox awk matches newlines with the dot (.). But also, POSIX does not require length() to work on arrays, so busybox awk does not support it, and glotawk uses that a lot. Someone on Stack Overflow in November 2024 said the next POSIX version will specify this. Thanks to https://wiki.alpinelinux.org/wiki/Awk and https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html
on August 25, 2025
repl.awk
retool reader to support forms spanning multiple lines
on August 24, 2025
sane_lisp
add symbolp, consp, stringp, defun macro
on August 29, 2025
tmpl-depends.awk
support different awk runtimes for building, test, and target
on August 26, 2025
tmpl.awk
change TARGET_AWK to TARGET_AWK_F so we can use gawk -cf (and not gawk -c -f) as the target awk if we wish
on August 26, 2025