Hello,

I've started removal of support for pointers in Eolian in order to
bring the language one level up and make it easier to do bindings.
This has already been done for class handles and for complex types
like array, hash, iterator etc. but currently one big obstacle in the
way is strings. I have a pretty clear idea in my head but it's
possible I might have missed something so I'm asking here if anyone
has any feedback or ideas or whatever that I could have missed before
implementing it.

Basically my idea currently is to introduce a new "string" builtin,
which ALWAYS represents const char *. Mutable char pointers will not
be possible with this system - I believe we don't want these either,
because they're low level and represent something that you can change
but not resize, plus it doesn't map well to various languages,
especially scripting ones. I did some analysis on our API and it seems
we actually have very few uses for mutable char pointers - there is
currently only a handful of cases across the EFL, as opposed to
countless const ones. APIs that currently use mutable char pointers
would be dealt with on per-case basis and redesigned, probably to use
something like Eina_Strbuf (in most cases; strbuf will get another
builtin eolian type) with wrappers for legacy.

Another thing is stringshares - I'm considering introducing another
builtin for that, but maybe that won't be necessary. I gotta
investigate more - again, there's only a handful of cases across the
EFL anyways.

Overall, removing pointers will benefit probably everyone, I believe.
For one it will mean that there won't be any need to map pointer types
to higher level languages in generators; another thing is that it
means death of nested types in Eolian, which will make manipulation of
types with the API much simpler.

If you have any objections or notes, please bring them up. Otherwise,
I will proceed with my approach.

D5

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to