Data and Aggregate Types

The current value space contains booleans, exact and inexact numbers, characters, symbols, strings, the empty list, pairs, vectors, bytevectors, procedures, and escape continuations.

At a glance

LISPEX
(list (vector? #(1 2)) (bytevector? #u8(1 2)) (pair? (cons 1 2)))

Result

OUTPUT
(#t #t #t)

Current guarantees

  • Pairs, strings, and bytevectors are immutable in the current profile; vectors and lexical cells are mutable.
  • Quoted aggregate data is immutable; constructors create runtime aggregates with the documented identity rules.
  • Improper and cyclic structures are distinguished from proper lists; deep equality terminates on cycles.

Boundaries

  • Complex numbers, ports, records, and mutable pairs or strings are outside the current profile.
  • Internal outcomes, signals, and uninitialized sentinels are not guest values.