Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: refine the ref system to suit more cases
On Thu, Jun 9, 2016 at 3:01 AM, Jean-Philippe Andréwrote: > On 9 June 2016 at 11:38, Daniel Kolesa wrote: [snip] > I thought most pointers had already been removed from EO? There are quite a few. The @ref is the first step, we need only have arrays to remove the rest of pointers in Eolian. > Anyway what I know from C++ references is basically that they can't be > NULL. That's a pretty strong constraint when the implementation is all in C > :) You can't have a reference of a reference for example, and references don't have value (like pointers do). For the NULL problems we have @optional @ref. For C they are all pointers but for bindings they communicate semantics better. > Looking forward to seeing more information and use cases for those refs. > > -- > Jean-Philippe André Regards, -- Felipe Magno de Almeida -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: refine the ref system to suit more cases
On 9 June 2016 at 11:38, Daniel Kolesawrote: > On Thu, Jun 9, 2016 at 2:33 AM, Jean-Philippe André > wrote: > > Hi Daniel, > > > > On 8 June 2016 at 23:51, Daniel Kolesa wrote: > > > >> q66 pushed a commit to branch master. > >> > >> > >> > http://git.enlightenment.org/core/efl.git/commit/?id=b87c4f6de82065b22c2dab32acf27afcbd3824cb > >> > >> commit b87c4f6de82065b22c2dab32acf27afcbd3824cb > >> Author: Daniel Kolesa > >> Date: Wed Jun 8 15:49:09 2016 +0100 > >> > >> eolian: refine the ref system to suit more cases > >> > >> Now references are first class (but still restricted to one level). > >> Unlike > >> pointers they only mark the type instead of introducing a whole new > >> type. > >> > > > > > > Are these changes just cleaning up the internals of Eolian, or are there > > some conceptual changes with EO files? > > > > I think I saw a previous patch introducing @ref but this tag was for > > documentation, right? > > While here it sounds like you're talking about reference a la eo_ref? > > > > Is there something we need to know for the interfaces? > > They're references as in C++ references or Rust borrowed pointers > (i.e. they allow you to pass a value argument by reference, for > example), they change the Eolian syntax, and will eventually replace > pointers as they are in Eolian right now. In comparison to pointers > they're more restricted (can only be used in certain contexts, cannot > be nested) so they're easier to handle in bindings. Once I settle with > semantics for refs, migration will happen (away from pointers) and > pointers will be removed. > I thought most pointers had already been removed from EO? Anyway what I know from C++ references is basically that they can't be NULL. That's a pretty strong constraint when the implementation is all in C :) Looking forward to seeing more information and use cases for those refs. -- Jean-Philippe André -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: refine the ref system to suit more cases
On Thu, Jun 9, 2016 at 2:33 AM, Jean-Philippe Andréwrote: > Hi Daniel, > > On 8 June 2016 at 23:51, Daniel Kolesa wrote: > >> q66 pushed a commit to branch master. >> >> >> http://git.enlightenment.org/core/efl.git/commit/?id=b87c4f6de82065b22c2dab32acf27afcbd3824cb >> >> commit b87c4f6de82065b22c2dab32acf27afcbd3824cb >> Author: Daniel Kolesa >> Date: Wed Jun 8 15:49:09 2016 +0100 >> >> eolian: refine the ref system to suit more cases >> >> Now references are first class (but still restricted to one level). >> Unlike >> pointers they only mark the type instead of introducing a whole new >> type. >> > > > Are these changes just cleaning up the internals of Eolian, or are there > some conceptual changes with EO files? > > I think I saw a previous patch introducing @ref but this tag was for > documentation, right? > While here it sounds like you're talking about reference a la eo_ref? > > Is there something we need to know for the interfaces? They're references as in C++ references or Rust borrowed pointers (i.e. they allow you to pass a value argument by reference, for example), they change the Eolian syntax, and will eventually replace pointers as they are in Eolian right now. In comparison to pointers they're more restricted (can only be used in certain contexts, cannot be nested) so they're easier to handle in bindings. Once I settle with semantics for refs, migration will happen (away from pointers) and pointers will be removed. > >> [...] > > TIA, > > -- > Jean-Philippe André > -- > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: refine the ref system to suit more cases
Hi Daniel, On 8 June 2016 at 23:51, Daniel Kolesawrote: > q66 pushed a commit to branch master. > > > http://git.enlightenment.org/core/efl.git/commit/?id=b87c4f6de82065b22c2dab32acf27afcbd3824cb > > commit b87c4f6de82065b22c2dab32acf27afcbd3824cb > Author: Daniel Kolesa > Date: Wed Jun 8 15:49:09 2016 +0100 > > eolian: refine the ref system to suit more cases > > Now references are first class (but still restricted to one level). > Unlike > pointers they only mark the type instead of introducing a whole new > type. > Are these changes just cleaning up the internals of Eolian, or are there some conceptual changes with EO files? I think I saw a previous patch introducing @ref but this tag was for documentation, right? While here it sounds like you're talking about reference a la eo_ref? Is there something we need to know for the interfaces? > [...] TIA, -- Jean-Philippe André -- What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel