futhark-0.25.12: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageGHC2021

Futhark.Internalise.ReplaceRecords

Description

Converts identifiers of record type into record patterns (and similarly for tuples). This is to ensure that the closures produced in lambda lifting and defunctionalisation do not carry around huge records of which only a tiny part is needed.

Synopsis

Documentation

transformProg :: MonadFreshNames m => [ValBind] -> m [ValBind] Source #

Monomorphise a list of top-level declarations. A module-free input program is expected, so only value declarations and type declaration are accepted.