Jan Vroonhof <vroonhof(a)math.ethz.ch> writes:
Would it be difficult to have a separate "unsigned integer
type?".
That could still go up to 2^30-1.
That type would have to be an lrecord. Draw your own conclusion.
> That would be the worst possible option. Mule should bring new
> functionality, not cripple XEmacs.
No released XEmacs has that functionality remember?
21.0 does. The very first item under "Lisp and internal changes" in
its NEWS entry.
Note that currently you cripple anyway your XEmacs when you switch
it on, you get an enormous memory overhead on all lisp types.
How does that cripple my XEmacs? It might cripple my system, but not
XEmacs. The same way you could say that image support, variable width
fonts, variable height lines and all that cruft "cripples" my XEmacs
because of an "enormous memory overhead".
We have two competing primitive types. One of them is more or less
naturally limited to 31-bits and for the other the cut-off is
arbitrary. We have only one with 31-bits available, you choose?
I choose integer. There must be other ways of dealing with chars.
We've lived with 8-bit and 19-bit (19! what a number!) chars for quite
a while. Surely a scheme can be devised for them to be thirty bit.
No "scheme" will buy you 31-bit integers except the current one, and
bignums. And bignums are hard.
> I can already hear people saying, "Oh, you need larger
buffers?
> Why, compile without Mule -- everyone sensible does that."
No, the answer would be "use a 64-bit system everyone sensible does
that".
I constructed the hypothetical question and stand by the hypothetical
answer. I'm sure people *do* think that way. Or do you think they
will buy an alpha or ultrasparc rather than compile --without-mule?
In your dreams!
I think the number of cases where you want to edit a 0.75 G file in
XEmacs is extremely low, certainly much lower than the # of people
profiting from full UCS-4 transparency (probably also not a big
group).
Mule is the doom of us all, I can tell.
> > You do not really want to do O(n^2) operations on 1 Gbyte
> > buffers anyway.
>
> You don't. Why do you ask?
Because I think editing a 1 Gbyte buffer in a Mule XEmacs will be so
slow that it doesn't matter much anyway.
Have you tried it? I have tried 600M buffers, and things worked
reasonably fast -- i.e. slow as hell, but workable in case of
emergency.
I still don't understand your remark about O(n^2) operations, though.