Rename Number.prototype.clz to Math.clz

Brendan Eich brendan at
Thu Jan 16 14:08:55 PST 2014

Kevin Reid wrote:
> On Thu, Jan 16, 2014 at 1:58 PM, Brendan Eich <brendan at 
> <mailto:brendan at>> wrote:
>     Kevin Reid wrote:
>         FWIW: Common Lisp has rigorously transparent (that is, you
>         cannot observe the machine word size) bigints and quite a few
>         binary operations defined on them, so it's where I personally
>         would look for precedent on such questions.
>     (a) we don't have a bignum type yet; (b) we want to JIT to
>     concrete machine types where possible. (b) does not require clz32
>     vs. clz64 in my view, because of type inference or AOT
>     type-checking (asm.js). But we don't want to require bignums.
> Yes, but choices which work for bignum also work for "I am working on 
> 32-bit (or 8-bit or whatever) values which happen to be stored in a 
> larger (53- or 64-bit) field, and the length of the larger field is 
> irrelevant to the task".

Agreed, for integral types.

I remember the Harbison & Steele C book, lots of Common Lispy names, 
like population_count() ;-).


More information about the es-discuss mailing list