[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dynamic vs. static typing




On Nov 24, 2003, at 11:57 AM, Anton van Straaten wrote:
> Abstract interpretation is, essentially, running a program before 
> runtime -
> i.e. before a full set of inputs exist.  Compilers effectively do this 
> when
> they analyze a program's types.  In a program containing type 
> annotations,
> those annotations essentially form part of an independent program that 
> can
> be run before the program in which they are embedded is run.  The 
> notes that
> Shriram previously referenced are a nice and accessible intro for this
> concept[1].

So when we want to do something like have a development system where 
everything is live (like older LISPs, Smalltalk, Self, etc), and we can 
change anything at runtime (rearrange inheritance hierarchies, add and 
remove methods, variables, etc), of what use are the checks that were 
done at compile time and are no longer valid?

-- Steve