deduplicating lambda methods

Liam Miller-Cushon cushon at
Mon Mar 5 03:59:25 UTC 2018

On Fri, Mar 2, 2018 at 8:01 PM, Vicente Romero <vicente.romero at>

> 1) How to identifying duplicates: I have a prototype that runs during
>> lambda desugaring and identifies duplicates by diffing ASTs. Is that the
>> best place for deduplication, or it worth considering comparing generated
>> code instead of ASTs?
> are you doing an exact diff? I assume that we want: s -> s to be equal to
> z -> z provided that the target is the same

Lambda parameters are currently handled as a special case. The diff tests
that the syntax for the two trees is the same, and that the symbols
associated with identifier and select nodes are equivalent. It accepts
symbols that correspond to the same parameter in each of the associated
lambda methods.

E.g. when diffing the lambda bodies for `s -> s` and `x -> x` it sees that
`s` and `x` are both the first parameter of their enclosing lambdas.

More information about the amber-dev mailing list