Ticket #3279: crash.hs

File crash.hs, 1.1 KB (added by Baughn, 4 years ago)
Line 
1{-# LANGUAGE DeriveDataTypeable #-}
2
3import Control.Concurrent
4import Control.Monad
5import Control.Applicative
6
7import Data.List
8import Data.Typeable
9
10import Control.Exception
11import Prelude hiding(catch)
12import Debug.Trace
13import Data.Monoid
14import Data.Max
15import Data.AddBounds
16
17
18import System.IO.Unsafe
19import System.IO
20import System.Mem
21import System.Mem.Weak
22import Control.Concurrent.MVar
23import Control.Parallel.Strategies
24
25import Data.Unamb
26-- import Data.IsEvaluated
27
28import FRP.Reactive
29import FRP.Reactive.LegacyAdapters
30import FRP.Reactive.PrimReactive
31import FRP.Reactive.Internal.Reactive
32import FRP.Reactive.Internal.Future
33
34
35printFutures e | isNeverE e = print "never-never"
36printFutures (Event (Future (t,a `Stepper` e))) = print (Future (t,a)) >> printFutures e
37
38joinE (Event u) = Event (u >>= eFuture . g)
39 where 
40   g (v `Stepper` vs) = v `mappend` joinE vs
41
42
43main = do
44  hSetBuffering stdout NoBuffering
45  let ev1  = countE_ $ atTimes [2,2.5,3.2,3.7]
46      ev2  = countE_ $ atTimes [1,2.5,3,4]
47      allE = fmap atTime ev1
48  printFutures ev1
49  printFutures $ joinE allE