From 846ab4613bb134587dac9d997cb2d35417e0a106 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Dec 2021 15:48:39 +0530 Subject: Add runtime type checking for triple. * dump.scm (triple): Add runtime type checking. --- dump.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dump.scm b/dump.scm index 2c0d55c..2f88ead 100755 --- a/dump.scm +++ b/dump.scm @@ -142,6 +142,19 @@ characters with an underscore and prefixing with gn:PREFIX." alist)) (define (triple subject predicate object) + (unless (or (string? subject) + (symbol? subject)) + (error "Triple subject not a string or symbol:" + (list subject predicate object))) + (unless (or (string? predicate) + (symbol? predicate)) + (error "Triple predicate not a string or symbol:" + (list subject predicate object))) + (unless (or (string? object) + (symbol? object) + (number? object)) + (error "Triple object not a string, symbol or number:" + (list subject predicate object))) (format #t "~a ~a ~s .~%" subject predicate object)) (define (field->key x) -- cgit v1.2.3