38 lines
1.2 KiB
Scheme
38 lines
1.2 KiB
Scheme
#!r6rs
|
|
|
|
(library (srfi :166 columnar)
|
|
(export
|
|
columnar tabular wrapped wrapped/list wrapped/char
|
|
justified from-file line-numbers)
|
|
(import (except (rnrs)
|
|
error
|
|
define-record-type)
|
|
(rnrs r5rs)
|
|
(only (srfi :1) count fold)
|
|
(srfi :6)
|
|
(srfi :9)
|
|
(srfi :23 error tricks)
|
|
(srfi :117)
|
|
(srfi :130)
|
|
(only (srfi :152 strings) write-string)
|
|
(srfi :166 base)
|
|
(srfi private include))
|
|
(define-syntax let-optionals*
|
|
(syntax-rules ()
|
|
((let-optionals* opt-ls () . body)
|
|
(begin . body))
|
|
((let-optionals* (op . args) vars . body)
|
|
(let ((tmp (op . args)))
|
|
(let-optionals* tmp vars . body)))
|
|
((let-optionals* tmp ((var default) . rest) . body)
|
|
(let ((var (if (pair? tmp) (car tmp) default))
|
|
(tmp2 (if (pair? tmp) (cdr tmp) '())))
|
|
(let-optionals* tmp2 rest . body)))
|
|
((let-optionals* tmp tail . body)
|
|
(let ((tail tmp)) . body))))
|
|
(define read-line get-line)
|
|
|
|
(SRFI-23-error->R6RS
|
|
"(library (srfi :166 columnar))"
|
|
(include/resolve ("srfi" "%3a166") "column.scm")))
|