Skip to content

Instantly share code, notes, and snippets.

@dminuoso
Created December 13, 2022 19:28
Show Gist options
  • Save dminuoso/45d3126e303ff90b111232320022b022 to your computer and use it in GitHub Desktop.
Save dminuoso/45d3126e303ff90b111232320022b022 to your computer and use it in GitHub Desktop.
│20:27:46 dminuoso | @let data MyTree4 k a = Node4 { myTree4Value :: a, myTree4Children :: M.Map k (MyTree4 k a) }
│20:27:47 lambdabot | Defined.
│20:27:55 dminuoso | @let childrenLens4 = lens (\m -> myTree4Children m) (\m v -> m{myTree4Children = v})
│20:27:56 lambdabot | Defined.
│20:27:59 dminuoso | @let type instance IxValue (MyTree4 k a) = MyTree4 k a
│20:28:00 lambdabot | Defined.
│20:28:07 dminuoso | @let type instance Index (MyTree4 k a) = k
│20:28:08 lambdabot | Defined.
│20:28:25 dminuoso | @let instance Ord k => Ixed (MyTree4 k a) where ix i = childrenLens4 . ix i
│20:28:26 lambdabot | Defined.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment