On Mon, Jun 30, 2014 at 7:21 AM, Nick Wellnhofer <[email protected]> wrote:
> I don't see much use in releasing Lucy 0.4 with an opaque version of
> Clownfish. There aren't any major new features in the 0.4 release so Lucy
> users can stick with 0.3 as well. I'm more concerned with not delaying the
> Clownfish release any longer.
It doesn't bother me in the slightest to make a release with no significant
visible features.
In fact, I suggest that we start releasing on a fixed cadence at one-month
intervals as we roll out Clownfish.
> Regarding the four issues you mentioned:
>
>> * Replace `::` with `.` as a namespacing separator.
>> * Prevent subclassing of most Clownfish core classes.
>> * Review names of core classes: VTable -> Class, VArray -> Array.
>
> These should be more or less trivial.
They're all more tricky than they appear at first glance, though.
I figure the first task I'll take up will be be making more Clownfish core
classes final.
> If you think it's important to get this sorted before we release Clownfish,
> then, by all means, take your time. I'd be happy to help with any tasks that
> can be parallelized.
You had voiced support for going from VTable to Class:
http://s.apache.org/yNW
By the way, I'm really in favor of renaming Clownfish::VTable to
Clownfish::Class.
So if you get to that before I do, great. Otherwise, I understand that I'm
the one blocking and it's my responsibility to make stuff happen.
Possible concerns:
* Some host languages provide a getClass() method, which we'll want to avoid
clashing with. So when we rename Obj#Get_VTable(), we'll need to name it
something like Get_CFClass().
* We can't name a struct member `class`[1]. We might go with either
`cfclass` or `klass` (both of which I'd prefer over `cls` or `clazz`).
* My personal preference would be to have no `nickname` for Class, rather
than the unpronounceable `Cls`: Class_Get_Name(), Class_Make_Obj(), etc.
Marvin Humphrey
[1]
http://stackoverflow.com/questions/12533326/clang-c-compiler-class-keyword-reserved