Changes in / [cd7ef0b:e1780a2]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/working/resolver_design.md

    rcd7ef0b re1780a2  
    9191## Conversion Costs ##
    9292Each possible resolution of an expression has a _cost_ tuple consisting of
    93 the following components:
    94 1. _unsafe_ conversion cost: summed degree of unsafe conversions; unlike CFA03, this is not a simple count of conversions (for symmetry with the safe conversions)
    95 2. _polymorphic unifications_: count of parameters and return values bound to some polymorphic type for boxing
    96 3. _type variables_: number of polymorphic type variables bound
    97 4. negated _type specializations_: Each type assertion specializes the polymorphism, thus decreasing the cost; nested polymorphic types (e.g. `T*`) are also counted as specializations
    98 5. _safe_ conversions: summed degree of safe conversions
    99 6. _qualifier_ conversions: summed degree of qualifier and reference conversions
     93the following components: _unsafe_ conversion cost, _polymorphic_
     94specialization cost, _safe_ conversion cost, a count of _explicit_
     95conversions, and _qualifier_ conversion cost.
    10096These components are lexically-ordered and can be summed element-wise;
    10197summation starts at `(0, 0, 0, 0, 0)`.
    102 
    103 **TODO** update below for consistency with this
    10498
    10599### Lvalue and Qualifier Conversions ###
Note: See TracChangeset for help on using the changeset viewer.