Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A logical approach to deciding semantic subtyping
Gesbert N., Genevès P., Layaïda N. ACM Transactions on Programming Languages and Systems38 (1):1-31,2015.Type:Article
Date Reviewed: Jan 11 2016

Although object-oriented subtyping has been efficiently resolved by compilers for years, this paper shows how subtyping in Extensible Markup Language (XML)-centric functional languages can be done with a SAT solver. It gives a tested formal specification for an efficient algorithm if such exists. The paper is the result of a decade of research, which is documented in the references. It will mainly interest graduate students and professors working in type theory and logic.

A SAT solver is a subprogram that either finds values for variables in a logical formula that satisfy it (make it true) or reports that they don’t exist. The worst-case time for all known SAT solvers grows exponentially with the size of the formula. The author’s paradigm is: 1) clearly define the property; 2) encode the property as a logical formula; 3) tune the formula; and 4) use a SAT solver on the formula. These steps are applied to testing if one LISP-like data type is a subtype of another one. The paper uses semantic subtyping. This is where one type is defined to be a subtype of another if all data of one type are elements of the other type. The types include function types, types defined by parametric (not object-oriented) polymorphism, and types defined by recursion. The authors’ logical model handles all of these. The resulting software has been tested and works well. They show that it has the same complexity as the SAT solver used.

Reviewer:  Richard Botting Review #: CR144091 (1604-0256)
Bookmark and Share
  Featured Reviewer  
 
Polymorphism (D.3.3 ... )
 
 
Logic Programming (I.2.3 ... )
 
 
Type Structure (F.3.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Polymorphism": Date
Formalization of generics for the .NET common language runtime
Yu D., Kennedy A., Syme D. ACM SIGPLAN Notices 39(1): 39-51, 2004. Type: Article
Mar 10 2004
Polymorphic typed defunctionalization
Pottier F., Gauthier N. ACM SIGPLAN Notices 39(1): 89-98, 2004. Type: Article
Mar 11 2004
Parametric polymorphism for XML
Hosoya H., Frisch A., Castagna G.  Principles of programming languages (Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Long Beach, California, USA, Jan 12-14, 2005)50-62, 2005. Type: Proceedings
Apr 7 2005
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy