You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Traceur is substantially more useful for me when I use the modules keyword from #24 , otherwise I'm flooded with warnings from Base and other modules I didn't develop. For example, @trace naive_sum([1.]) modules = [Main].
I think the default behavior should be to not show warnings from these modules. New users of Traceur aren't likely to know about the modules keyword, so their initial experience is currently not very good. Experienced users can provide whatever modules they like.
Options:
Default to modules = [Main]. For simple interactive use, this would be a big improvement. Package developers could manually list their packages.
Default to everything except Base and stdlib modules. This would strip out most of the noise I see when using Traceur, while still showing warnings from packages which I might want to file an issue about. The end user is unlikely to be able to do anything about problems in core Julia code, and I think it's reasonable to assume our problems do not lie in that code.
I've been looking for a way to list all available modules so I could compute a set difference of that minus Base + stdlib to be default argument, but I haven't found a way to list them.
If this does not exist, one option would be to add a second keyword argument, skipmodules = []. The default could be skipmodules = [Base, (list stdlib here)]. Traceur would skip any warnings from modules in skipmodules.
The text was updated successfully, but these errors were encountered:
I've been thinking a little about this. Even though a user might not be developing Base or a standard library, the type instabilities that Traceur is finding will still impact the performance of their code, and therefore might still be relevant to a user that is wondering why their code is slow.
So I don't think that we should hide warnings from Base by default.
I do like the idea of having a keyword argument skipmodules = [] that would allow a user to easily skip one or more modules. I think that the default value should be skipmodules = []. If a user wants to ignore the warnings from Base, they could do so easily by specifying skipmodules = [Base].
But I do think it could be useful to show those warnings by default.
Traceur is substantially more useful for me when I use the
modules
keyword from #24 , otherwise I'm flooded with warnings from Base and other modules I didn't develop. For example,@trace naive_sum([1.]) modules = [Main]
.I think the default behavior should be to not show warnings from these modules. New users of Traceur aren't likely to know about the modules keyword, so their initial experience is currently not very good. Experienced users can provide whatever modules they like.
Options:
modules = [Main]
. For simple interactive use, this would be a big improvement. Package developers could manually list their packages.I've been looking for a way to list all available modules so I could compute a set difference of that minus Base + stdlib to be default argument, but I haven't found a way to list them.
If this does not exist, one option would be to add a second keyword argument,
skipmodules = []
. The default could beskipmodules = [Base, (list stdlib here)]
. Traceur would skip any warnings from modules inskipmodules
.The text was updated successfully, but these errors were encountered: