Mercurial > hg > Members > atton > delta_monad
view haskell/Example/DynamicDelta.hs @ 146:57601209eff3 default tip
Add an example used multi types on Delta
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 24 Mar 2015 17:04:00 +0900 |
parents | |
children |
line wrap: on
line source
module Example.DynamicDelta where import Delta import Data.Dynamic val :: Delta Dynamic val = Delta (toDyn True) (Mono (toDyn ([1,2,3,2,1] :: [Int]))) func :: Dynamic -> Delta Dynamic func x = let funcToBool = toDyn not funcToList = toDyn (sum :: [Int] -> Int) in Delta (dynApp funcToBool x) (Mono (dynApp funcToList x)) firstVal :: Delta Dynamic -> Maybe Bool firstVal = fromDynamic . headDelta secondVal :: Delta Dynamic -> Maybe Int secondVal = fromDynamic . headDelta . tailDelta