#!/usr/bin/env sh # -*- wisp -*- exec guile -L $(dirname $(dirname $(realpath "$0"))) --language=wisp -e '(@@ (examples say) main)' -s "$0" "$@" ; !# ; Simple specialized syntax for writing natural text with scheme. define-module : examples say . #:export : main ; TODO: rewrite for syntax-case with recursion into sub-lists. ; Goal: say Yes, this works ,(red 1 2) . ; TODO: longterm goal: simply syntax for writing plays. The header ; with active persons defines macros which are like say, but ; personalized. The code should read like the output of ; classical JRPGs. define-syntax-rule : say a ... format #t "~A\n" string-join map symbol->string : quote : a ... define : main argv say Yes, this works!