2018-01-08 19:52 GMT+01:00 Cedric Bail <ced...@ddlm.me>:

> Hi Dave,
>
> > -------- Original Message --------
> > Subject: [E-devel] Eo/Eolian namespace definition
> > Local Time: January 7, 2018 9:28 AM
> > UTC Time: January 7, 2018 5:28 PM
> > From: d...@gurumeditation.it
> > To: Enlightenment <enlightenment-devel@lists.sourceforge.net>
> >
> > Hi all,
> >
> > I'm playing again with eolian and python, and I'm facing an issue with
> > regards class names and namespaces separation (I already raised this in
> the
> > past)
> >
> > A first intro to python namespaces (I think apply to any other high-level
> > language):
> >
> > - in py every class must live in a given namespace and you use the class
> as:
> > from <namespace> import <class>
> > - every namespace in python is a separate .so file
> >
> > The basic question is:
> > is the Efl.Text (interface) inside the Efl.Text namespace?
> > do I need to put the Text interface inide the Efl.Text .so file?
> >
> > NO) if the resonse is no, then in python will become:
> > from efl.ui import Button
> > from efl import Text
> > from efl.text import Font
> >
> > this feels wrong to me, as Text is not in the text namespace
> >
> > YES) if the response is YES:
> > from efl.ui import Button
> > from efl.text import Text
> > from efl.text import Font
> >
> > this one seems correct to me, but this means that the full name of the
> Text
> > class should be Efl.Text.Text (this is a must in python, and probably in
> > all other langs)
>
> I think that Text is maybe a bad example as it might be best to move it to
> the Efl.Gfx namespace. In general I think our Efl top namespace is to
> crowded and would be better cleaned up. I am guessing this would solve many
> problem for python, no ? In general, do you have rules for naming and
> namespaces that you would like us enforcing ? If we had, we could enforce
> them in eolian.
>

For the moment the only problem I found for python is that a name-space
cannot have the same name as a class, f.e. Efl.Text (class) and Efl.Text
(namespace) cannot be made available to python with this exact names. I
already "fixed" this issue using lowercased namespace names like: efl.Text
(class) and efl.text.* (namespace). At the end this is a no-problem for py
because lowercased namespaces is the raccomended  standard in python, so it
fit well.

The main intent of this thread is to try to define and standardize the way
we are naming classes, in particular wrt to the namespace hierarchy.
I understand that coding in C this seems a no-problem, but for languages
that support/require namespaces this must be defined cleanly, at the eolian
level;
to ensure that we will produce/generate conformant and standardized
namespace hierarchy in differetn bindings.
I mean: the Button class should be in the same namespace (Efl.Ui) in all
different bindings we will produce.

TBH I'm really surprised that a plan has not been done on this, I cannot
really undestand how we expect to create a consistent and clean API if
everyone choose "quite random names" (exageration intended and for joking)
imo we really need to write down the full hierarchy (also with planned
classes) and discuss on that !



> Cedric
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Mail
priva di virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to