On 10/09/2015 9:03 AM, Richard Cotton wrote: > Thanks Luke, > > On 10 September 2015 at 14:47, <luke-tier...@uiowa.edu> wrote: >> Conditions have classes and the condition system is designed around >> the idea that classes would be used for this sort of thing. That is >> already how tryCatch and withCallingHandlers discriminate the >> conditions to handle. > > That makes sense. Though with my sqrt example, it's just a plain > simpleWarning, which doesn't give you the opportunity to do special > handling. > > tryCatch(sqrt(-1), warning = function(w) class(w)) > ## [1] "simpleWarning" "warning" "condition" > > >> Designing and implementing a condition class hierarchy to support this >> is indeed the hard/tedious part. > > There are precedents from other languages that could be used as a > template. For example, .NET and Java both have very well defined > exception hierarchies that could serve as a starting point. > > https://msdn.microsoft.com/en-us/library/z4c5tckx%28v=vs.110%29.aspx > https://docs.oracle.com/javase/7/docs/api/java/lang/package-tree.html > > Who is the best person to ask/cajole to start getting this implemented?
I think that if you put together a proposal that looks easy to implement and maintain, and volunteered (or recruited volunteers) to do most of the work, then it would get done. I don't think either of the posted hierarchies would be acceptable, though, because they'd require anyone who was writing new code to learn them. Currently if I want to put in a warning, it's easy: I just call warning(). If you make it take an extra 5 seconds to add something that makes the warning more useful, I'd do it. If it takes 10 minutes of reading through voluminous documentation, I wouldn't. Duncan Murdoch ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel