This thread got backburnered for me due to other $dayjob stuff, but returning to it now, one thing I wondered would be what if instead of just allowing missing parameters as a way to support changing event interfaces, we introduced an explicit notion of deprecation, as follows.
Suppose "event foo(a: string)" is an event to which we want to add a second parameter, b: string. We could express this in event.bif as: event foo%(a: string%) &deprecated; event foo%(a: string, b: string%); This would (1) allow the developer who's changing the API to decide up front whether the change can be backward-compatible by leaving out parameters, (2) put the maintenance burden just on the developer, (3) allow users to (automatically) look for the uses of the deprecated API if they wish, (4) avoid certain forms of user errors, and (5) allow us to consider other API changes such as removing parameters. It's not as easy to implement ... but strikes me as cleaner than where this discussion has wound up going. Vern _______________________________________________ zeek-dev mailing list zeek-dev@zeek.org http://mailman.icsi.berkeley.edu/mailman/listinfo/zeek-dev