vix.ing · top · new · best · stats · spec

Type Safe Redis Queries: A Case Study of Type-Level Programming in Haskell

2017/08/30 by Ting-Yan Lai, Lai, Ting-Yan, Tyng–Ruey Chuang +4 · 1 voice
Computer Science · #cs.PL

paper · pdf · doi:10.48550/arxiv.1708.09158

Abstract

Redis is an in-memory data structure store, often used as a database, with a Haskell interface Hedis. Redis is dynamically typed --- a key can be discarded and re-associated to a value of a different type, and a command, when fetching a value of a type it does not expect, signals a runtime error. We develop a domain-specific language that, by exploiting Haskell type-level programming techniques including indexed monad, type-level literals and closed type families, keeps track of types of values in the database and statically guarantees that type errors cannot happen for a class of Redis programs.

Discussions

Related