Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: refine the ref system to suit more cases

2016-06-09 Thread Felipe Magno de Almeida
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

2016-06-09 Thread Jean-Philippe André
On 9 June 2016 at 11:38, Daniel Kolesa  wrote:

> 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

2016-06-08 Thread Daniel Kolesa
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

2016-06-08 Thread Jean-Philippe André
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?

> [...]

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