Paste: overload and shadows as single definition

Author: jc
Mode: text
Date: Sun, 9 Jan 2011 05:10:09
Plain Text |
overload Vector(s:'S) | Sequence?('S) {
    ...
} shadow (s:'S) | SizedSequence?('S) {
    ...
} shadow (rvalue s:Vector['T]) {
    ...
}

Annotation: shadowing from separate module

Author: jc
Mode: text
Date: Sun, 9 Jan 2011 05:22:29
Plain Text |
// vectors.clay

overload (Default) Vector(s:'S) | Sequence?('S) {
    ...
} shadow Vector(s:'S) | SizedSequence?('S) {
    ...
} shadow Vector(rvalue s:Vector['T]) {
    ...
}

// supervectors.clay

shadow (Default) Vector(s:SuperVector['T]) {
    ...
}

Annotation: overlapping shadows from different modules?

Author: jc
Mode: text
Date: Sun, 9 Jan 2011 05:34:26
Plain Text |
// vectors.clay

overload (Default) Vector(s:'S) | Sequence?('S) {
    ...
} shadow Vector(s:'S) | SizedSequence?('S) {
    ...
} shadow Vector(rvalue s:Vector['T]) {
    ...
}

// randomaccesssequences.clay

shadow (Default) Vector(s:'S) | RandomAccessSequence?('S) {
    ...
}

// forwardsequences.clay

shadow (Default) Vector(s:'S) | ForwardSequence?('S) {
    ...
}

Annotation: unambiguous leaf overloads

Author: pruned
Mode: text
Date: Sun, 9 Jan 2011 13:31:44
Plain Text |
// vectors.clay

// just make the shadow block toplevel, for more regular syntax ?
shadow {
    Vector(s:'S) | Sequence?('S) {
        ...
    }
    Vector(s:'S) | SizedSequence?('S) {
        ...
    }
    Vector(rvalue s:Vector['T]) {
        ...
    }
}

// randomaccesssequences.clay

Vector(s:'S) | RandomAccessSequence?('S) {
    ...
}

// forwardsequences.clay

Vector(s:'S) | ForwardSequence?('S) {
    ...
}

New Annotation

Summary:
Author:
Mode:
Body: