Proceedings of the ACM on Programming Languages · 2018 · 17 citations · 37 references
ComputingComputer ScienceAlgorithmsFormal MethodsProgramming LanguagesSyntax-semantics InterfaceType CheckingType SystemsIntersectionIntersection TypesSubtypingUnionUnion Types
Union and intersection types are both simple and powerful but have seen limited adoption. The problem is that, so far, subtyping algorithms for type systems extended with union and intersections have typically been either unreliable or insufficiently expressive. We present a simple and composable framework for empowering union and intersection types so that they interact with the rest of the type system in an intuitive and yet still decidable manner. We demonstrate the utility of this framework by illustrating the impact it has made throughout the design of the Ceylon programming language developed by Red Hat.
37
Julia: A Fresh Approach to Numerical Computing
Jeff Bezanson, Alan Edelman, Stefan Karpinski et al. · SIAM Review · 2017 · 6.3K citations
Principal type-schemes for functional programs
Robin Milner · 1982 · 1.1K citations
Carolyn Jane Anderson, Nate Foster, Arjun Guha et al. · 2014 · 374 citations
Haruo Hosoya, Benjamin C. Pierce · ACM Transactions on Internet Technology · 2003 · 340 citations
The design and implementation of typed scheme
Sam Tobin-Hochstadt, Matthias Felleisen · 2008 · 313 citations