guile-rsv

R7RS Scheme library for reading and writing RSV (Rows of String Values) data format. Specified in https://github.com/Stenway/RSV-Specification and demonstrated in https://www.youtube.com/watch?v=tb_70o6ohMA
Log | Files | Refs | README | LICENSE

scm2rsv (1118B)


      1 #!/usr/bin/guile \
      2 --r7rs -e main -L . -s
      3 !#
      4 
      5 ;;; Scheme implementation of RSV - Rows of String Values.
      6 ;;; Copyright (C) 2024  Yuval Langer.
      7 ;;;
      8 ;;; This program is free software: you can redistribute it and/or modify
      9 ;;; it under the terms of the GNU General Public License as published by
     10 ;;; the Free Software Foundation, either version 3 of the License, or
     11 ;;; (at your option) any later version.
     12 ;;;
     13 ;;; This program is distributed in the hope that it will be useful,
     14 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
     15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16 ;;; GNU General Public License for more details.
     17 ;;;
     18 ;;; You should have received a copy of the GNU General Public License
     19 ;;; along with this program.  If not, see <https://www.gnu.org/licenses/>.
     20 
     21 (import (scheme base)
     22         (scheme file)
     23         (scheme write)
     24         (ice-9 match)
     25         (ice-9 pretty-print)
     26         (rsv))
     27 
     28 (define (main args)
     29   (match args
     30     ((arg0)
     31      (let ((scm (read (current-input-port))))
     32        (scm->rsv scm
     33                  not
     34                  (current-output-port))))))