Skip to content
0:00 / 0:00

#liquidhaskell#liquidtypes#refinementtypes

Liquid Types for Haskell

Compose Conference

2.9K subscribers • 30 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Niki Vazou

Advanced. Deep dive for people who know the field.

3.5K views10 years ago1 recommendation

Programming languagesComputer scienceHaskellFormal methods and verificationComputation and complexity

Niki Vazou introduces Liquid Types and presents LiquidHaskell, a tool for specifying and verifying value-dependent properties in Haskell at compile time.

Niki Vazou C◦mp◦se :: Conference composeconference.org/ February 5, 2016 Slides: goto.ucsd.edu/~nvazou/compose16/_site/01-index.html Haskell has many delightful features, perhaps the most beloved of which is its type system which allows developers to specify and verify a variety of program properties at compile time. However, many properties, typically those that depend on relationships between program values are impossible, or at the very least, cumbersome to encode within Haskell’s type system. Liquid types enable the specification and verification of value-dependent properties by extending Haskell’s type system with logical predicates drawn from efficiently decidable logics. In this talk, we will start with a high level description of Liquid Types. Next, we will present an overview of LiquidHaskell, a liquid type checker for Haskell. In particular, we will describe the kinds of properties that can be checked, ranging from generic requirements like totality (will ‘head’ crash?) and termination (will ‘mergeSort’ loop forever?), to application specific concerns like memory safety (will my code SEGFAULT?) and data structure correctness invariants (is this tree BALANCED?).

Why it's here

1 person recommends this

What people say. Recommended as an excellent introduction to refinement types and LiquidHaskell.

u/mightybytein r/haskell • Recommends

Compose Conference: Liquid Types for Haskell