Files
loop/src/ThirdPartyLens.hs
T

13 lines
455 B
Haskell

-- https://dev.to/piq9117/haskell-generating-lenses-for-third-party-libraries-1oik
module ThirdPartyLens where
import Language.Haskell.TH
import Control.Lens.Operators
import Control.Lens.TH
mkCustomLenses :: Name -> DecsQ
mkCustomLenses = makeLensesWith
$ lensRules
& lensField
.~ (\_ _ name -> [TopName ( mkName $ nameBase name ++ "L" )]) -- you can append whatever suits your code base here, I chose to append "L"