#!/usr/bin/awful (use srfi-69 awful spiffy-request-vars spiffy intarweb uri-common html-tags) (page-template (lambda (contents . more) contents)) (debug-log (current-error-port)) (page-exception-message (lambda (exn) (
convert-to-entities?: #t (with-output-to-string (lambda () (print-call-chain) (print-error-message exn)))))) (define (show var) (with-output-to-string (cut write var))) (define-page "as-string" (lambda () (show ($ 'var)))) (define-page "as-number" (lambda () (show ($ 'var as-number)))) (define-page "as-boolean" (lambda () (show ($ 'var as-boolean)))) (define-page "as-list" (lambda () (show ($ 'var as-list)))) (define-page "as-vector" (lambda () (show ($ 'var as-vector)))) (define-page "as-alist" (lambda () (show ($ 'var as-alist)))) (define-page "as-hash-table" (lambda () (and-let* ((var ($ 'var as-hash-table))) (show (hash-table->alist var))))) ;;; with-request-vars (define-page "wrv-as-string" (lambda () (with-request-vars* $ (var) (show var)))) (define-page "wrv-as-number" (lambda () (with-request-vars ((var as-number)) (show var)))) (define-page "wrv-as-boolean" (lambda () (with-request-vars ((var as-boolean)) (show var)))) (define-page "wrv-as-list" (lambda () (with-request-vars ((var as-list)) (show var)))) (define-page "wrv-as-vector" (lambda () (with-request-vars ((var as-vector)) (show var)))) (define-page "wrv-as-alist" (lambda () (with-request-vars ((var as-alist)) (show var)))) (define-page "wrv-as-hash-table" (lambda () (with-request-vars ((var as-hash-table)) (and var (show (hash-table->alist var)))))) ;;; test1 (define-page "test1" (lambda () (with-request-vars (foo (bar as-list) (baz 5)) (show (list foo bar baz))))) ;;; test2 (define-page "test2" (lambda () (with-request-vars* $ (foo (bar as-list) (baz 5)) (show (list foo bar baz))))) ;;; test3 (define-page "test3" (lambda () (with-request-vars ((foo as-alist) (bar as-number) (baz as-vector) (bool as-boolean)) (show (list foo bar baz bool))))) ;;; test4 (define-page "test4" (lambda () (with-request-vars* $ ((foo as-alist) (bar as-number) (baz as-vector) (bool as-boolean)) (show (list foo bar baz bool)))))