On this page:
immutable-string?
make-immutable-string
immutable-string
immutable-string-length
immutable-string-ref
immutable-substring
immutable-string-append
immutable-string->list
list->immutable-string
build-immutable-string
immutable-string=?
immutable-string<?
immutable-string<=?
immutable-string>?
immutable-string>=?
immutable-string-ci=?
immutable-string-ci<?
immutable-string-ci<=?
immutable-string-ci>?
immutable-string-ci>=?
immutable-string-upcase
immutable-string-downcase
immutable-string-titlecase
immutable-string-foldcase
immutable-string-normalize-nfd
immutable-string-normalize-nfkd
immutable-string-normalize-nfc
immutable-string-normalize-nfkc
immutable-string-locale=?
immutable-string-locale<?
immutable-string-locale>?
immutable-string-ci-locale=?
immutable-string-ci-locale<?
immutable-string-ci-locale>?
immutable-string-locale-upcase
immutable-string-locale-downcase
empty-immutable-string?
nonempty-immutable-string?
empty-immutable-string
symbol->immutable-string
keyword->immutable-string
number->immutable-string
immutable-string-join
immutable-string-split
8.12

1.2 Immutable Strings🔗ℹ

 (require rebellion/base/immutable-string)
  package: rebellion

An immutable string is an ordinary string? that is immutable in the sense of immutable?. The rebellion/base/immutable-string module provides functions and predicates that always accept and return immutable strings.

procedure

(immutable-string? v)  boolean?

  v : any/c
A predicate for immutable strings. Implies string? and immutable?.

procedure

(make-immutable-string k [char])  immutable-string?

  k : natural?
  char : char? = #\nul

procedure

(immutable-string char ...)  immutable-string?

  char : char?

procedure

(immutable-string-length string)  natural?

  string : immutable-string?

procedure

(immutable-string-ref string k)  char?

  string : immutable-string?
  k : natural?

procedure

(immutable-substring string start [end])  immutable-string?

  string : immutable-string?
  start : natural?
  end : natural? = (immutable-string-length string)

procedure

(immutable-string-append string ...)  immutable-string?

  string : immutable-string?

procedure

(immutable-string->list string)  (listof char?)

  string : immutable-string?

procedure

(list->immutable-string lst)  immutable-string?

  lst : (listof char?)

procedure

(build-immutable-string n func)  immutable-string?

  n : natural?
  func : (-> natural? char?)

procedure

(immutable-string=? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string<? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string<=? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string>? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string>=? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci=? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci<? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci<=? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci>? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci>=? string1 string2 ...)  boolean?

  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-upcase string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-downcase string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-titlecase string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-foldcase string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-normalize-nfd string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-normalize-nfkd string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-normalize-nfc string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-normalize-nfkc string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-locale=? string1    
  string2 ...)  boolean?
  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-locale<? string1    
  string2 ...)  boolean?
  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-locale>? string1    
  string2 ...)  boolean?
  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci-locale=? string1    
  string2 ...)  boolean?
  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci-locale<? string1    
  string2 ...)  boolean?
  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-ci-locale>? string1    
  string2 ...)  boolean?
  string1 : immutable-string?
  string2 : immutable-string?

procedure

(immutable-string-locale-upcase string)  immutable-string?

  string : immutable-string?

procedure

(immutable-string-locale-downcase string)  immutable-string?

  string : immutable-string?

procedure

(empty-immutable-string? v)  boolean?

  v : any/c

procedure

(nonempty-immutable-string? v)  boolean?

  v : any/c

procedure

(symbol->immutable-string sym)  immutable-string?

  sym : symbol?

procedure

(number->immutable-string z [radix])  immutable-string?

  z : number?
  radix : (or/c 2 8 10 16) = 10

procedure

(immutable-string-join strs 
  [sep 
  #:before-first before-first 
  #:before-last before-last 
  #:after-last after-last]) 
  immutable-string?
  strs : (listof immutable-string?)
  sep : immutable-string? = " "
  before-first : immutable-string? = ""
  before-last : immutable-string? = sep
  after-last : immutable-string? = ""

procedure

(immutable-string-split str 
  [sep 
  #:trim? trim? 
  #:repeat? repeat?]) 
  (listof immutable-string?)
  str : immutable-string?
  sep : (or/c immutable-string? regexp?) = #px"\\s+"
  trim? : boolean? = #t
  repeat? : boolean? = #f