Skip to content

Instantly share code, notes, and snippets.

@tonymorris
Last active July 19, 2019 07:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tonymorris/a1503d5b453eaeb03c169def99a34364 to your computer and use it in GitHub Desktop.
Save tonymorris/a1503d5b453eaeb03c169def99a34364 to your computer and use it in GitHub Desktop.
occName ::
HasName a =>
Lens' a OccName
occName =
name . (\k (Name o x) -> fmap (\o' -> Name o' x) (k o))
occNameWrapped ::
Iso'
OccName
String
occNameWrapped =
iso
(\(OccName s) -> s)
OccName
mkNameFrom ::
(String -> String)
-> Name
-> Name
mkNameFrom k =
mkName . k . view (occName . occNameWrapped)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment