Is SWI-Prolog Year-2000 compliant?
SWI-Prolog itself dows not do a lot with dates. It only uses them to support the make/0 predicate for reloading all files that have been modified since they were loaded the last time. It provides a few predicates for time representation and manipulation. Time/date is represented in two formats: as POSIX time-stamp and in a double-precision float reprenting seconds like POSIX time-stamp. The POSIX time-stamp is a signed long int representing seconds after the start of the year 1970. This representation overflows at 19 january 2038 on 32-bit machines and long after the end of our solar system on 64-bit machines. Conversion is done using standard POSIX time conversion routines. Whether or not these are Y2K compliant depends on the libraries being used to compile and/or run SWI-Prolog. Unless agreed explicitely otherwise, there is no waranty of any kind on SWI-Prolog and therefore this statement just reflects the status `to the best of our knowledge’.