Pith. sign in

REVIEW 1 cited by

Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 1306.6032 v2 pith:43CXNZ5N submitted 2013-06-25 cs.PL

classification cs.PL
keywords bidirectionaltypepolymorphismalgorithmcompletedeclarativegivehigher-rank
verification ladder T0 review T1 audit T2 compute T3 formal

Signed reviews

No signed human review yet.

0 comments
read the original abstract

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability (unlike Damas-Milner type inference, bidirectional typing remains decidable even for very expressive type systems), its error reporting, and its relative ease of implementation. Following design principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to polymorphism, however, are less obvious. We give a declarative, bidirectional account of higher-rank polymorphism, grounded in proof theory; this calculus enjoys many properties such as eta-reduction and predictability of annotations. We give an algorithm for implementing the declarative system; our algorithm is remarkably simple and well-behaved, despite being both sound and complete.

Discussion (0). Continue with ORCID to comment.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. Bidirectional Typing

    cs.PL 2019-08 conditional novelty 4.0 of 10

    A survey and tutorial that distills the design principles behind bidirectional typing, presents a recipe for designing such systems, and argues that bidirectionality is about information flow rather than polarized logic.

Pith tools