Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Alejandro Serrano 0001

dblp:96/8524 · also Alejandro Serrano Mena · DBLP profile ↗
← Back
11ranked-venue papers
10as first author
0since 2021 · last 2020
0000-0002-5429-7589ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 11 · 10 first-authorTheory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 91% Program analysis · 9%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › type systems › polymorphism
impredicative polymorphism
0.312018
Guarded impredicative polymorphism · PLDI 2018
Programming languages and type systems
type inference
0.312018
Guarded impredicative polymorphism · PLDI 2018
Programming languages and type systems
type systems
0.312018
Guarded impredicative polymorphism · PLDI 2018
Program analysis
constraint solving
0.112018
Guarded impredicative polymorphism · PLDI 2018

Methods — techniques the papers use, named apart from their topics

outsidein(x) · 0.3
YearPublicationVenuePosition
2020 A quick look at impredicativity
abstract
Type inference for parametric polymorphism is wildly successful, but has always suffered from an embarrassing flaw: polymorphic types are themselves not first class. We present Quick Look, a practical, implemented, and deployable design for impredicative type inference. To demonstrate our claims, we have modified GHC, a production-quality Haskell compiler, to support impredicativity. The changes required are modest, localised, and are fully compatible with GHC's myriad other type system extensions.
Alejandro Serrano 0001, Jurriaan Hage, Simon L. Peyton Jones, Dimitrios Vytiniotis
Proc. ACM Program. Lang.1
2019 Classes of Arbitrary Kind
Alejandro Serrano 0001, Victor Cacciari Miraldo
PADL1
2018 Guarded impredicative polymorphism
abstract
The design space for type systems that support impredicative instantiation is extremely complicated. One needs to strike a balance between expressiveness, simplicity for both the end programmer and the type system implementor, and how easily the system can be integrated with other advanced type system concepts. In this paper, we propose a new point in the design space, which we call guarded impredicativity. Its key idea is that impredicative instantiation in an application is allowed for type variables that occur under a type constructor. The resulting type system has a clean declarative specification — making it easy for programmers to predict what will type and what will not —, allows for a smooth integration with GHC’s OutsideIn(X) constraint solving framework, while giving up very little in terms of expressiveness compared to systems like HMF, HML, FPH and MLF. We give a sound and complete inference algorithm, and prove a principal type property for our system.
Alejandro Serrano 0001, Jurriaan Hage, Dimitrios Vytiniotis, Simon L. Peyton Jones
PLDI1
2017 Lightweight soundness for towers of language extensions
abstract
It is quite natural to define a software language as an extension of a base language. A compiler builder usually prefers to work on a representation in the base language, while programmers prefer to program in the extended language. As we define a language extension, we want to ensure that desugaring it into the base language is provably sound.
Alejandro Serrano 0001, Jurriaan Hage
PEPM1
2017 Constraint handling rules with binders, patterns and generic quantification
abstract
Abstract Constraint handling rules provide descriptions for constraint solvers. However, they fall short when those constraints specify some binding structure, like higher-rank types in a constraint-based type inference algorithm. In this paper, the term syntax of constraints is replaced by λ-tree syntax, in which binding is explicit, and a new ∇ generic quantifier is introduced, which is used to create new fresh constants.
Alejandro Serrano 0001, Jurriaan Hage
Theory Pract. Log. Program.1
2016 Type Error Diagnosis for Embedded DSLs by Two-Stage Specialized Type Rules
Alejandro Serrano 0001, Jurriaan Hage
ESOP1
2016 Generic Matching of Tree Regular Expressions over Haskell Data Types
Alejandro Serrano 0001, Jurriaan Hage
PADL1
2015 Type families with class, type classes with family
abstract
Type classes and type families are key ingredients in Haskell programming. Type classes were introduced to deal with ad-hoc polymorphism, although with the introduction of functional dependencies, their use expanded to type-level programming. Type families also allow encoding type-level functions, but more directly in the form of rewrite rules. In this paper we show that type families are powerful enough to simulate type classes (without overlapping instances), and we provide a formal proof of the soundness and completeness of this simulation. Encoding instance constraints as type families eases the path to proposed extensions to type classes, like closed sets of instances, instance chains, and control over the search procedure. The only feature which type families cannot simulate is elaboration, that is, generating code from the derivation of a rewriting. We look at ways to solve this problem in current Haskell, and propose an extension to allow elaboration during the rewriting phase.
Alejandro Serrano 0001, Jurriaan Hage, Patrick Bahr
Haskell1
2014 Resource Usage Analysis of Logic Programs via Abstract Interpretation Using Sized Types
abstract
Abstract We present a novel general resource analysis for logic programs based on sized types. Sized types are representations that incorporate structural (shape) information and allow expressing both lower and upper bounds on the size of a set of terms and their subterms at any position and depth. They also allow relating the sizes of terms and subterms occurring at different argument positions in logic predicates. Using these sized types, the resource analysis can infer both lower and upper bounds on the resources used by all the procedures in a program as functions on input term (and subterm) sizes, overcoming limitations of existing resource analyses and enhancing their precision. Our new resource analysis has been developed within the abstract interpretation framework, as an extension of the sized types abstract domain, and has been integrated into the Ciao preprocessor, CiaoPP. The abstract domain operations are integrated with the setting up and solving of recurrence equations for inferring both size and resource usage functions. We show that the analysis is an improvement over the previous resource analysis present in CiaoPP and compares well in power to state of the art systems.
Alejandro Serrano 0001, Pedro López-García 0001, Manuel V. Hermenegildo
Theory Pract. Log. Program.1
2013 Energy Consumption Analysis of Programs Based on XMOS ISA-Level Models
Umer Liqat, Steve Kerrison, Alejandro Serrano 0001, Kyriakos Georgiou, Pedro López-García 0001, Neville Grech, Manuel V. Hermenegildo, Kerstin Eder
LOPSTR3
2013 Sized Type Analysis for Logic Programs
Alejandro Serrano 0001, Pedro López-García 0001, Francisco Bueno, Manuel V. Hermenegildo
Theory Pract. Log. Program.1