کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
434814 689807 2016 19 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Ambiguity and constrained polymorphism
ترجمه فارسی عنوان
ابهام و پلی مورفیسم محدود
کلمات کلیدی
بی نظمی، بیش از حد وابسته به زمینه، هاسلل
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
چکیده انگلیسی


• A precise characterization of overloading resolution and ambiguity.
• Discussion of the standard as well as Haskell's open-world definitions of ambiguity.
• Definition and discussion of an approach for ambiguity detection that is delayed until after overloading resolution.

This paper considers the problem of ambiguity in Haskell-like languages. Overloading resolution is characterized in the context of constrained polymorphism by the presence of unreachable variables in constraints on the type of the expression. A new definition of ambiguity is presented, where existence of more than one instance for the constraints on an expression type is considered only after overloading resolution. This introduces a clear distinction between ambiguity and overloading resolution, makes ambiguity more intuitive and independent from extra concepts, such as functional dependencies, and enables more programs to type-check as fewer ambiguities arise.The paper presents a type system and a type inference algorithm that includes: a constraint-set satisfiability function, that determines whether a given set of constraints is entailed or not in a given context, focusing on issues related to decidability, a constraint-set improvement function, for filtering out constraints for which overloading has been resolved, and a context-reduction function, for reducing constraint sets according to matching instances. A standard dictionary-style semantics for core Haskell is also presented.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 124, 1 August 2016, Pages 1–19
نویسندگان
, , ,