On Oct 3, 2010, at 6:39 PM, Jed Brown wrote:

> Agree that NC versus WithArray was confusing and difficult for users to 
> discover.
> 
> I don't see what overloading has to do with this. Garbage collection would 
> make a real difference, but overloading basically just lets you implicitly 
> write the types of arguments into the function name. Writing ownership 
> semantics into the type is not really workable in C and related languages.

  True, but one could possibly conceive of a language where one could "pass 
ownership" of arrays/objects around. Now PETSc explicitly has this (will I 
regret it later? maybe).

   Barry

> 
> Jed
> 
> 
>> On Oct 4, 2010 1:31 AM, "Barry Smith" <bsmith at mcs.anl.gov> wrote:
>> 
>> 
>> On Oct 3, 2010, at 6:23 PM, Jed Brown wrote:
>> 
>> > We agree about flexibility, I'm just not convinced ...
>> 
>>   Ok, I'll buy that. One reason I like the one function with additional 
>> argument is that by having to see and type in that argument users 
>> immediately see that other variants exist. Having other functions means they 
>> have to read the docs more carefully to be aware that other variants exist.
>> 
>>   NC() and WithArray() really got me. I mean how could anyone instinctively 
>> know what the difference between NC() and WithArray() was? To people it 
>> would be gibberish.
>> 
>> > 
>> > Freeing the array is being dishonest about (casting away) const.
>> 
>>   With a language with overloading we could be both technically honest and 
>> practically host. Without I prefer to be practically honest instead of 
>> technically honest.
>> 
>> Barry
>> 
>> 
>> > 
>> > Jed
>> > 
>> > 
>> >> On Oct 4, 2010 1:17 AM, "Barry Smith" <bsmith at mcs.anl.gov> wrote:
>> >> 
>> ...
>> 
> 


Reply via email to