{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TypeApplications #-}
module TemperatureProvider where
type Methods = '[ '("getTemperatureData", (Location -> Day -> IO Temperature)) ]
type Handle = HandleRec Methods
+
+getTemperatureData :: Handle -> Location -> Day -> IO Temperature
+getTemperatureData = getMethod @"getTemperatureData"
getWeatherData :: Handle -> Location -> Day -> IO WeatherData
getWeatherData = getMethod @"getWeatherData"
-getTemperatureData :: Handle -> Location -> Day -> IO T.Temperature
-getTemperatureData = getMethod @"getTemperatureData"
-
getWindData :: Handle -> Location -> Day -> IO W.WindSpeed
getWindData = getMethod @"getWindData"
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE TypeApplications #-}
module WindProvider where
type Handle = HandleRec Methods
+getWindData :: Handle -> Location -> Day -> IO WindSpeed
+getWindData = getMethod @"getWindData"