Filters








21,236 Hits in 4.7 sec

System F with coercion constraints

Julien Cretin, Didier Rémy
2014 Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS) - CSL-LICS '14  
We present a second-order λ-calculus with coercion constraints that generalizes a previous extension of System F with parametric coercion abstractions by allowing multiple but simultaneous type and coercion  ...  with parametric coercion abstraction, and ML-style subtyping constraints.  ...  Type systems with subtyping constraints use two notions, solvability and consistency, that coincide in ML.  ... 
doi:10.1145/2603088.2603128 dblp:conf/csl/CretinR14 fatcat:oqyxsxhuffbtzdmxrgnneaq53q

Dynamic typing [chapter]

Fritz Henglein
1992 Lecture Notes in Computer Science  
We present an extension of a statically typed language with a special type dyn and explicit type tagging and checking operations (coercions).  ...  Programs in run-time typed languages are viewed as incomplete programs that are to be completed to well-typed programs by explicitly inserting coercions into them.  ...  I am also grateful for helpful discussions with members of the TOPPS group at DIKU.  ... 
doi:10.1007/3-540-55253-7_14 fatcat:rpbizuxjrvhstcagapgtehwns4

Binding-Time Analysis for Polymorphic Types [chapter]

Rogardt Heldal, John Hughes
2001 Lecture Notes in Computer Science  
With this idea, the annotated version of twice becomes twice f x = f@ f@ x where implements the coercion 2 1 .  ...  b1b2 2 coerces a function with binding-time b 1 to one with binding-time b 2 , applying coercion 1 to the argument and 2 to the result. is the identity coercion.  ... 
doi:10.1007/3-540-45575-2_19 fatcat:c25aam6wcjb7nppgpgaveactzu

A unified framework for binding-time analysis [chapter]

Peter Thiemann
1997 Lecture Notes in Computer Science  
It is often specified as a non-standard type system. Many typebased binding-time analyses are reminiscent of simple type systems with additional features like recursive types.  ...  We make this connection explicit by expressing binding-time analysis with annotated type systems that separate the concerns of type inference from those of binding-time annotation.  ...  Acknowledgements Thanks to Olivier Danvy and Dirk Dussart for discussions on higher-order coercions and type-based program analysis.  ... 
doi:10.1007/bfb0030638 fatcat:5lbo57ecmncvrgxeovbpgo77qa

Explicit Effect Subtyping [chapter]

Amr Hany Saleh, Georgios Karachalias, Matija Pretnar, Tom Schrijvers
2018 Lecture Notes in Computer Science  
Our typing-directed elaboration comes with a constraint-based inference algorithm that turns an implicitly-typed Eff-like language into our calculus.  ...  Eff, an ML-like language with native support for handlers, has a subtyping-based effect system on which an effect-aware optimizing compiler could be built.  ...  [3] also present a translation of languages with inheritance polymorphism into System F, extended with coercions.  ... 
doi:10.1007/978-3-319-89884-1_12 fatcat:3oyq4seri5btflslc6whehp7gu

Safe polymorphic type inference for a dynamically typed language

Fritz Henglein, Jakob Rehof
1995 Proceedings of the seventh international conference on Functional programming languages and computer architecture - FPCA '95  
q Consider a constraint of the form tc(crl, . . ..an)+tc(pl .f?n)f?n). There is only one primitive coercion with a signatwe that matches this constraint: the identity coercion.  ...  (define f (lambda (x) (lambda (y) (if y x (+ x l))))) After annotation with coercion variables of suitable types we get the annotated definition (define f[cl, c2, c3, c4, c5, c6, c7, c8] ( [cl] (lambda  ...  = fn ( 1) ) (map f (cdr 1)))))) gets completed without any parameters, but with inferred representation shift coercions for lists and pairs, val PAIR2LST = fn (x, y) => x: :y val LST2PAIR = fn (x: :  ... 
doi:10.1145/224164.224203 dblp:conf/fpca/HengleinR95 fatcat:ykurclppsvay7ebvvvesdx46sy

Explicit Effect Subtyping [article]

Georgios Karachalias, Matija Pretnar, Amr Hany Saleh, Stien Vanderhallen, Tom Schrijvers
2020 arXiv   pre-print
Our typing-directed elaboration comes with a constraint-based inference algorithm that turns an implicitly-typed Eff-like language into our calculus.  ...  Eff, an ML-like language with native support for handlers, has a subtyping-based effect system on which an effect-aware optimizing compiler could be built.  ...  [5] also present a translation of languages with inheritance polymorphism into System F, extended with coercions.  ... 
arXiv:2005.13814v1 fatcat:gaubphgk2vailof4wj5exd5du4

Equality proofs and deferred type errors

Dimitrios Vytiniotis, Simon Peyton Jones, José Pedro Magalhães
2012 SIGPLAN notices  
The principal difference between System F and System F ↑ C is that, together with type information, System F ↑ C carries equality proofs: evidence that type equality constraints are satisfied.  ...  Contrary to the notation used in Section 2.1 and in previous presentations of System F ↑ C notice that we use symbol ∼ # instead of ∼ for coercion types, and Constraint # rather than Constraint for their  ... 
doi:10.1145/2398856.2364554 fatcat:ktmpsoe3gra7pkkhl6iunmwmcu

Equality proofs and deferred type errors

Dimitrios Vytiniotis, Simon Peyton Jones, José Pedro Magalhães
2012 Proceedings of the 17th ACM SIGPLAN international conference on Functional programming - ICFP '12  
The principal difference between System F and System F ↑ C is that, together with type information, System F ↑ C carries equality proofs: evidence that type equality constraints are satisfied.  ...  Contrary to the notation used in Section 2.1 and in previous presentations of System F ↑ C notice that we use symbol ∼ # instead of ∼ for coercion types, and Constraint # rather than Constraint for their  ... 
doi:10.1145/2364527.2364554 dblp:conf/icfp/VytiniotisJM12 fatcat:6lyhgwmh4fdvflk4bxryrmd344

A lean specification for GADTs: system F with first-class equality proofs

Arie Middelkoop, Atze Dijkstra, S. Doaitse Swierstra
2010 Higher-Order and Symbolic Computation  
We present an orthogonal specification for GADTs: the language System F ∼ , consisting of System F augmented with first-class equality proofs.  ...  Generalized Algebraic Data Types are a generalization of Algebraic Data Types with additional type equality constraints.  ...  System F C System F C extends System F with equality coercions. It has a built-in syntax to represent values of the Equal data type mentioned in the Sect. 2.1.  ... 
doi:10.1007/s10990-011-9065-0 fatcat:hycycv4whzaadixg7vlz247fve

Extending Hindley-Milner Type Inference with Coercive Structural Subtyping [chapter]

Dmitriy Traytel, Stefan Berghofer, Tobias Nipkow
2011 Lecture Notes in Computer Science  
We investigate how to add coercive structural subtyping to a type system for simply-typed lambda calculus with Hindley-Milner polymorphism.  ...  according to the standard Hindley-Milner system (without any subtypes).  ...  In a system with coercions, type inference also has to insert coercions into the term t in appropriate places, yielding a term u for which θΓ θt u : τ and θΓ u : τ holds.  ... 
doi:10.1007/978-3-642-25318-8_10 fatcat:q6yn43kgivh6vkgrbzmowxsjcu

Dynamic typing and subtype inference

Alexander Aiken, Manuel Fähndrich
1995 Proceedings of the seventh international conference on Functional programming languages and computer architecture - FPCA '95  
This paper shows that dynamic typing at least as powerful as Henglein's system Hen92b] can be expressed using set constraints.  ...  Lemma 3.2 Let ;; S`S e : where the system of constraints S = S 0 f g is consistent. Let e 0 = erase(e). Then e is a correct completion of e 0 .  ...  Constraint resolution is the most expensive phase. The rewrite rules work only with pairs of subexpressions of the original constraint system.  ... 
doi:10.1145/224164.224201 dblp:conf/fpca/AikenF95 fatcat:sntgy3e34fhm7oblrvmv7jjc2q

Global tagging optimization by type inference

Fritz Henglein
1992 ACM SIGPLAN Lisp Pointers  
(Inequality constraint rules) (a) CU{~(')(aI . ..clk) < 7,f(k)(pl . ..ok)<y} +cu{f(k)(al . ..ak)<y. al =/31,..., ak3k}k} (b) CU{~(k)(a,...  ...  A solution of a constraint system is a substitu- tion of types for the type variables such that all constraints are satisfied. 5.2 Constraint normalization and minimal solutions The constraints  ... 
doi:10.1145/141478.141542 fatcat:wprmxfry55gfti35lceaka2hza

Global tagging optimization by type inference

Fritz Henglein
1992 Proceedings of the 1992 ACM conference on LISP and functional programming - LFP '92  
(Inequality constraint rules) (a) CU{~(')(aI . ..clk) < 7,f(k)(pl . ..ok)<y} +cu{f(k)(al . ..ak)<y. al =/31,..., ak3k}k} (b) CU{~(k)(a,...  ...  A solution of a constraint system is a substitu- tion of types for the type variables such that all constraints are satisfied. 5.2 Constraint normalization and minimal solutions The constraints  ... 
doi:10.1145/141471.141542 dblp:conf/lfp/Henglein92 fatcat:36byej6fwzcytpm7ll6hinpym4

Giving Haskell a promotion

Brent A. Yorgey, Stephanie Weirich, Julien Cretin, Simon Peyton Jones, Dimitrios Vytiniotis, José Pedro Magalhães
2012 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation - TLDI '12  
We describe an experiment that enriches Haskell's kind system with two features promoted from its type system: data types and polymorphism.  ...  The new system has a very good power-to-weight ratio: it offers a significant improvement in expressiveness, but, by re-using concepts that programmers are already familiar with, the system is easy to  ...  System F ↑ C overview The expression syntax of System F ↑ C is given in Figure 1 , with the differences from System FC highlighted.  ... 
doi:10.1145/2103786.2103795 dblp:conf/tldi/YorgeyWCJVM12 fatcat:2tkog37jf5dnhlhovyrxuyjh7u
« Previous Showing results 1 — 15 out of 21,236 results