Describing microservices using modern Haskell (experience report)

Alejandro Serrano, Flavio Corpa

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    Abstract

    We present Mu, a domain specific language to describe and develop microservices in Haskell. At its core, Mu provides a type level representation of schemas, which we leverage in various ways. These schemas can be automatically imported from industry-standard interface definition languages. Mu uses many of the type level extensions to GHC, and techniques such as (data type) generic programming and attribute grammars. Apart from the description of the library, we discuss a series of shortcomings in current GHC/Haskell, mostly related to the friendliness of the exposed library interface once complex types enter the scene.

    Original languageEnglish
    Title of host publicationHaskell 2020: Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell
    EditorsTom Schrijvers
    Place of PublicationNew York
    PublisherAssociation for Computing Machinery (ACM)
    Pages1-8
    Number of pages8
    ISBN (Electronic)9781450380508
    DOIs
    Publication statusPublished - 27 Aug 2020
    Event13th ACM SIGPLAN International Symposium on Haskell, Haskell 2020, co-located with ICFP 2020 - Virtual, Online, United States
    Duration: 27 Aug 2020 → …

    Conference

    Conference13th ACM SIGPLAN International Symposium on Haskell, Haskell 2020, co-located with ICFP 2020
    Country/TerritoryUnited States
    CityVirtual, Online
    Period27/08/20 → …

    Keywords

    • Haskell
    • microservices
    • type classes
    • type level programming

    Fingerprint

    Dive into the research topics of 'Describing microservices using modern Haskell (experience report)'. Together they form a unique fingerprint.

    Cite this