mrm: Modular Refiable Matching, first-class matches

[ bsd3, data, library ] [ Propose Tags ]

This package contains an implementation of Modular Reifiable Matching (MRM), a new approach to two level types using a fixpoint of list-of-functors representation. MRM allows the modular definition of datatypes and functions by pattern matching, using a style similar to the widely popular Datatypes a la Carte (DTC) approach. However, unlike DTC, MRM uses a fixpoint of list-of-functors approach to two-level types. This approach has advantages that help with various aspects of extensibility, modularity and reuse. For more information, please refer to

[Skip to Readme]
Versions [faq]
Dependencies base (==4.7.*) [details]
License BSD-3-Clause
Copyright Copyright (c) 2016, brunosoliveira, scmu, suhorng
Author brunosoliveira, scmu, suhorng
Category Data
Home page
Source repo head: git clone
Uploaded by suhorng at Mon Mar 7 14:18:58 UTC 2016
Distributions NixOS:
Downloads 323 total (10 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-11-27 [all 3 reports]


  • Data
    • Data.ConstrainedList
    • Data.Match
      • Data.Match.Effects
      • Data.Match.Fix
      • Data.Match.Membership
      • Data.Match.Monadic
      • Data.Match.Query
      • Data.Match.Subset


Maintainer's Corner

For package maintainers and hackage trustees

Readme for mrm-

[back to package description]


Modular Refiable Matching, A List-of-Functos Approach to Two-Level Types