(define-module (transform table)
#:use-module (srfi srfi-9 gnu)
#:export (make-table
table-name
table-size
table-columns
set-table-columns
make-column
column-name
column-type
column-transformed?))
(define-immutable-record-type
(make-table name size columns)
table?
(name table-name)
(size table-size)
(columns table-columns set-table-columns))
(define-immutable-record-type
(column-constructor name type transformed?)
column?
(name column-name)
(type column-type)
(transformed? column-transformed?))
(define* (make-column name type #:optional transformed?)
(column-constructor name type transformed?))