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