1
(define-module (lang elisp primitives strings)
2
#:use-module (lang elisp internals fset)
3
#:use-module (lang elisp internals null)
4
#:use-module (lang elisp internals signal))
6
(fset 'substring substring)
14
((list? arg) (list->string arg))
15
((vector? arg) (list->string (vector->list arg)))
16
(else (error "Wrong type argument for concat"))))
19
(fset 'string-to-number string->number)
21
(fset 'number-to-string number->string)
23
(fset 'string-lessp (lambda->nil string<?))
24
(fset 'string< 'string-lessp)
28
(cond ((vector? array) (vector-ref array idx))
29
((string? array) (char->integer (string-ref array idx)))
30
(else (wta 'arrayp array 1)))))
32
(fset 'stringp (lambda->nil string?))