A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2020; you can also visit the original URL.
The file type is application/pdf
.
Filters
GADTs meet subtyping
[article]
2013
arXiv
pre-print
While generalized algebraic datatypes (\GADTs) are now considered well-understood, adding them to a language with a notion of subtyping comes with a few surprises. ...
Our work may be applied to real-world ML-like languages with explicit subtyping such as OCaml, or to languages with general subtyping constraints. ...
This transformation does not work anymore with our current notion of GADTs in presence of subtyping. ...
arXiv:1301.2903v1
fatcat:fytxjm473fhdlc34dzkr7zoej4
GADT meet Subtyping
[article]
2012
arXiv
pre-print
While generalized abstract datatypes (GADT) are now considered well-understood, adding them to a language with a notion of subtyping comes with a few surprises. ...
What does it mean for a GADT parameter to be covariant? The answer turns out to be quite subtle. It involves fine-grained properties of the subtyping relation that raise interesting design questions. ...
way to combine GADT and subtyping. ...
arXiv:1210.5935v1
fatcat:wpma65kdgfbtbcfmdawygmpfb4
GADTs Meet Subtyping
[chapter]
2013
Lecture Notes in Computer Science
While generalized algebraic datatypes (GADTs) are now considered well-understood, adding them to a language with a notion of subtyping comes with a few surprises. ...
What does it mean for a GADT parameter to be covariant? The answer turns out to be quite subtle. It involves fine-grained properties of the subtyping relation that raise interesting design questions. ...
This transformation does not work anymore with our current notion of GADTs in presence of subtyping. ...
doi:10.1007/978-3-642-37036-6_30
fatcat:c6h2x3sqnjahpbt33lhq4ln2xa
System F with coercion constraints
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 also distinguish coherent coercions that are fully erasable from potentially incoherent coercions that suspend the evaluation-and enable the encoding of GADTs. ...
system features that had previously been studied separately: type containment, bounded and instance-bounded polymorphism, which are already encodable with parametric coercion abstraction, and ML-style subtyping ...
Encoding GADTs Incoherent polymorphism is necessary for features that contain some form of dynamic typing, such as GADTs. ...
doi:10.1145/2603088.2603128
dblp:conf/csl/CretinR14
fatcat:oqyxsxhuffbtzdmxrgnneaq53q
Functional Extensionality for Refinement Types
[article]
2021
arXiv
pre-print
While dependent type theories are typically consistent with functional extensionality axioms, refinement type systems with semantic subtyping treat naive phrasings of functional extensionality inconsistently ...
We carefully crafted PEq's definition as a refined GADT ( §3) to meet our three criteria. 1. PEq is Type-Indexed. The type index a in PEq a {e } {e } makes it easy to track types explicitly. ...
3) axiomatization of equality by refining of the GADT. ...
arXiv:2103.02177v1
fatcat:w6snrwwgdng5zddqtokoveelqm
Type-level Computation Using Narrowing in Ωmega
2007
Electronical Notes in Theoretical Computer Science
In a language with subtyping, like Java, mutually consistent means that b is a subtype of c. In Ωmega, consistent means semantically equivalent. ...
While it does not yet meet all of the goals we will list below, we have made it freely available (http://www.cs.pdx.edu/ ∼ sheard/Omega/index.html). ...
doi:10.1016/j.entcs.2006.10.040
fatcat:mjklly3zjfffhcmuxf7t2vayuq
OutsideIn(X) Modular type inference with local assumptions
2011
Journal of functional programming
Going beyond the general framework, we also give a particular constraint solver for X = type classes + GADTs + type families, a non-trivial challenge in its own right. ...
Advanced type system features, such as GADTs, type classes, and type families have proven to be invaluable language extensions for ensuring data invariants and program correctness among others. ...
Because of rule dinstg our simplifier does not meet that definition. ...
doi:10.1017/s0956796811000098
fatcat:pykqzffshfbjtebsp4ahjzu47y
Optimal inference of fields in row-polymorphic records
2013
Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI '14
These implications express that the subtyping constraints D2 hold if the current solution satisfies the subtyping constraints D1. ...
This solution is incomplete and even rejects programs that do not use GADTs [27] . ...
doi:10.1145/2594291.2594313
dblp:conf/pldi/Simon14
fatcat:k4z3qhpvirb2loq2rsvmgwpz3i
Optimal inference of fields in row-polymorphic records
2014
SIGPLAN notices
These implications express that the subtyping constraints D2 hold if the current solution satisfies the subtyping constraints D1. ...
This solution is incomplete and even rejects programs that do not use GADTs [27] . ...
doi:10.1145/2666356.2594313
fatcat:nlxrdaoeafcmdghefm2ae6aoti
PhD Abstracts
2018
Journal of functional programming
Subtyping is induced by inheritance and quantifier instantiation. ...
The most common approach, Constraint Handling Rules, falls short to describe modern features such as GADTs. ...
doi:10.1017/s0956796818000175
fatcat:lt6u6vlagfe7jgo73cm3nax4aq
Explicit Effect Subtyping
[chapter]
2018
Lecture Notes in Computer Science
It reifies appeals to subtyping in explicit casts with coercions that witness the subtyping proof, quickly exposing typing bugs in program transformations. ...
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. ...
GADTs [16] or type families [23] ). ...
doi:10.1007/978-3-319-89884-1_12
fatcat:3oyq4seri5btflslc6whehp7gu
HLIO: mixing static and dynamic typing for information-flow control in Haskell
2015
Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming - ICFP 2015
Flanagan (Flanagan 2006) develops the concept of hybrid type checking for type systems capable of delaying subtyping checks until runtime. ...
A lattice expression ℓ is either a primitive label Label , a join operation (⊔), or a meet operation (⊓). ...
doi:10.1145/2784731.2784758
dblp:conf/icfp/BuirasVR15
fatcat:nklzmk2vwvhu7afnyz5hzmc7lu
Decomposition Without Regret
[article]
2022
arXiv
pre-print
For example, GADTs are known to have soundness issues in Scala [Giarrusso 2013 ]. What makes it even tricker is that type parameters may interact with subtyping. ...
Subtyping. Subtyping is another feature that is often (mistakenly) considered as a object-oriented feature. ...
arXiv:2204.10411v1
fatcat:bmtsggflwbdffctj7lzdvrmxty
Polymorphism, subtyping, and type inference in MLsub
2017
Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages - POPL 2017
We present a type system combining subtyping and ML-style parametric polymorphism. Unlike previous work, our system supports type inference and has compact principal types. ...
Principal types are kept compact by type simplification, which exploits deep connections between subtyping and the algebra of regular languages. An implementation is available online. ...
To preclude such examples, we demand that all subtyping relationships between the meet of two types and another type follow (VAR-λ) Γ x : τ Γ(x) = τ (VAR-∀) Γ x : τ [ τ / α] Γ(x) = ∀ α.τ (ABS) Γ, x : ...
doi:10.1145/3009837.3009882
fatcat:ps4tknkfkvfqrnyrfadohw5lcm
HLIO: mixing static and dynamic typing for information-flow control in Haskell
2015
SIGPLAN notices
Flanagan (Flanagan 2006) develops the concept of hybrid type checking for type systems capable of delaying subtyping checks until runtime. ...
A lattice expression ℓ is either a primitive label Label , a join operation (⊔), or a meet operation (⊓). ...
doi:10.1145/2858949.2784758
fatcat:boowlvmlnzdl7m4mrqcgm3sjky
« Previous
Showing results 1 — 15 out of 55 results