On 19/06/14 14:32, Felipe Magno de Almeida wrote: > On Thu, Jun 19, 2014 at 10:18 AM, Daniel Kolesa <quake...@gmail.com> wrote: >> 2014-06-19 14:02 GMT+01:00 Tom Hacohen <tom.haco...@samsung.com>: >> >>> Hey, > > Hello Tom, > > [snip] > >>> We are working on the Eo EFL API, making it clean, consistent, and >>> predictable. This work covers sharing similar interfaces among similar >>> classes all over the EFL, adding Eo API to things that are not covered >>> by Eo at the moment and should be, and probably in the future also >>> fixing some broken API we might have lingering around. > > [snip] > >> It's pretty clear that we need something like this. But I fear that having >> lots of "global" efl_ prefixed funcs will lead to interface creep, not >> something we necessarily need; also, it means we'll have to split these >> into many different interfaces - we will want to categorize these somehow, >> instead of shoving everything into one. > > I don't think they are the same function. To say that they set a file > is way too simple. Each function sets for a different purpose and that > must be documented. They are different functions and in a OO (I don't > even like OO, but just to use as an example that not even OO-people > would do this) these functions wouldn't be related at all, they > wouldn't override each other or anything. > > The problem with prefix is just that in C we don't have overload > resolution, so we pay by prefixing a namespace to functions instead of > relying on the argument's types. > > I'm not against making the prefixing smaller and easier to use, but > those functions shouldn't even be considered global. If something like > this goes forward we should think as overloading, and with > overloading, there must be a solution with reference documentation as > well. >
As I told q66 on IRC. You should look at this as a combination of two things. A logical split into interfaces the good old fashion OO way, and a hack we use in order to have "->file_set()" like convenience in C (essentially cutting the name down to something short and easy to remember). We already need a way to have docs for overridden functions because of inheritance regardless of this change. This will be the same thing. We'll have to attach docs to both implementations and definitions. I thought it was obvious by the fact that we use C.. file_set() will always get the same parameters and is only shared among those that share these parameters. Some parameters might be ignored by some, but they'll still be called with. Those are not global. The interfaces will be used as needed by classes. -- Tom. ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel