"Nick Sabalausky" <a@a.a> wrote in message news:ikuome$2edr$1...@digitalmars.com... > "Michel Fortin" <michel.for...@michelf.com> wrote in message > news:ikum9a$2agj$1...@digitalmars.com... >> On 2011-03-05 18:42:26 -0500, dsimcha <dsim...@yahoo.com> said: >> >>> This is an extreme corner case, especially if a one-way semantic >>> @property syntax is available to work around it. The percentage of >>> functions that return callables is very small, and of these the >>> percentage that would forget @property is probably very small. I'd >>> rather bug-proneness in a ridiculous corner case than breaking tons of >>> existing code code and losing a nice feature in the common case. >> >> The percentage of functions that return a callable is very small until >> you go to template land. I can easily make a container or a range of >> delegates, and if someone somewhere forgot to make 'front' a property in >> the container, in the container's range or in one of the filter range >> layered on top of it, then writing 'front()' to call the front delegate >> becomes unreliable. Is it a corner case? Yes. Is it ridiculous to expect >> the language to detect rare but hard to find bugs? No. Is it worth it in >> this case? I think so. >> > > Along those lines, I'll point out that the idea of a range of delegates is > not a stretch at all: it could make a lot of sense for a GUI API, for > instance. The .NET windowing API handles callbacks as collections of > delegates and I always thought that worked fairly well (and seems > functionally equivalent to Qt's system of signals and slots, AIUI). >
s/callbacks/events/ (Although I guess it works either way.)