No announcement yet.

Enlightenment 0.23 Released With Massive Wayland Improvements

  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by Cape View Post

    Rasterman! Your jargon is music to my ears!
    For example: you are talking about objects but isn't E pure C? Do you have some sort of integrated GC in EFL?

    Did somebody ever tried E on Librem5 devkit or similar??
    OH ... I think I forgot to reply to this.

    I don't have the librem dev kit, so I can't say how it runs, but I do run E on my raspberry pi 3, raspberry pi 4 and rockpro64. All in all they are ballpark similar in performance and hardware - well compared to a PC (sure rpi3 has only 1gb ram, the librem5 has 3gb and the rockpro64 and rpi4 have 4gb, They have slightly differing core counts and arm core designs as well as different gpu's ...but the rpi3 will be the weakest I imagine, and E does run there).

    And yes E and EFL are pure C. That does not preclude objects at all. Objects are a concept, not a language feature. Some languages have explicit support for objects in the language itself, but you can have objects in C. One way is structs. You can have obj->show(obj); for example... we don't do that. That would require exposing the memory layout for a function table and make it actually hard to do inheritance and future expansion of classes so instead we have efl_show(obj); and that then dispatches and CALLS the chow method for that object class type for example. It's all a lot of fun with function pointers. Give we can address any function by its name (address at runtime) we Can alter what function is called via the dispatcher and is then passed that object data - explicitly finding the offset from the start of the object memory address where the class data for that class is stored and then passes it to that function.