hello and sorry for a late reply.
the reason is simple: the date type was not required _so far_ :-) since a type is a set of values it felt like int and long represent sufficiently good range of values to cover dates, timestamps, etc. however your problem is more to do with tagging an attribute to understand how
to render it. there is a general case solution using the relations themselves, but the date/time types are so frequent that i feel like we need to do something about it.
i can see two options here:
1.) create a built-in type "time". though i would make it a separate type (as opposed to an alias) and allow type conversion to long, int, etc.
2.) allow type aliasing (with v5 syntax):
---
type date long
type Log { msg string, when date }
---
the problem i see here is uncontrolled proliferation of aliases and a significant impact on system interoperability.
- ostap