On Wed, Jan 28, 2015 at 5:44 AM, Andreas Rossberg <rossb...@google.com>
wrote:

> On 28 January 2015 at 13:14, Claude Pache <claude.pa...@gmail.com> wrote:
>
>> To me, "finite" is just to be taken in the common mathematical sense of
>> the term; in particular you could have theoretically a string of length
>> 10^10000. But yes, it would be reasonable to restrict oneself to strings of
>> length at most 2^52, so that `string.length` could always return an exact
>> answer.
>>
>
> To me it would be reasonable to restrict oneself to much shorter strings,
> since no existing machine has the memory to represent a string of length
> 2^52, nor will any in the foreseeable future. ;)
>

That's just four petabytes. If present trends...


>
> VMs can always run into out-of-memory conditions. In general, there is no
> way to predict those. Even strings with less then the hard-coded length
> limit might cause you to go OOM. So providing reflection on a constant like
> that might do little but giving a false sense of safety.
>

Yes, OOM is always possible earlier and we can't set any limits on that. I
agree that we shouldn't provide anything like String.MAX_LENGTH. But I also
don't see how we could pleasantly support strings above 2^53. Array indexes
are limited to 2^31 or so, and many integer operations truncate to that
(<<,|), and strings support [] indexing, so it may make sense to agree on
one of those as an *upper bound* -- you may not support strings longer than
that.


-- 
    Cheers,
    --MarkM
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to