;;;; utf8-string-interpolator.scm -*- Scheme -*- ;;;; Kon Lovett, Aug '19 (declare (bound-to-procedure ##sys#print-to-string)) (module utf8-string-interpolator (;export string-interpolate string-interpolate/sanity) (import (except scheme read-char #;peek-char #;read)) (import (chicken base)) (import (chicken platform)) (import (chicken type)) (import (only (srfi 1) reverse!)) (import (only utf8 read-char list->string)) (import (only utf8-srfi-13 string-concatenate-reverse)) (: string-interpolate/sanity (string #!rest --> list)) (: string-interpolate (string #!rest --> list)) ;utf8 version (not same semantics!) (define-inline (reverse-list->string chs) (list->string (reverse! chs))) (include "string-interpolation-body") ) ;utf8-string-interpolator