packages feed

fourmolu-0.5.0.0: data/examples/declaration/value/function/record/record-dot-four-out.hs

{-# LANGUAGE OverloadedRecordDot #-}
{-# LANGUAGE OverloadedRecordUpdate #-}

data Foo = Foo {bar :: Foo}

mfoo = fmap (.bar) $ Nothing

bar = (Foo 1).bar

fooplus f n = f{foo = f.bar + n}

nestedFoo f = f.bar.bar.bar.bar.bar

nestedFooUpdate f = f{bar.bar = f.bar} <> f{bar.bar.bar.bar}

operatorUpdate f = f{(+) = 1}