What's a form of access but a function from some index type to some element type?
soc
Happily using it for presentation slides.
If you read more than just the headings, you'd find out that your objections have been addressed in the article. ;-)
Sure, there are some worse/more limited predecessors – my design was partially motivated by a desire to improve upon these.
For instance, that ML-derivative you are using for your examples
- very likely still has
if then else
in the language, thus making it not unified - desperately tries to emulate functionality with guards that simply comes out of the box with my approach
- relies on the ultimate hack of "match on unit", because
match
is very limited in which coding patterns it can express
Also, none of the examples are "more clear" or "have less magic":
Maybe they are more "familiar" to you personally, but that's about it.
Too me they just look clunky, full of accidental complexity and trying to work around a poor/limited language design.
That –at best– gives you the same performance.
EDIT: Ok, I misunderstood – you meant the performance of "case insensitive in kernel" vs. "case insensitive in userspace". I get your point now.
No, I'm not going to waste further time on trying to make you understand things you are not capable or interested in understanding.
The author of that paper hung around in the lang design forum were I originally presented this.
Case insensitive FSs aren’t a new thing.
More precisely, they came up in a time where Unicode was not a thing.
Yes, you need to attach the locale to the filename. No, I have no idea off the top of my head of how different file systems encode or store that.
They don't. None of them.
Or, if it is, then let’s go back to eight characters from the English alphabet in all caps. 8.3 filenames. Why not? [...] Why are spaces, cyrillic, special characters and long names worth doing but case insensitivity isn’t?
Because you cannot have both.
It is either "spaces, cyrillic, special characters and long names" or case insensitivity.
Wasting a perfectly good pair of brackets on some random function call and then suffering for it in many other places sounds more like syntactic salt.