Opened 9 years ago

Closed 8 years ago

#5207 closed feature request (fixed)

Selective auto-all for local bindings

Reported by: ezyang Owned by: simonmar
Priority: normal Milestone: 7.4.1
Component: Profiling Version: 7.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


One style of writing code insists that the majority of functions be found in local bindings of where and let. While this keeps global namespace clean, it also means that -auto-all doesn't add cost centers to these bindings, and we have to manually instrument them. This is a pain. It would be really great if there was a magic SCC-ALL pragma which you could attach to a let or where keyword, which automatically SCC's all of the bindings in that block. You would specify a name, so that all of these local bindings could be qualified.

Maybe also an auto-all for (big) local bindings too? (Without any heuristics, that could get really big really fast! But it might be an easy step if the above is implemented.)

Change History (3)

comment:1 Changed 9 years ago by igloo

Milestone: 7.4.1

While being able to give a name would be nice, it isn't necessary, e.g. in

f = ...
    where g = let x = ... in ...

we could use names like "f", "f.g", "f.g.x".

comment:2 Changed 8 years ago by simonmar

Owner: set to simonmar

This is implemented in the profiling overhaul I'm working on.

comment:3 Changed 8 years ago by simonmar

difficulty: Unknown
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.