@@ -1,5 +1,6 @@
1-- | This module provides 'RequesterT', the standard implementation of
1-- | This module provides 'RequesterT', the standard implementation of
2-- 'Requester'.
2-- 'Requester'.
3+{-# LANGUAGE BangPatterns #-}
3{-# LANGUAGE CPP #-}
4{-# LANGUAGE CPP #-}
4{-# LANGUAGE ExistentialQuantification #-}
5{-# LANGUAGE ExistentialQuantification #-}
5{-# LANGUAGE FlexibleInstances #-}
6{-# LANGUAGE FlexibleInstances #-}
@@ -69,7 +70,7 @@ instance (Reflex t, PrimMonad m) => Requester t (RequesterT t request response m
69 type Request (RequesterT t request response m) = request
70 type Request (RequesterT t request response m) = request
70 type Response (RequesterT t request response m) = response
71 type Response (RequesterT t request response m) = response
71 withRequesting a = do
72 withRequesting a = do
72− t <- lift newTag
73+ !t <- lift newTag --TODO: Fix this upstream
73 s <- RequesterT ask
74 s <- RequesterT ask
74 (req, result) <- a $ select s $ WrapArg t
75 (req, result) <- a $ select s $ WrapArg t
75 RequesterT $ tellEvent $ fmapCheap (DMap.singleton t) req
76 RequesterT $ tellEvent $ fmapCheap (DMap.singleton t) req