Seamless, Correct, and Generic Programming over Serialised Data

Activity: Talk or presentation typesInvited talk

Description

In typed functional languages, one can typically only manipulate
data in a type-safe manner if it first has been deserialised into an in-memory
tree represented as a graph of nodes-as-structs and subterms-as-pointers.
We demonstrate how we can use QTT as implemented in Idris 2 to define a
small universe of serialised datatypes, and provide generic programs allowing
users to process values stored contiguously in buffers.
Our approach allows implementors to prove the full functional correctness,
in a correct-by-construction manner, of the IO functions processing the
data stored in the buffer.
Period22 May 2023
Event titleGallinette team seminar
Event typeSeminar
LocationNantes, FranceShow on map
Degree of RecognitionRegional

Keywords

  • correct by construction
  • pointers
  • serialisation