[chuck-users] class abuse

David Rush kumoyuki at gmail.com
Thu Oct 1 00:14:52 EDT 2009


2009/10/1 Kassen <signal.automatique at gmail.com>:
>>  The current scheme -- using the (lexically) first function
>> definition -- seems fraught with astonishment.
>
> I don't think the situation is terrible;

I do. This is one of the things that really gets up my nose in ChucK.

> it doesn't crash,

Oh. Good.

> correct behaviour can be had

Are you familiar with the concept of Turing Equivalence? Once a
language reaches a certain expressive power, it's not about whether or
not you can get things to happen, it's about how much pain you ut the
programmer through.

> My main issue is the
> lack of documentation. The manual just notes;
>
>> overloading
>> Overloading a function allows functions with the same name to be defined
>> with different arguments.
>> The function must be written in separate instances to handle the input,
>> and the return type must
>> agree.
>
> ...and gives some examples. I'd say it would also be useful to point out
> exactly what overloading is, because the above will make zero sense to first
> time programmers, why we would use it and note things like the above.

And the above behavior essentially breaks the main utility of
behavioral inheritance: that you can cause more-specific behaviors to
occur in a more-general context. Really, this is just wrong.

> mattering, yet it does. The other cases that I know of are just plain bugs.

Then perhaps so is this.

> To me this seems like a case where the passes of the parser over the code
> don't exactly reflect what should be done and more should be moved to a
> preliminary pass that scans for definitions and files them appropriately for
> dealing with the rest of the code.

So it's a bug that you know how to fix?

david rush
-- 
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt


More information about the chuck-users mailing list