From b52aa188b93b1a200c8084a95b44abe6df7a8a78 Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov Date: Thu, 9 Jul 2020 00:45:00 +0200 Subject: [PATCH] functions: Add read-org-tbfs. --- functions.rkt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/functions.rkt b/functions.rkt index 5639e2b..ac4d2c2 100644 --- a/functions.rkt +++ b/functions.rkt @@ -34,7 +34,8 @@ [vector-boolean->01 (-> (vectorof boolean?) (vectorof (or/c 0 1)))] [apply-tbf (-> tbf? (vectorof (or/c 0 1)) (or/c 0 1))] [apply-tbf/boolean (-> tbf? (vectorof boolean?) boolean?)] - [list->tbf (-> (cons/c number? (cons/c number? (listof number?))) tbf?)])) + [list->tbf (-> (cons/c number? (cons/c number? (listof number?))) tbf?)] + [read-org-tbfs (-> (listof (listof number?)) (listof tbf?))])) (module+ test (require rackunit)) @@ -290,3 +291,12 @@ (module+ test (test-case "list->tbf" (check-equal? (list->tbf '(1 2 3)) (tbf #(1 2) 3)))) + +;;; Reads of a list of TBF from an Org-mode table read by +;;; read-org-sexp. +(define read-org-tbfs ((curry map) list->tbf)) + +(module+ test + (test-case "read-org-tbfs" + (check-equal? (read-org-tbfs '((1 2 3) (2 3 4))) + (list (tbf '#(1 2) 3) (tbf '#(2 3) 4)))))