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.