aboutsummaryrefslogtreecommitdiff
path: root/transform/table.scm
blob: e6254d03c319640f19d622f51b6006932c1baeab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(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 <table>
  (make-table name size columns)
  table?
  (name table-name)
  (size table-size)
  (columns table-columns set-table-columns))

(define-immutable-record-type <column>
  (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?))