Optimise optCoercion. (#9233)
authorRichard Eisenberg <eir@cis.upenn.edu>
Wed, 16 Jul 2014 16:25:24 +0000 (12:25 -0400)
committerRichard Eisenberg <eir@cis.upenn.edu>
Wed, 16 Jul 2014 18:20:51 +0000 (14:20 -0400)
commit5e7406d9f5857e4ff30aed348f731d16dbd8e64c
treeb6abf5b8e256a22c0eb0d2b37d06ff5e79d1f80f
parent34ec0bd942b732b127b1a955cd3508da0a588b6f
Optimise optCoercion. (#9233)

The old optCoercion (and helper functions) used coercionKind and
coercionRole internally. This was terrible when these had to be
called at *every* point in the coercion tree during the recursive
descent. This is rewritten to avoid such calls.
compiler/types/OptCoercion.lhs