|Strong Types ? firstname.lastname@example.org (gygulance) (2007-04-26)|
|Re: Strong Types ? email@example.com (2007-04-27)|
|Re: Strong Types ? firstname.lastname@example.org (Satish Chandra Gupta) (2007-04-27)|
|Re: Strong Types ? email@example.com (firstname.lastname@example.org) (2007-04-28)|
|Re: Strong Types ? email@example.com (IndianTechie) (2007-05-21)|
|From:||Satish Chandra Gupta <firstname.lastname@example.org>|
|Date:||27 Apr 2007 11:31:00 -0400|
|Posted-Date:||27 Apr 2007 11:31:00 EDT|
> I faced a question during my research on desing and implementation of
> programming language. The question arises from area of type binding
> and checking in design of programming languages. question :
> Can we call a programming language which has both static type
> checking and static type binding a strongly type programming
> language; if so why and is there any programming language with these
You might already be aware of a book by Benjamin C. Pierce titled
"Types and Programming Languages"
I am describing here in very brief, strongly typed languages has a
sound type system characterized by 2 properties: progress and
preservation. The progress is: given an expression e, it is either a
value, or the evaluation of e progresses to another expression e'. The
preservation is: if e is of type T, and evaluation of e progresses to
e', then type of e' is still T.
I understand that these 2 rules sound very abstract, but Benjamin's
book start from a very simple language examples to modeling quite
complex languages with sub-typing, but still keeping these 2 rules at
kernel. I found that amazing. People have also done type system for a
small subset of Java (Featherweight Java) which preserves OO
characteristics such as classes, inheritance, dynamic typecasts and
perhaps you want to take a look at that.
Return to the
Search the comp.compilers archives again.