aboutsummaryrefslogtreecommitdiff
path: root/notes/qualifiers.txt
blob: 9494f50b7d616182a37ed8396f75bf6d62685f1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

Qualifiers
==========

Transitive qualifiers
---------------------

It can be useful to specify that a return value should be
const if and only if the parameter (or perhaps the "this"-object)
is const.

Syntax test:

    func find
        aliased maybevar TreeNode tree
        string name
    returns
        aliased maybevar TreeNode res
    end

Or (best?):

    func find
        returned TreeNode tree
        string name
    returns
        fromparam TreeNode res
    end

Or, using "parametric qualifiers":

    func find
    qualparam q
        q TreeNode tree
        string name
    returns
        q TreeNode res
    end