I have made a fair number of decisions against ergonomics in favor of less objectively important ideals because I don't plan to support people working on real problems. However, I do plan to make a self-hosting compiler though so I will have to deal with any issues I do make.
> that authors of such projects seem unable to resist
It definitely is very tempting to add things beyond the scope of a useful language (at a toy scale). I restricted myself from most such things by requiring strict C compatibility. You can't have a fancy type system and interop with C strongly.
ATS would disagree with this statement, strongly.
My idea of strong interop is not having to write any glue code at all and being able to call any function. I assume there are some types that don't interface with C well.
That said, thanks for mentioning it. I should keep it in mind as it does do some of the stuff I want my language to.
typedef
struct {
int atslab__0; void *atslab__1;
} int_and_string ;
very strong typing right there...I was speaking about interfacing in the opposite direction.
No need to apologize. I also should have been more clear about what I meant by strong interoperability.
> I was speaking about interfacing in the opposite direction.
I think that having really strong interoperability requires both directions, but the being called from C is the one that is more restrictive on fancy types.
It all starts to look like COM, lol. Take care man.