1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
;; -*-theme-d-*-
;; Copyright (C) 2008-2019 Tommi Höynälänmaa
;; Distributed under GNU Lesser General Public License version 3,
;; see file doc/LGPL-3.
(define-interface (standard-library string-utilities)
(import (standard-library core))
(declare-method string-append (:simple-proc ((rest <string>)) <string> pure))
(declare-method string (:simple-proc ((rest <character>)) <string> pure))
(declare-method string-length (:simple-proc (<string>) <integer> pure))
(declare-method string-ref (:simple-proc (<string> <integer>) <character>
pure))
(declare-method string-empty? (:simple-proc (<string>) <boolean> pure))
(declare-method substring
(:simple-proc (<string> <integer> <integer>) <string> pure))
(declare-method string-last-char (:simple-proc (<string>) <character> pure))
(declare-method replace-char (:simple-proc (<string> <character> <character>)
<string> pure))
(declare-method replace-char-with-string
(:simple-proc (<string> <character> <string>)
<string> pure))
(declare-method split-string (:simple-proc (<string> <character>)
(:uniform-list <string>)
pure))
(declare-method join-strings-with-sep
(:simple-proc ((:uniform-list <string>) <string>) <string>
pure))
(declare-method string-contains-char?
(:simple-proc (<string> <character>) <boolean> pure))
(declare-method string-char-index
(:simple-proc (<string> <character>) <integer> pure))
(declare-method string-char-index-right (:simple-proc (<string> <character>)
<integer> pure))
(declare-method string-take
(:simple-proc (<string> <integer>) <string> pure))
(declare-method string-drop
(:simple-proc (<string> <integer>) <string> pure))
(declare-method string-take-right
(:simple-proc (<string> <integer>) <string> pure))
(declare-method string-drop-right
(:simple-proc (<string> <integer>) <string> pure))
(declare-method search-substring
(:simple-proc (<string> <string>) <integer> pure))
(declare-method search-substring-from-end
(:simple-proc (<string> <string>) <integer> pure))
(define <string-match-result> (:maybe (:tuple <string> <integer> <integer>)))
(declare-method string-match
(:simple-proc (<string> <string>) <string-match-result> pure))
(declare-method string-exact-match?
(:simple-proc (<string> <string>) <boolean> pure)))
|