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