git.iko.soy/distributed-process
on master help sign in
Avoid the use of staticClosure
commitf4ac12a3933ccf66e9ee75be689c8b35b9db0b0d authorEdsko de Vries <edsko@edsko.net> dateWed 26 Sep 2012, 16:09 (14 years ago) parentb1854f5
1 file changed+5−3
distributed-process-demos/src/MapReduce/CountWords.hs+5−3
distributed-process-demos/src/MapReduce/CountWords.hs+5−3
@@ -8,7 +8,6 @@ module CountWords
88
99import Control.Distributed.Process
1010import Control.Distributed.Process.Closure
11−import Control.Distributed.Static (staticClosure)
1211import MapReduce hiding (__remoteTable)
1312
1413type Document = String
@@ -30,12 +29,15 @@ dictIn = SerializableDict
3029dictOut :: SerializableDict [(Word, Frequency)]
3130dictOut = SerializableDict
3231
33−remotable ['dictIn, 'dictOut, 'countWords]
32+countWords_ :: () -> MapReduce FilePath Document Word Frequency Frequency
33+countWords_ () = countWords
34+
35+remotable ['dictIn, 'dictOut, 'countWords_]
3436
3537distrCountWords :: [NodeId] -> Map FilePath Document -> Process (Map Word Frequency)
3638distrCountWords mappers input =
3739 distrMapReduce $(mkStatic 'dictIn)
3840 $(mkStatic 'dictOut)
39− (staticClosure $(mkStatic 'countWords))
41+ ($(mkClosure 'countWords_) ())
4042 mappers
4143 (\iteration -> iteration input)