I was thinking along the lines Christos mentioned -- that there might be any number of "inits" or whatever. I can pass the profile position to the profiler functions (I think), so it won't be necessary to use the function name for that, so my current idea is to pass into scheme via (*s7* 'profile-info), the function name (a symbol), the timing data (a vector), and the ticks-per-second (as currently, so that it is backwards compatible with profile.scm), then include either the function itself for access to its file/line data and environment (but this requires GC protection), or perhaps the location data and the local profile-let-name if any. This way the profiler overhead is minimized, and profile.scm can disambiguate same-name functions; it could include a way for the caller to format output and names, etc. A function can be local to some other function, and created anew on every call of the outer function, so I'm leaning toward the file/line + profile-let-name choice. Maybe a function-local name formatter could be implemented via a local object->string method?
_______________________________________________ Cmdist mailing list Cmdist@ccrma.stanford.edu https://cm-mail.stanford.edu/mailman/listinfo/cmdist