Thats how common lisp specifies a vector. Andreas, your link indicates that lisp is a Weakly typed language not strong. Theres no compile time type semantics, at least in CommonLisp, MacLisp, ZetaLisp or FranzLisp.
(setq foo #(1 2 3)) (setq foo 1) (setq foo "Whatever") Theres no type associated with foo, only with what the variable is currently referencing. From your link: When the types detected or declared are strictly enforced by the language's semantics, the language is strongly-typed. when the semantics of the language allows for inconsistencies between the compile-time type and the run-time type, the language is weakly-typed. Matthias Buelow wrote: > Andreas Rottmann wrote: > > >>You get terminology totally wrong here. As already said, Lisp is >>stronger typed than C, but C is statically typed, whereas Lisp is >>dynamically typed. In Lisp (or Scheme), all variables have types: >> >>(define foo #(1 2 3)) >>(vector? foo) => #t >>(boolean? foo) => #t > > > Hmm.. weird Scheme you're using here. > Normally you have to quote the vector (see R5RS, 6.2.6) because it is > not self-evaluating, and boolean? should not return true on vectors (6.3.1). > > I get (on scheme48): > > (define foo '#(1 2 3)) > (vector? foo) => #t > (boolean? foo) => #f > > > mkb. -- http://mail.python.org/mailman/listinfo/python-list