Copyright | (c) Grant Weyburne 2019 |
---|---|
License | BSD-3 |
Maintainer | gbwey9@gmail.com |
Safe Haskell | None |
Language | Haskell2010 |
Template Haskell methods for creating Refined and Refined3 refinement types
Synopsis
- refined3TH :: forall ip op fmt i. (Show i, Show (PP ip i), Lift i, Lift (PP ip i), Refined3C ip op fmt i) => i -> Q (TExp (Refined3 ip op fmt i))
- refined3TH' :: forall ip op fmt i. (Show i, Show (PP ip i), Lift i, Lift (PP ip i), Refined3C ip op fmt i) => POpts -> i -> Q (TExp (Refined3 ip op fmt i))
- refinedTH :: forall p i. (Show i, Lift i, RefinedC p i) => i -> Q (TExp (Refined p i))
- refinedTH' :: forall p i. (Show i, Lift i, RefinedC p i) => POpts -> i -> Q (TExp (Refined p i))
Documentation
refined3TH :: forall ip op fmt i. (Show i, Show (PP ip i), Lift i, Lift (PP ip i), Refined3C ip op fmt i) => i -> Q (TExp (Refined3 ip op fmt i)) Source #
creates a Refined3
refinement type with terse output
refined3TH' :: forall ip op fmt i. (Show i, Show (PP ip i), Lift i, Lift (PP ip i), Refined3C ip op fmt i) => POpts -> i -> Q (TExp (Refined3 ip op fmt i)) Source #
creates a Refined3
refinement type and allows you to specify options (ol to just get a summary / o2 for full detail and colors)