facebookincubator / retrie

Retrie is a powerful, easy-to-use codemodding tool for Haskell.
MIT License
502 stars 30 forks source link

NamedFieldPuns support #48

Open georgefst opened 2 years ago

georgefst commented 2 years ago
{-# LANGUAGE NamedFieldPuns #-}

data D = D {a :: Bool}
f a = D{a = a}
x = f True

retrie --unfold Main.f correctly produces x = D{a = True}. But if we equivalently f a = D{a}, then we get x = D{a}, which doesn't make any sense.