source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+[[package]]
+name = "chrono"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2"
+dependencies = [
+ "num-integer",
+ "num-traits 0.2.11",
+ "time",
+]
+
[[package]]
name = "cloudabi"
version = "0.0.3"
[[package]]
name = "prolog_parser"
-version = "0.8.62"
+version = "0.8.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fa8dbe0881bcc9a247db279802701d87bbe9d4c6604bb0e5cad3dd3314f241d"
dependencies = [
"lexical",
"num-rug-adapter",
[[package]]
name = "scryer-prolog"
-version = "0.8.125"
+version = "0.8.126"
dependencies = [
"blake2",
+ "chrono",
"cpu-time",
"crossterm",
"dirs",
"winapi 0.3.8",
]
+[[package]]
+name = "time"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
+dependencies = [
+ "libc",
+ "winapi 0.3.8",
+]
+
[[package]]
name = "typenum"
version = "1.12.0"
*/
:- module(least_time, [find_min_time/2,
- write_time_nl/1]).
+ write_time_nl/1]).
:- use_module(library(dcgs)).
:- use_module(library(format)).
+:- use_module(library(lists)).
:- use_module(library(reif)).
memberd_t(M2, [0,1,2,3,4,5,6,7,8,9], TM2),
( maplist(=(true), [TH1, TH2, TM1, TM2]) ->
( H1 =:= 2 ->
- ( H2 =< 3 ->
- T = true
- ; T = false
- )
+ ( H2 =< 3 ->
+ T = true
+ ; T = false
+ )
; T = true
)
; T = false
find_min_time(Time, Min) :-
valid_time(Time, true),
- permuted_times(Time, PermutedTimes),
- find_min_time_(PermutedTimes, Time, Min).
-
-find_min_time_([], Min, Min).
-find_min_time_([Time|Times], MinSoFar, Min) :-
- ( Time @< MinSoFar ->
- find_min_time_(Times, Time, Min)
- ; find_min_time_(Times, MinSoFar, Min)
- ).
+ permuted_times(Time, [Min|_]).
write_time_nl(Time) :-