Timelike interface for System.Clock (clock library)
root
timelike-clock: Timelike interface for clock
Copyright 2016 Ertugrul Söylemez
Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Introduction
This library provides an explicit type called ClockTime
to represent clock values as read by the clock library together with applicable timelike instances. To use it import its module:
import Data.Time.Class.Clock
The ClockTime
type is parametric over the actual clock type, thus this library requires -XDataKinds
, and most likely at least one of your operations will require an explicit type signature. Example:
t1 <- getTime :: IO (ClockTime Monotonic)
someOperation
t2 <- getTime
let elapsed = diffTime t2 t1