finos/morphir-elm

Remove Field from value expressions in the IR and use FieldFunction with Apply as a replacement

Open

#156 opened on Sep 17, 2020

 (0 comments) (0 reactions) (0 assignees)Elm (69 forks)auto 404
enhancementgood first issueir-simplification

Repository metrics

Stars
 (51 stars)
PR merge metrics
 (PR metrics pending)

Description

Currently the IR has both Field and FieldFunction as values in the IR. The corresponding example in Elm would be a.foo vs. .foo. The idea is that a.foo can be represented as .foo a (applying the .foo function to a). The latter is more generic and the former is basically just a special combination of FieldFunction and Apply therefore it's accidental complexity which should be removed.

The specific change is to remove Field: https://github.com/finos/morphir-elm/blob/5e18e70bd4631aea1d1b677be04b62de3069a5eb/src/Morphir/IR/Value.elm#L90

And replace throughout the codebase using the following substitution rule:

Field a subjectValue fieldName -> Apply a (FieldFunction a fieldName) subjectValue

Contributor guide