[erlang-questions] Improve $handle_undefined_function

Björn-Egil Dahlberg egil@REDACTED
Thu Jan 24 18:31:27 CET 2013


On 2013-01-24 18:12, Robert Virding wrote:
>
>
>     Some of the stuff in our stdlib, like providing zero-index based
>     access everywhere is hard to "backport" to Erlang. And other stuff
>     like the Enum module, which is a bunch of functions meant to work
>     on any enumerable data structure, like lists, dicts, etc, requires
>     protocols.
>
>
> What is it with zero-based indexes that make people so morbidly 
> fascinated by them. If you are talking *offsets* then I agree that 
> zero-based is fine, it's saying how far away something is from a some 
> point. But here we are talking *indexes*, you know like first, second, 
> third, etc. No indexes start at one! And don' go on about how C does 
> it because C doesn't have arrays and indexes it has pointers and 
> offsets, foo[3] is just syntactic sugar for *foo+3. And don't go on 
> about how much easier it is to count from zero, I don't buy that, we 
> can all add and subtract one without problems. Or at least I hope so.
>
> I think the OTP group made a bad decision *indexing* binaries from 
> zero instead of one like the rest of erlang. It is both wrong and 
> makes the system inconsistent.

I can see your point. I tend to think of indexing binaries as "indexing 
char arrays" and everything else as "indexing erlang terms".

>
> So to go on about this but there are some sensible things you can 
> criticize Erlang for and indexing from one is not one of them. (And 
> not really the syntax either, and this comes from the creator of LFE)

IMHO: I think not having zero-based indexing in Erlang was a *big* 
mistake. I can see where it comes from, but still .. it's a pain knowing 
that I have to do +1/-1 to make certain algorithms function properly.

Btw, when you say "the OTP group made a bad decision", exactly who are 
you referring too? Yourself? Isn't these decisions from CS-lab? 
Certainly way before my time =)

// Björn-Egil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130124/f48aa6b7/attachment.htm>


More information about the erlang-questions mailing list