Page MenuHomePhabricator

BBQGroup
ActivePublic

Watchers

  • This project does not have any watchers.

Details

Description

The true project

Recent Activity

Sep 25 2019

zmike closed T7981: what even is this as Resolved.
Sep 25 2019, 7:32 AM · efl, BBQ

Aug 16 2019

cedric added a comment to T7675: Do not allow static-function polymorphism.
In T7675#139861, @tasn wrote:

It's not just that, you also need to make sure that static is only allowed on classes and not interfaces, and you can only implement where it was defined, not elsewhere.

Aug 16 2019, 7:42 PM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Thanks @q66, fixed in rEFL8a8a833837f7217aea0a33f4f7afbb6edfb103c4

Aug 16 2019, 9:38 AM · BBQ, efl: data types, Restricted Project

Aug 9 2019

tasn added a comment to T7675: Do not allow static-function polymorphism.

That's one of the suggestions I made above. I'm fine with that too, though that's a different discussion.

Aug 9 2019, 10:06 AM · BBQ, efl: data types, Restricted Project
q66 added a comment to T7675: Do not allow static-function polymorphism.

Hm? why not just rename current @class to @static (which is easy and quick) and then only re-add @class later if it ends up being needed?

Aug 9 2019, 9:27 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

It's adding back @class and then adding @static that is just like what @class is now. OK, thanks for the feedback!

Aug 9 2019, 9:21 AM · BBQ, efl: data types, Restricted Project
q66 added a comment to T7675: Do not allow static-function polymorphism.

If it's just renaming to @static, then that's fine and easy

Aug 9 2019, 8:57 AM · BBQ, efl: data types, Restricted Project
tasn updated subscribers of T7675: Do not allow static-function polymorphism.

Gotcha, good to know. Then @static is maybe the best option for T8118. @q66, anything to contribute regarding the syntax suggestions?

Aug 9 2019, 8:42 AM · BBQ, efl: data types, Restricted Project
lauromoura added a comment to T7675: Do not allow static-function polymorphism.
In T7675#139845, @tasn wrote:

Would it be a reasonable compromise to borrow the @static modifier from Python and use it alongside @class?

@static sounds like a good solution for T8118, but what's the advantage over just "floating"? Compatibility with languages that don't allow floating functions? How does C# handle "floating" structs btw? Do they have to be in a class too or is it OK to have them floating?

Aug 9 2019, 6:37 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Do you mean the Text_Factory classes? I'm wondering what would be the case for them to have actual @class dynamicity.

Aug 9 2019, 12:44 AM · BBQ, efl: data types, Restricted Project

Aug 8 2019

lauromoura added a comment to T7675: Do not allow static-function polymorphism.
In T7675#139819, @tasn wrote:

@lauromoura: I think I already addressed your comment too in my reply to @felipealmeida , please let me know if that's not the case.

Aug 8 2019, 3:42 PM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

@lauromoura: I think I already addressed your comment too in my reply to @felipealmeida , please let me know if that's not the case.

Aug 8 2019, 2:50 PM · BBQ, efl: data types, Restricted Project
felipealmeida added a comment to T7675: Do not allow static-function polymorphism.

I'll let other people chime in. If nobody else opposes, then IMO you can go ahead and reinclude it. If that happens, then we need a solution for T8118 first, IMO.

Aug 8 2019, 2:47 PM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

By size I mean typing more. I'm not against it per se, but for static use it doesn't look like a good tradeoff to me. This is going to uglify bindings and I don't really see much of a difference in change the name of the method or pass a different type. It actually creates one more point for error, where people can pass wrong classes, they can't when the class is embed in the function name.

Aug 8 2019, 2:42 PM · BBQ, efl: data types, Restricted Project
lauromoura added a comment to T7675: Do not allow static-function polymorphism.

Do we have a use-case where we get the class type dynamically? If we use it statically, this is just syntax-sugar. And not even very sweet since it makes the code bigger.

Aug 8 2019, 2:41 PM · BBQ, efl: data types, Restricted Project
felipealmeida updated subscribers of T7675: Do not allow static-function polymorphism.

By size I mean typing more. I'm not against it per se, but for static use it doesn't look like a good tradeoff to me. This is going to uglify bindings and I don't really see much of a difference in change the name of the method or pass a different type. It actually creates one more point for error, where people can pass wrong classes, they can't when the class is embed in the function name.

Aug 8 2019, 2:26 PM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Do we have a use case? Features are nice, but I think they must be justifiable.

Aug 8 2019, 1:42 PM · BBQ, efl: data types, Restricted Project
felipealmeida added a comment to T7675: Do not allow static-function polymorphism.

About factories: what is the difference between:

Aug 8 2019, 12:35 PM · BBQ, efl: data types, Restricted Project
felipealmeida added a comment to T7675: Do not allow static-function polymorphism.

Do we have a use case? Features are nice, but I think they must be justifiable.

Aug 8 2019, 12:32 PM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

The problem is with singletons/factories + inheritance, as implied from the context of this discussion.

Aug 8 2019, 7:48 AM · BBQ, efl: data types, Restricted Project
bu5hm4n added a comment to T7675: Do not allow static-function polymorphism.

Factories and singletons are still implemented on various places, and just work normally as in other languages.

Aug 8 2019, 7:14 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Marcel, I keep in repeating myself. I already addressed what you just wrote numerous times like at the last paragraph of: https://phab.enlightenment.org/T7675#139789
Even with non-class functions, C functions can't access overridden functions in C# (or if they can there, not in all bindings), and if there's a way to make it work, then there will also be a way to make it work with overrides not just overwrites.

Aug 8 2019, 7:03 AM · BBQ, efl: data types, Restricted Project
bu5hm4n added a comment to T7675: Do not allow static-function polymorphism.

The differences do matter quite a lot, if we build up an API in .eo files that relies on this feature (for example, overwrite a API on the class, which is then called from inside efl) then this is not available in C# as this is 1. Not known to C# people 2. Not possible while calling it a class function. ( You can replace C# with any languages I gave you above)

Aug 8 2019, 6:49 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Yeah, I understand that new means override (now that we have discussed it further), but as I said, in my last comment and previous ones, it doesn't matter, because this logic is handled by C anyway. The same scenario you just described would break even with non-class functions because the C code will not call your C# code. So I don't see why the obsession with this specific case of class functions when the same functionality is overall broken.

Aug 8 2019, 6:34 AM · BBQ, efl: data types, Restricted Project
bu5hm4n added a comment to T7675: Do not allow static-function polymorphism.

I think you did not understand what the *new* function in C# is doing for static functions. If you use it, it tells you that function, where you declared it is shadowing the definition that is lower in the inheritance structure. Means that by anonymous calling from inside the class, everything inheriting from this class will call the new function. Function calls inside classes we have inherited, are still going to the original definition, not impacted by the *new* API. Which is the behaviour we have right now

Aug 8 2019, 6:25 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Thanks for adding the clarifications, though this is something I already addressed at the bottom of: https://phab.enlightenment.org/T7675#139789

Aug 8 2019, 6:12 AM · BBQ, efl: data types, Restricted Project
bu5hm4n added a comment to T7675: Do not allow static-function polymorphism.

@tasn I am talking about the plain difference between what is called a class function in C# and what we before called class function in eo (before my patch).

Aug 8 2019, 5:54 AM · BBQ, efl: data types, Restricted Project
raster added a comment to T7675: Do not allow static-function polymorphism.

@tasn is right - from the point of view of a user - it's the same. even if c# and java couldn't do it then its a "c only feature" - they can CONSUME it and make use of it from what efl does in C.

Aug 8 2019, 5:42 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

And also you haven't addressed the other point, which is even if you were right about this point, these shouldn't live in the class but rather in a related namespace.

Aug 8 2019, 5:22 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Read what I said at the bottom of the last post. It doesn't matter because everything is done in C anyway. You don't get the behaviour you're describing in normal non-class functions either. It always behaves like overloading because it calls C directly under the hood, doesn't actually use the language's object system.

Aug 8 2019, 5:21 AM · BBQ, efl: data types, Restricted Project
bu5hm4n added a comment to T7675: Do not allow static-function polymorphism.

This is overloading not overwriting, you wasted your own time. Please lookup how do do overwrites in c#

Aug 8 2019, 5:17 AM · BBQ, efl: data types, Restricted Project
tasn updated subscribers of T7675: Do not allow static-function polymorphism.
Aug 8 2019, 5:04 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Actually, now I'm really pissed off you are wasting my time, here's a fucking C# example:

using System;
					
public class Program
{
	public class A {
		public static void foo() {
			Console.WriteLine("A");
		}
	}
	
	public class B : A {
		public new static void foo() {
			Console.WriteLine("B");
		}
	}
Aug 8 2019, 5:01 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

Stop trying to twist my words and start reading them. I never fucking said ask Tom for changes in eo. I said, when you fundamentally change existing code, ask the people who wrote it why it was the way it was. Not just me, not just Eo. I talked to raster a lot when I redid the text system way back when, I talked to everyone a lot when I did the object system, I talked to cedric when I touched the relevant edje parts. It's just common sense to ask people who actually know the code why things that you find weird are done the way they were. I don't understand why you keep on trying to ridicule this statement. It's obvious and should be the basis to everything you do.

Aug 8 2019, 4:58 AM · BBQ, efl: data types, Restricted Project
bu5hm4n added a comment to T7675: Do not allow static-function polymorphism.

Let's stick to the technical, the rest will end up in another rant and more weird arguements that lead to the conclusion that I need to ask you. Note is taken "ask Tom for changes in eo"

Aug 8 2019, 4:19 AM · BBQ, efl: data types, Restricted Project
tasn added a comment to T7675: Do not allow static-function polymorphism.

I didn't say you have social problems, I was complaining exactly like the above. I said the big issue with this change is the broken process (which is a social aspect, not technical) that lead to you changing a massive piece of code without asking *anyone* that's been involved in it's creation and design when I'm on IRC, mail and read the ML. The only one of the "reviewers" that actually maybe was involved is q66, but he said he wasn't asked to review any proposals (as evident by this ticket and lack of participation) but rather to review the code. It's not about me, I just don't understand why you'd make such a big change without first gathering information.

Aug 8 2019, 3:35 AM · BBQ, efl: data types, Restricted Project
bu5hm4n added a comment to T7675: Do not allow static-function polymorphism.

Okay, after i have received another rant via PM, with the conclusion that i have a social problem:

  1. No OOP framework does support that. Not a single one, all you can do is basically overloading but newer overwriting, which leaves you with static dispatching instead of dynamic dispatching. Coming from a math background, class functions in a argebraic sense are also static dispatched, and the same, per group / class. (https://en.wikipedia.org/wiki/Class_function_(algebra))
  2. Whatever you have want yo model with a overwritable class function, you still can do it. Just have a property that returns an object that implements the API. Higher hirachies can pass there theire own object, with theire own implementations. (Whatever was possible still is possible)
Aug 8 2019, 1:13 AM · BBQ, efl: data types, Restricted Project

Aug 7 2019

zmike added a project to T7675: Do not allow static-function polymorphism: BBQ.

Aug 7 2019, 11:51 AM · BBQ, efl: data types, Restricted Project

Jun 19 2019

zmike added a comment to T7981: what even is this.

@cedric

Jun 19 2019, 9:28 AM · efl, BBQ

May 22 2019

zmike triaged T7981: what even is this as Showstopper Issues priority.

May 22 2019, 11:35 AM · efl, BBQ

Jul 24 2018

zmike added a project to T5484: Random freezes: BBQ.
Jul 24 2018, 9:41 AM · BBQ, Restricted Project, enlightenment-git
zmike added members for BBQ: ManMower, stephenmhouston.
Jul 24 2018, 9:40 AM
zmike added a member for BBQ: zmike.
Jul 24 2018, 9:40 AM
zmike changed the visibility for BBQ.
Jul 24 2018, 9:40 AM