On 23/10/01 6:44 AM, Yegappan Lakshmanan wrote:
Hi,
On Sun, Oct 1, 2023 at 5:17 AM shane qian <shane.q...@live.com> wrote:
and I meant vim9script so far I felt it's good for type-checking
and performance, but vim9 class to me I felt a bit burdened, not
sure if still a chance to make it be simple to use (use for
scripting), still wish that's the goal. @errael @yegappan
I haven't introduced any fancy OOP features so far. These are the features
that Bram has partially implemented or planned for and were already in
the todo list.
The spec clearly says (said)
Object methods of the base class can be overruled. *The signature
(arguments,**
**argument types and return type) must be exactly the same*. The
method of the
base class can be called by prefixing "super.".
I can't find where Bram partially implemented or planned to allow
contravariant parameters. In fact it looks the other way around. See
comments
https://github.com/vim/vim/pull/13221#issuecomment-1741637630 .
After we've all worked hard to resolve incomplete spec issues (thinking
statics) and to get the implementation to meet the spec. This last
minute spec change, which doesn't seem to offer any useful functionality
and hasn't been discussed or tested, feels ill-conceived.
While this may be something for the future, /I see no reason to change
the spec now/.
These features are basic to any OOP language.
Can you point to a language that doesn't have overloaded methods that
allows contravariant parameters? I'm not saying there aren't any (I'm
just a country language-lawyer).
[...]
I think using a formal type checking term like "covariance" and
"contra-variance"
confuses people to think that we are introducing fancy features. But
these are
just terms for describing the type check and not new features.
I don't believe that is accurate regarding contra-variant parameters;
that is new. And for returning a covariant type that could already be
done *without removing the requirement* that "the signature ... must be
exactly the same".
I could have
used "implement appropriate type check for method arguments and return
types in extended classes".
Regards,
Yegappan
--
--
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/CAAW7x7%3DEMWHk1FmdAfyuZesgyon8BFeB06GUqxsVMULOpasS_A%40mail.gmail.com
<https://groups.google.com/d/msgid/vim_dev/CAAW7x7%3DEMWHk1FmdAfyuZesgyon8BFeB06GUqxsVMULOpasS_A%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
--
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/19d82b24-7b63-49f3-2334-73e130a0b160%40raelity.com.