On Polymorphic Recursion, Type Systems, and Abstract Interpretation

نویسندگان

  • Marco Comini
  • Ferruccio Damiani
  • Samuel Vrech
چکیده

The problem of typing polymorphic recursion (i.e., recursive function definitions rec {x = e} where different occurrences of x in e are used with different types) has been investigated both by people working on type systems and by people working on abstract interpretation. Recently, Gori and Levi have developed a family of abstract interpreters that are able to type all the ML typable recursive definitions and interesting examples of polymorphic recursion. The problem of finding type systems corresponding to their abstract interpreters was open (such systems would lie between the let-free fragments of the ML and of the Milner-Mycroft systems). In this paper we exploit the notion of principal typing to: (i) provide a complete stratification of (let-free) Milner-Mycroft typability, and (ii) solve the problem of finding type systems corresponding to the type abstract interpreters proposed by Gori and Levi.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Polymorphic Type Analysis in Logic Programs by Abstract Interpretation1

domains and their associated abstract operators. Some examples are to be found in [6, 22, 24, 27, 28]. Most type analysis systems infer descriptive types. A descriptive type is a description of a set of terms by an expression in a type language. Different type analysis systems may use different type languages. Most of them use regular types or deterministic regular types [16] in one form or ano...

متن کامل

Type and Eeect Systems via Abstract Interpretation

Abstract interpretation and type and e ect systems are two well known frameworks for the static analysis of programs While abstract interpretation uses the program control ow to approximate its run time behavior type and e ect systems are based on the pro gram structural syntax The fundamental result of this paper is to show how these a priori distinct approaches can be related to each other sh...

متن کامل

Programming Examples Needing Polymorphic Recursion

Inferring types for polymorphic recursive function de nitions (abbreviated to polymorphic recursion) is a recurring topic on the mailing lists of popular typed programming languages. This is despite the fact that type inference for polymorphic recursion using 8-types has been proved undecidable. This report presents several programming examples involving polymorphic recursion and determines the...

متن کامل

Type-Based Data Structure Verification

We present a refinement type-based approach for the static verification of complex data structure invariants. Our approach is based on the observation that complex data structures are often fashioned from two elements: recursion (e.g., lists and trees), and maps (e.g., arrays and hash tables). We introduce two novel type-based mechanisms targeted towards these elements: recursive refinements an...

متن کامل

The Verification Grand Challenge and Abstract Interpretation

Interpretation is a theory of approximation of mathematical structures, in particular those involved in the semantic models of computer systems [4,10,11]. Abstract interpretation can be applied to the systematic construction of methods and effective algorithms to approximate undecidable or very complex problems in computer science. The scope of application is rather large e.g. from type inferen...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008