on develop help sign in
Evaluate newTag results strictly, to avoid thunk buildup
commit46304b448b4646b0d74e7b17c69a6d4ce21e5d25 authorRyan Trinkle <ryan.trinkle@gmail.com> dateMon 20 Feb 2017, 03:46 (10 years ago) parent20b150a
1 file changed+2−1
src/Reflex/Requester/Base.hs+2−1
src/Reflex/Requester/Base.hs+2−1
@@ -1,5 +1,6 @@
11-- | This module provides 'RequesterT', the standard implementation of
22-- 'Requester'.
3+{-# LANGUAGE BangPatterns #-}
34{-# LANGUAGE CPP #-}
45{-# LANGUAGE ExistentialQuantification #-}
56{-# LANGUAGE FlexibleInstances #-}
@@ -69,7 +70,7 @@ instance (Reflex t, PrimMonad m) => Requester t (RequesterT t request response m
6970 type Request (RequesterT t request response m) = request
7071 type Response (RequesterT t request response m) = response
7172 withRequesting a = do
72− t <- lift newTag
73+ !t <- lift newTag --TODO: Fix this upstream
7374 s <- RequesterT ask
7475 (req, result) <- a $ select s $ WrapArg t
7576 RequesterT $ tellEvent $ fmapCheap (DMap.singleton t) req