SMLでの時刻の扱い
便乗。
さすがにSML/NJだと普通に出来る。
$ rlwrap sml Standard ML of New Jersey v110.72 [built: Tue Aug 24 10:47:04 2010] - Time.now(); val it = TIME {usec=1371522289223904} : Time.time - Date.fromTimeLocal(Time.now()); val it = DATE {day=18,hour=11,isDst=SOME false,minute=24,month=Jun,offset=NONE, second=57,wday=Tue,yday=168,year=2013} : Date.date - Date.fmt "%Y-%m-%d %H:%M:%S" (Date.fromTimeLocal(Time.now())); val it = "2013-06-18 11:25:00" : string
SML#だと…
$ smlsharp SML# version 1.2.0 (2012-11-14 18:25:26 JST) for x86-mingw # Time.now(); val it = _ : Time.time # Date.fromTimeLocal(Time.now()); Runtime system error: FIXME: Date.fromTimeLocal: not implemented yet # Date.fromTimeLocal; (* エラー起きない *) val it = fn : Time.time -> Date.date
('A`)…
意外とBasisが揃ってなかったり…。ちなみにこのパターンの実装されてない関数は引数を与えて評価しないとエラー起きないので注意しましょう。普通にコンパイル出来ちゃいます。