Add string-prefix?, symbol-prefix, symbol-append.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 17 Dec 2016 14:42:44 +0000 (15:42 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 17 Dec 2016 14:42:44 +0000 (15:42 +0100)
* module/mes/scm.mes (string-prefix?, symbol-prefix, symbol-append):
  New function,

module/mes/scm.mes

index 1b179147fa75a0e6f01b272492ebbb92befceda9..db4f6610f82928f439121131fba86a97ca001aa2 100644 (file)
   (if (= 0 n) x
       (list-tail (cdr x) (- n 1))))
 
+(define (string-prefix? prefix string)
+  (and
+   (>= (string-length string) (string-length prefix))
+   (equal? (substring string 0 (string-length prefix)) prefix)))
+
+(define (symbol-prefix? prefix symbol)
+  (string-prefix? (symbol->string prefix) (symbol->string symbol)))
+
+(define (symbol-append . rest)
+  (string->symbol (apply string-append (map symbol->string rest))))
+
 (define-macro (case val . args)
   (if (null? args) #f
       (let ((clause (car args)))