On Mon, 29 Nov 2010 12:31:42 +0000
Andrej Mitrovic <[email protected]> wrote:
> constraint
> {
> isDynamicArray(a);
> isIterable(a);
> }
> body
> {
> ...
> }
>
> So maybe every statement would be checked for the return value, and
> you would get the exact line where a constraint failed when
> instantiating a template.
>
> Just a passing thought anyway..
I like very much the idea of constraint blocks. Much better than expanding func
header line, reuses an existing syntactic construct, and far cleaner.
But what is wrong with using interfaces (or abstract classes) instead of having
to write custom type-checking funcs? If only as style guidelines:
constraint
{
a isa DynamicArray;
a isa Iterable;
}
The language could provide abstract classes for commonly checked capabilities
of builtin types.
Denis
-- -- -- -- -- -- --
vit esse estrany ☣
spir.wikidot.com