#### DMCA

## On Polymorphic Recursion, Type Systems, and Abstract Interpretation

### Cached

### Download Links

- [www.dimi.uniud.it]
- [www.dimi.uniud.it]
- [users.dimi.uniud.it]
- [users.dimi.uniud.it]
- [www.di.unito.it]
- [www.di.unito.it]
- [www.researchgate.net]
- DBLP

### Other Repositories/Bibliography

### Citations

959 |
Types and Programming Languages
- Pierce
- 2002
(Show Context)
Citation Context ... rec-expressions. The key role played in our investigation by the notion of principal typing suggests that this notion might be useful in other investigations about the relations between type systems =-=[16]-=- and type inference algorithms synthesized by abstract interpretation [1] and, more in general, between program analyses specified via type systems and program analyses specified via abstract interpre... |

283 | Purely Functional Data Structures.
- Okasaki
- 1999
(Show Context)
Citation Context ... x}, that has principal-in-∅ typing 〈∅; α〉). Instead, with k = 2 it is already possible to type many interesting examples of polymorphic recursion. Consider for instance the OCaml program (taken from =-=[15]-=-) type ’a seq = EMPTY | SEQ of ’a * (’a * ’a) seq ;; let rec size s = match s with EMPTY -> 0 | SEQ(x,ps) -> 1 + 2 * (size ps) ;; where ’a seq is a polymorphic sequence type (a sequence is either empt... |

237 | Temporal abstract interpretation, in:
- Cousot, Cousot
- 2000
(Show Context)
Citation Context ...that specialize the type inferred for e) [11,14] has been studied both by people working on type systems [7,10] and by people working on abstract interpretation [12,13]. Building on results by Cousot =-=[1]-=-, Gori and Levi [5,6] have developed a type abstract interpreter that is able to type all the ML typable recursive definitions and interesting examples of polymorphic recursion. In particular, as expl... |

145 | Type inference with polymorphic recursion
- Henglein
- 1993
(Show Context)
Citation Context ...α ∈ TV fresh (10) H[x ← (u, s)] ⊲ e ⇒ (u1, s1) H ⊲ rec{x = e}(u, s) ⇒T P (u1, s1) H ⊲ e1 ⇒ (u1, s1) H ⊲ e2 ⇒ (u2, s2) s = mgu ` {u1 = f1 → f2, u2 = f1} ∪ eqs(s1) ∪ eqs(s2) ´ (9) H ⊲ e1e2 ⇒ (s(u2), s) =-=(7)-=- H ⊲ rec{x = e} ⇒ n T (un, sn) P H ⊲ rec{x = e} ⇒ n+1 TP (un, sn) = (un+1, sn+1) H ⊲ rec{x = e} ⇒ (un, sn) (un+1, sn+1) H ⊲ rec{x = e} ⇒ n−1 T (u1, s1) P H ⊲ rec{x = e}(u1, s1) ⇒TP (u2, s2) H ⊲ rec{x ... |

100 | What Are Principal Typings and What Are They Good For?
- Jim
- 1996
(Show Context)
Citation Context ...ngly enough, the type system is derived from the Curry-Hindley system by adapting a general technique (developed in [4]) for extending a type system enjoying decidable typabilty and principal typings =-=[9,17]-=- by adding a decidable rule for typing rec-expressions. The key role played in our investigation by the notion of principal typing suggests that this notion might be useful in other investigations abo... |

98 |
Polymorphic Type Schemes and Recursive Definitions.
- Mycroft
- 1984
(Show Context)
Citation Context ...nferring types for polymorphic recursion (i.e., recursive function definitions rec {x = e} where different occurrences of x in e are used with different types that specialize the type inferred for e) =-=[11,14]-=- has been studied both by people working on type systems [7,10] and by people working on abstract interpretation [12,13]. Building on results by Cousot [1], Gori and Levi [5,6] have developed a type a... |

97 | The essence of principal typings.
- Wells
- 2002
(Show Context)
Citation Context ...ngly enough, the type system is derived from the Curry-Hindley system by adapting a general technique (developed in [4]) for extending a type system enjoying decidable typabilty and principal typings =-=[9,17]-=- by adding a decidable rule for typing rec-expressions. The key role played in our investigation by the notion of principal typing suggests that this notion might be useful in other investigations abo... |

56 |
Type reconstruction in the presence of polymorphic recursion
- Kfoury, Tiuryn, et al.
- 1993
(Show Context)
Citation Context ...on definitions rec {x = e} where different occurrences of x in e are used with different types that specialize the type inferred for e) [11,14] has been studied both by people working on type systems =-=[7,10]-=- and by people working on abstract interpretation [12,13]. Building on results by Cousot [1], Gori and Levi [5,6] have developed a type abstract interpreter that is able to type all the ML typable rec... |

15 |
Basic Simple Type Theory. Number 42
- Hindley
- 1997
(Show Context)
Citation Context ... [5,6], the problem of finding a type system corresponding to the type abstract interpreter was open. Such a type system would lye between the Curry-Hindley system (a.k.a. the system of simple types) =-=[8]-=-, which is the let-free fragment of the ML type system, and the let-free fragment of the Milner-Mycroft system [14]. In this paper we present a type system corresponding to the Gori-Levi abstract inte... |

13 |
Polymorphic typing by abstract interpretation. LNCS 652:127–138
- Monsuez
- 1992
(Show Context)
Citation Context ...f x in e are used with different types that specialize the type inferred for e) [11,14] has been studied both by people working on type systems [7,10] and by people working on abstract interpretation =-=[12,13]-=-. Building on results by Cousot [1], Gori and Levi [5,6] have developed a type abstract interpreter that is able to type all the ML typable recursive definitions and interesting examples of polymorphi... |

11 | Rank 2 intersection types for local definitions and conditional expressions
- Damiani
(Show Context)
Citation Context ...scussion at the beginning of Section 5). 14sWe plan to extend the type systems (and the results) illustrated in this paper to deal with let-expressions by exploiting a general technique (developed in =-=[3]-=-) for extending a type system (without rules for let-expressions) enjoying the principal typing property with a typing rule for let-expressions. Moreover, we would like to investigate whether the noti... |

11 |
Polymorphic types and widening operators
- Monsuez
- 1993
(Show Context)
Citation Context ...f x in e are used with different types that specialize the type inferred for e) [11,14] has been studied both by people working on type systems [7,10] and by people working on abstract interpretation =-=[12,13]-=-. Building on results by Cousot [1], Gori and Levi [5,6] have developed a type abstract interpreter that is able to type all the ML typable recursive definitions and interesting examples of polymorphi... |

9 |
Principal type schemas for functional programs
- Damas, Milner
- 1982
(Show Context)
Citation Context ...systems and type inference algorithms synthesized by abstract interpretation. Keywords. Principal Typing, Type Inference Algorithm 1 Introduction The Hindley-Milner system (a.k.a. the ML type system) =-=[2]-=-, which is the core of the type systems of functional programming languages like SML, OCaml, and Haskell, is only able to infer types for monomorphic recursion (i.e., recursive function definitions re... |

8 |
Incremental polymorphic type checking in B
- Meertens
- 1983
(Show Context)
Citation Context ...nferring types for polymorphic recursion (i.e., recursive function definitions rec {x = e} where different occurrences of x in e are used with different types that specialize the type inferred for e) =-=[11,14]-=- has been studied both by people working on type systems [7,10] and by people working on abstract interpretation [12,13]. Building on results by Cousot [1], Gori and Levi [5,6] have developed a type a... |

6 | An experiment in type inference and verification by abstract interpretation
- Gori, Levi
(Show Context)
Citation Context ...and environment D: e : t}). PT k 0(D, e) = Min≤spc({t | D ⊢ k,ML 0 4 The Gori-Levi Type Abstract Interpreter Revisited In this section we briefly recall the type abstract interpreter of Gori and Levi =-=[5,6]-=-. The syntax of the small ML-like language used in the present paper is slightly different from the one in [5,6]. Namely, our language uses the rec-notation instead of the µ-notation, uses booleans in... |

5 |
An extended polymorphic type system
- Coppo
- 1980
(Show Context)
Citation Context ...ell, is only able to infer types for monomorphic recursion3. The problem of inferring types for polymorphic recursion4 [13,16] has been studied both by people working on type systems [8,12] (see also =-=[1,10,11,18,5]-=-) and by people working on abstract interpretation [14,15,6,7]. Building on results by Cousot [2], Gori and Levi [6,7] have developed a family of type abstract interpreters that are able to type all t... |

3 | Properties of a type abstract interpreter
- Gori, Levi
- 2003
(Show Context)
Citation Context ... type inferred for e) [11,14] has been studied both by people working on type systems [7,10] and by people working on abstract interpretation [12,13]. Building on results by Cousot [1], Gori and Levi =-=[5,6]-=- have developed a type abstract interpreter that is able to type all the ML typable recursive definitions and interesting examples of polymorphic recursion. In particular, as explained in [5,6], the t... |

3 | Type inference for recursive definitions
- Kfoury, Pericas-Geertsen
- 1999
(Show Context)
Citation Context ...ell, is only able to infer types for monomorphic recursion3. The problem of inferring types for polymorphic recursion4 [13,16] has been studied both by people working on type systems [8,12] (see also =-=[1,10,11,18,5]-=-) and by people working on abstract interpretation [14,15,6,7]. Building on results by Cousot [2], Gori and Levi [6,7] have developed a family of type abstract interpreters that are able to type all t... |

2 |
Rank 2 intersection for recursive definitions
- Damiani
- 2007
(Show Context)
Citation Context ...present a type system corresponding to the Gori-Levi abstract interpreter. Interestingly enough, the type system is derived from the Curry-Hindley system by adapting a general technique (developed in =-=[4]-=-) for extending a type system enjoying decidable typabilty and principal typings [9,17] by adding a decidable rule for typing rec-expressions. The key role played in our investigation by the notion of... |

2 |
On typability for polymorphic recursive rank-2 intersection types
- Terauchi, Aiken
- 2006
(Show Context)
Citation Context ...ell, is only able to infer types for monomorphic recursion3. The problem of inferring types for polymorphic recursion4 [13,16] has been studied both by people working on type systems [8,12] (see also =-=[1,10,11,18,5]-=-) and by people working on abstract interpretation [14,15,6,7]. Building on results by Cousot [2], Gori and Levi [6,7] have developed a family of type abstract interpreters that are able to type all t... |