Default value for date/time
Stephen Colebourne
scolebourne at joda.org
Wed May 9 07:01:06 UTC 2018
On 9 May 2018 at 01:59, Brian Goetz <brian.goetz at oracle.com> wrote:
>>
>> Whats the default Currency? USD is a not an acceptable answer. Money
>> is the same as it can't exist without a currency.
>
> This is the point we’ve been trying to make. Some types (like Complex) have a natural default (zero), others do not. So the VM provides a uniform treatment — and then the class can be coded to interpret the default value whichever way makes sense for the domain. If Complex has a natural zero, then you need not do anything special. If Currency has no natural default, then a Currency whose bit pattern is the default bit pattern should be coded so its methods throw.
I see how this is a rational point in the JVM design space, just
remarking that I don't think its a particularly attractive one at the
coder's level from what I've seen so far (but its early, things can
change).
On 9 May 2018 at 01:53, Gil Tene <gil at azul.com> wrote:
> Perhaps “works like a double” is a better analogy? Doubles have NaNs. Dates can have NaDs.
Yes, a better analogy, though not perfect.
On 9 May 2018 at 01:47, John Rose <john.r.rose at oracle.com> wrote:
>> Whats the default Currency? USD is a not an acceptable answer. Money
>> is the same as it can't exist without a currency.
>>
>> What about a Distance object? Is it measured in Miles or Kilometers by default?
>
> Thanks, I get it now.
FWIW having slept on it, if Currency had to have a default, it could
be XXX, which means "no currency".
> You are asking for a certain kind of
> mashup between objects and primitives, which is understandable,
I'm trying to not ask for something specific given I don't appreciate
all the trade offs. Instead, I'm trying to express feelings/reactions
which may or may not help guide you :-)
thanks
Stephen
More information about the valhalla-dev
mailing list