
| Key: |
STR-497
|
| Type: |
Improvement
|
| Status: |
Open
|
| Priority: |
Critical
|
| Assignee: |
Unassigned
|
| Reporter: |
Martin Bravenboer
|
| Votes: |
0
|
| Watchers: |
0
|
|
|
|
Original Estimate:
|
Unknown
|
Remaining Estimate:
|
Unknown
|
Time Spent:
|
Unknown
|
|
|
Higher order strategy arguments are handled a somewhat ad-hoc way in the renaming phase of strc. In the following module, the ho argument is not renamed, which leads to a link error (or worse: a C compilation error if we use the name h-o instead of ho).
--------------------------
module foo
imports list-cons
strategies
main =
foo(ho)
; foo(ho(![]))
strategies
foo(ho: (t -> t) * t -> t) =
ho(![])
strategies
ho(s) =
s
--------------------------
This illustrates again that we badly need a more solid handling of higher order strategy arguments.
|
|
Description
|
Higher order strategy arguments are handled a somewhat ad-hoc way in the renaming phase of strc. In the following module, the ho argument is not renamed, which leads to a link error (or worse: a C compilation error if we use the name h-o instead of ho).
--------------------------
module foo
imports list-cons
strategies
main =
foo(ho)
; foo(ho(![]))
strategies
foo(ho: (t -> t) * t -> t) =
ho(![])
strategies
ho(s) =
s
--------------------------
This illustrates again that we badly need a more solid handling of higher order strategy arguments. |
Show » |
|
|