aboutsummaryrefslogtreecommitdiff
path: root/transform/table.scm
diff options
context:
space:
mode:
Diffstat (limited to 'transform/table.scm')
-rw-r--r--transform/table.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/transform/table.scm b/transform/table.scm
new file mode 100644
index 0000000..e6254d0
--- /dev/null
+++ b/transform/table.scm
@@ -0,0 +1,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?))