Chciałbym trochę pobawić się z biblioteką Lens
. Mam załadowany go do GHCi i stworzył typ danych rekordu z odpowiednimi podkreślenia:Jak wykonać soczewki z rekordu w GHCi
> data Foo a = Foo {_arg1 :: Int, _arg2 :: [a]}
Chciałbym, aby soczewki dla Foo
pomocą szablonu makeLenses
. Chciałbym to zrobić bez konieczności czytania całego zestawu Template-Haskell docs.
Jakie zaklęcie mogę wpisać w podpowiedzi GHCi, aby to zadziałało?
Warto wspomnieć, że 'makeLenses' wezwanie musi iść w * samo *' { 'blok jako deklaracji danych! To rzuciło mnie na pętlę, dopóki się nie zorientowałem. – kqr
Wystarczające jest zdanie _any_ w: {bloku razem z 'makeLenses', (nie musi to być deklaracja AST). O ile rozumiem, to ghci rozszerzy "makeLenses" jako listę deklaracji. Jeśli istnieje tylko jedna instrukcja w: {block, wówczas próbuje rozszerzyć ją jako wyrażenie, podając błąd niedopasowania typu. – max630