Show simple item record

dc.contributor.authorFagan, Mike
dc.date.accessioned 2017-08-02T22:03:18Z
dc.date.available 2017-08-02T22:03:18Z
dc.date.issued 1992-08
dc.identifier.urihttps://hdl.handle.net/1911/96427
dc.descriptionThis work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/16439
dc.description.abstract In an effort to avoid improper use of program functions, modern programming languages employ some kind of preventative type system. These type systems can be classified as either static or dynamic. Static type systems detect "ill-typed" program phrases at compile-time, whereas dynamic type systems detect "ill-typed" phrases at run-time. Static typing systems have two important advantages over dynamically typed systems: First, they provide important feedback to the programmer by detecting a large class of program errors before execution. Second. they extract information that a compiler can exploit to produce more efficient code. The price paid for these advantages, however, is a loss of expressiveness and modularity. It is easy to prove that a static type system for an "interesting" programming language necessarily excludes some "good" programs. This paper focuses on the problem of designing programming systems that retain all the expressiveness of dynamic typing, but still offer the early error detection and improved optimization opportunities of static typing. To that end, we introduce a concept called soft typing. The key concept of soft typing is that a type checker need not reject programs containing statically "ill-typed" phrases. Instead, the soft type checker inserts explicit run-time checks. Thus, there are two issues to be addressed in the design of soft typing systems. First, the typing mechanism must provide reasonable feedback to programmers accustomed to dynamically typed languages. Current static systems fail to satisfy the programmer's intuition about correctness on many programs. Second, a soft typing system must sensibly insert run-time checks (when necessary). This paper develops a type system and checking algorithms that are suitable for soft typing a significant class of programming languages.
dc.format.extent 174 pp
dc.language.iso eng
dc.rights You are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
dc.title Soft Typing: An Approach to Type Checking for Dynamically Typed Languages
dc.type Technical report
dc.date.note August 1992
dc.identifier.digital TR92-184
dc.type.dcmi Text
dc.identifier.citation Fagan, Mike. "Soft Typing: An Approach to Type Checking for Dynamically Typed Languages." (1992) https://hdl.handle.net/1911/96427.


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record