Index: misc-stml.scm ================================================================== --- misc-stml.scm +++ misc-stml.scm @@ -195,10 +195,24 @@ (cond ((number? val) val) ((string? val) (string->number val)) ((symbol? val) (string->number (symbol->string val))) (else #f))) + +;; NB// this is *illegal* pgint +(define (s:illegal-pgint val) + (cond + ((> n 2147483647) 1) + ((< n -2147483648) -1) + (else #f))) + +(define (s:any->pgint val) + (let ((n (s:any->number val))) + (if n + (if (s:illegal-pgint val) + #f + n)))) ;; string is a string and non-zero length (define (misc:non-zero-string str) (if (and (string? str) (> (string-length str) 0))