On So, 27 Aug 2023, Yegappan Lakshmanan wrote:

> On Sun, Aug 27, 2023 at 11:09 AM Christian Brabandt <cbli...@256bit.org> 
> wrote:
> >
> > I would think once Yegappan thinks the Vim9 classes is good enough to
> > release, I'd go ahead. Not sure how much work this is left to be done,
> > but I'd rather sooner release than later. So it depends on how far we
> > want the Vim9 classes implementation have ready for the new release.
> >
> 
> The following Vim 9 class related items are currently in the todo list:
> 
> 1. Change access: public by default, private by prefixing "_".
> 2. Check for error: can't have the same name twice (ignoring "_" prefix).
> 3. "final" object members - can only be set in the constructor.
> 4. Support export/import of classes and interfaces.
> 5. Cannot use class type of itself in the method (Issue #12369)
> 6. Cannot use an object method in a lambda (Issue #12417)
> 7. Cannot call class member of funcref type (Issue #12324)
> 8. Using a list of functions does not work (Issue #12081)
> 9. First argument of call() cannot be "obj.Func". (Issue #11865)
> 10. Make ":defcompile ClassName" compile all functions and methods in the 
> class.
> 11. Support forward declaration of a class.  E.g. for Clone() function.
> 12. Getting a member variable with "any" type should be handled at runtime.
> 13. "obj.Method()" does not always work in a compiled function, assumes "obj"
>     is a dictionary.  (Issue #12196, #12024, #11822, #12198, #11981)
> 14. Support empty(), len() for objects.
> 15. Check types for "implements" - members and methods
> 16. Support locking and unlocking objects/classes.
> 17. When checking "implements" also check types of members and function args.
> 18. For chaining, allow using the class name as type for function return 
> value.
> 19. Implement generics
> 20. Add "assignable" (class or child)?
> 21. Use a more efficient way for interface member index than iterating
> over list.
> 22. Implement a variant of type() that returns a different type for each 
> class.
> 23. Support class local to a function.
> 24. Support promise class, could be used to wait on a popup close callback.
> 
> Other than the first two items, I don't think we can get to the other items in
> this list for the 9.1 release.

That makes sense. Once the first two are included, we can have a one or 
two week stability phase (to fix only crashes and other regressions) 
before we push out the release.  That will be an interesting exercise...

Thanks,
Christian
-- 
Divorce Assumption:
        A form of Safety Net-ism, the belief that if a marriage
doesn't work out, then there is no problem because partners can simply
seek a divorce.
                -- Douglas Coupland, "Generation X: Tales for an Accelerated
                   Culture"

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/ZOxLexyN7%2B0lpefk%40256bit.org.

Raspunde prin e-mail lui