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]


  • 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

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS]
Dependencies base (>=4.7 && <4.8) [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 2016-03-07T14:18:58Z
Distributions NixOS:
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 847 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-11-27 [all 3 reports]

Readme for mrm-

[back to package description]


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