* [Caml-list] date - waiting for 64-bit (was: Gripes with array)
@ 2004-09-09 11:55 Samuel Lelievre
2004-09-09 12:21 ` Basile Starynkevitch [local]
2004-09-09 16:12 ` [Caml-list] date - waiting for 64-bit (was: Gripes with array) james woodyatt
0 siblings, 2 replies; 7+ messages in thread
From: Samuel Lelievre @ 2004-09-09 11:55 UTC (permalink / raw)
To: Caml-list
Ville-Pertti Keinonen wrote:
>...and personally I hope we'll all be migrating to 64-bit
>architectures soon, anyhow.
In the meanwhile, is there a way to work around the following?
------------------------------------------------------------------
> Caml Light version 0.75
##open "unix";;
#time ();;
- : int = -1052752875
#gmtime (time ());;
- : tm =
{tm_sec = 51; tm_min = 38; tm_hour = 8; tm_mday = 22; tm_mon = 7;
tm_year = 36; tm_wday = 6; tm_yday = 234; tm_isdst = false}
#
------------------------------------------------------------------
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] date - waiting for 64-bit (was: Gripes with array)
2004-09-09 11:55 [Caml-list] date - waiting for 64-bit (was: Gripes with array) Samuel Lelievre
@ 2004-09-09 12:21 ` Basile Starynkevitch [local]
2004-09-09 13:20 ` [Caml-list] date - waiting for 64-bit Samuel Lelievre
2004-09-09 16:12 ` [Caml-list] date - waiting for 64-bit (was: Gripes with array) james woodyatt
1 sibling, 1 reply; 7+ messages in thread
From: Basile Starynkevitch [local] @ 2004-09-09 12:21 UTC (permalink / raw)
To: caml-list
On Thu, Sep 09, 2004 at 01:55:47PM +0200, Samuel Lelievre wrote:
> Ville-Pertti Keinonen wrote:
>
> >...and personally I hope we'll all be migrating to 64-bit
> >architectures soon, anyhow.
>
> In the meanwhile, is there a way to work around the following?
>
> ------------------------------------------------------------------
> > Caml Light version 0.75
>
> ##open "unix";;
> #time ();;
> - : int = -1052752875
> #gmtime (time ());;
> - : tm =
> {tm_sec = 51; tm_min = 38; tm_hour = 8; tm_mday = 22; tm_mon = 7;
> tm_year = 36; tm_wday = 6; tm_yday = 234; tm_isdst = false}
> #
I suggest to switch to Ocaml (even on a 32 bits machine)
% ocaml
Objective Caml version 3.08.0
# #load "unix.cma";;
# Unix.time ();;
- : float = 1094732223.
# Unix.gmtime (Unix.time ());;
- : Unix.tm =
{Unix.tm_sec = 16; Unix.tm_min = 17; Unix.tm_hour = 12; Unix.tm_mday = 9;
Unix.tm_mon = 8; Unix.tm_year = 104; Unix.tm_wday = 4; Unix.tm_yday = 252;
Unix.tm_isdst = false}
#
I am not sure that staying in Caml Light is a sensible thing to do,
especially for code that you are working on. Maybe taking the
necessary time to port your code from Caml-Light (which is not active
anymore) to Ocaml (which is actively developped and has a bigger
community) is really worth the effort.
--
Basile STARYNKEVITCH -- basile dot starynkevitch at inria dot fr
Project cristal.inria.fr - temporarily
http://cristal.inria.fr/~starynke --- all opinions are only mine
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] date - waiting for 64-bit
2004-09-09 12:21 ` Basile Starynkevitch [local]
@ 2004-09-09 13:20 ` Samuel Lelievre
2004-09-09 13:44 ` Basile Starynkevitch [local]
2004-09-09 13:49 ` Marcin 'Qrczak' Kowalczyk
0 siblings, 2 replies; 7+ messages in thread
From: Samuel Lelievre @ 2004-09-09 13:20 UTC (permalink / raw)
To: Caml-list
Basile Starynkevitch wrote:
>I suggest to switch to Ocaml (even on a 32 bits machine)
>
>% ocaml
> Objective Caml version 3.08.0
>
># #load "unix.cma";;
># Unix.time ();;
>- : float = 1094732223.
># Unix.gmtime (Unix.time ());;
>- : Unix.tm =
>{Unix.tm_sec = 16; Unix.tm_min = 17; Unix.tm_hour = 12; Unix.tm_mday = 9;
> Unix.tm_mon = 8; Unix.tm_year = 104; Unix.tm_wday = 4; Unix.tm_yday = 252;
> Unix.tm_isdst = false}
>#
>
>I am not sure that staying in Caml Light is a sensible thing to do,
>especially for code that you are working on. Maybe taking the
>necessary time to port your code from Caml-Light (which is not active
>anymore) to Ocaml (which is actively developped and has a bigger
>community) is really worth the effort.
Do you mean that the integers of type int are not mod 2^31 in Ocaml?
That's certainly an argument to make me make my mind to switch,
which I was postponing forever, having failed to translate my
simple programs to Ocaml (I have to confess I did not try hard).
I learnt how to use the "num" library in order to deal with larger
integers than 2^30, but if Ocaml makes it simpler...
I was sticking to the advice on
http://caml.inria.fr/ocaml/bigpicture.html
Should I switch from Caml Light to Objective Caml?
Caml Light is still maintained, though no longer actively
developed. We make bug-fix releases from time to time and
still provide support for it. It provides a more stable
programming environment than Objective Caml, which is still
evolving, though at a slower pace than immediately after its
introduction.
If you're perfectly happy with Caml Light, value reliability
more than performance, don't need the new module system, don't
need the new object stuff, then stay with Caml Light. If you
need objects, powerful modules, the native-code compiler, or
just like being on the cutting edge, go for Objective Caml.
Samuel Lelievre
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] date - waiting for 64-bit
2004-09-09 13:20 ` [Caml-list] date - waiting for 64-bit Samuel Lelievre
@ 2004-09-09 13:44 ` Basile Starynkevitch [local]
2004-09-09 14:03 ` Marcin 'Qrczak' Kowalczyk
2004-09-09 13:49 ` Marcin 'Qrczak' Kowalczyk
1 sibling, 1 reply; 7+ messages in thread
From: Basile Starynkevitch [local] @ 2004-09-09 13:44 UTC (permalink / raw)
To: caml-list
On Thu, Sep 09, 2004 at 03:20:38PM +0200, Samuel Lelievre wrote:
> Basile Starynkevitch wrote:
> >I suggest to switch to Ocaml (even on a 32 bits machine) ...
>
> Do you mean that the integers of type int are not mod 2^31 in Ocaml?
You have four integer types in Ocaml: int (on 31 bits), Int32.t (on 32
bits) and Int64.t (on 64 bits) and NativeInt.t (32 bits on 32 bits
machine, 64 bits on 64 bits machines). The details and tradeoffs are
documented.
But the current date & time, as returned by Unix.time, is a *floating
point* number, and Unix.gmtime take a floating point number as an
arguments (so there won't be any Y2K or 2038 problem because of
Ocaml's fault in the foreseeable future, long after we are all back to
dust - not even bare bones). Floating point are enough for time
representation on both 32 and 64 bits machine.
> That's certainly an argument to make me make my mind to switch,
> which I was postponing forever, having failed to translate my
> simple programs to Ocaml (I have to confess I did not try hard).
I am suggesting to try harder. Using Ocaml is IMHO much better than
using CamlLight. OReilly has a very good french book on Ocaml
programming.
--
Basile STARYNKEVITCH -- basile dot starynkevitch at inria dot fr
Project cristal.inria.fr - temporarily.
http://cristal.inria.fr/~starynke --- all opinions are only mine
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] date - waiting for 64-bit
2004-09-09 13:20 ` [Caml-list] date - waiting for 64-bit Samuel Lelievre
2004-09-09 13:44 ` Basile Starynkevitch [local]
@ 2004-09-09 13:49 ` Marcin 'Qrczak' Kowalczyk
1 sibling, 0 replies; 7+ messages in thread
From: Marcin 'Qrczak' Kowalczyk @ 2004-09-09 13:49 UTC (permalink / raw)
To: Samuel Lelievre; +Cc: Caml-list
Samuel Lelievre <samuel.lelievre@free.fr> writes:
>># Unix.time ();;
>>- : float = 1094732223.
> Do you mean that the integers of type int are not mod 2^31 in Ocaml?
They are. But Unix.time() is a float.
--
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] date - waiting for 64-bit
2004-09-09 13:44 ` Basile Starynkevitch [local]
@ 2004-09-09 14:03 ` Marcin 'Qrczak' Kowalczyk
0 siblings, 0 replies; 7+ messages in thread
From: Marcin 'Qrczak' Kowalczyk @ 2004-09-09 14:03 UTC (permalink / raw)
To: Basile Starynkevitch [local]; +Cc: caml-list
"Basile Starynkevitch [local]" <basile.starynkevitch@inria.fr> writes:
> You have four integer types in Ocaml: int (on 31 bits), Int32.t (on 32
> bits) and Int64.t (on 64 bits) and NativeInt.t (32 bits on 32 bits
> machine, 64 bits on 64 bits machines). The details and tradeoffs are
> documented.
int has 63 bits on 64-bit machines.
--
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Caml-list] date - waiting for 64-bit (was: Gripes with array)
2004-09-09 11:55 [Caml-list] date - waiting for 64-bit (was: Gripes with array) Samuel Lelievre
2004-09-09 12:21 ` Basile Starynkevitch [local]
@ 2004-09-09 16:12 ` james woodyatt
1 sibling, 0 replies; 7+ messages in thread
From: james woodyatt @ 2004-09-09 16:12 UTC (permalink / raw)
To: Caml List
On 09 Sep 2004, at 04:55, Samuel Lelievre wrote:
>
> In the meanwhile, is there a way to work around the following?
>
> ------------------------------------------------------------------
>> Caml Light version 0.75
>
> ##open "unix";;
> #time ();;
> - : int = -1052752875
> #gmtime (time ());;
> - : tm =
> {tm_sec = 51; tm_min = 38; tm_hour = 8; tm_mday = 22; tm_mon = 7;
> tm_year = 36; tm_wday = 6; tm_yday = 234; tm_isdst = false}
> #
> ------------------------------------------------------------------
Shameless promotion: after you migrate away from Caml Light to OCaml
3.08.1, you may want to have a look at the Cf library in OCaml NAE
project on SF.Net <URL:http://www.sf.net/projects/ocnae/>, where you
will find an implementation of Daniel Bernstein's TAI64 time
representation.
If you are serious about working with values of standard time, then the
Unix time functions are not your friends. They have lots of twisty
little constraints on the utility of the values they give and take that
are not at all intuitive.
--
j h woodyatt <jhw@wetware.com>
markets are only free to the people who own them.
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-09-09 16:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-09 11:55 [Caml-list] date - waiting for 64-bit (was: Gripes with array) Samuel Lelievre
2004-09-09 12:21 ` Basile Starynkevitch [local]
2004-09-09 13:20 ` [Caml-list] date - waiting for 64-bit Samuel Lelievre
2004-09-09 13:44 ` Basile Starynkevitch [local]
2004-09-09 14:03 ` Marcin 'Qrczak' Kowalczyk
2004-09-09 13:49 ` Marcin 'Qrczak' Kowalczyk
2004-09-09 16:12 ` [Caml-list] date - waiting for 64-bit (was: Gripes with array) james woodyatt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox