2016-11-28 5:09 GMT+03:00 Robert Widmann via swift-evolution <
[email protected]>:

> That is what was happening for me at the time.  Operadics was exporting
> bind (>>-), ap (<*>) and fmap (<^>), and SwiftCheck was pulling in
> Operadics inline in the non-SPM build.  The two modules were literally
> trying to export the same operators with the same precedencegroup
> declarations.  My definition of “perfectly identical” covers this case.
>
> > The definition of "perfect duplicates" is more complex now.  It would be
> easy to ignore duplicates that name the same precedencegroup, but that's
> probably not what's happening here.
>
> In that case there is a nice structural equality that falls out of the
> current way things are defined, more so than before given that we can use
> the relative precedences (and given that most libraries don’t set up
> precedencegroup lattices that are complex as TypeLift does).  Essentially,
> the problem is verifying a bisimulation with alpha-equivalence at all the
> edges.


Would allowing duplicate precedence group declarations solve the problem?
AFAIK, operators are already merged this way.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to