What are OOP's Jargons and Complexities?
Wibble
Wibble at Mailinator.com
Tue May 24 21:00:14 EDT 2005
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.
More information about the Python-list
mailing list