Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Main where
- import Network.MessagePackRpc.Server
- import Control.Monad
- import Control.Monad.IO.Class
- import Data.MessagePack
- import Data.MessagePack.Object
- import qualified Data.Hashable as HK
- import qualified Data.HashTable.IO as H
- --type HashTable k v = H.BasicHashTable k v
- type HashTable k = H.BasicHashTable k Object
- --set :: (HK.Hashable k, Eq k) => HashTable k -> k -> Object -> IO ()
- set :: HashTable Int -> Int -> Object -> IO ()
- set k v = H.insert h k v
- get :: (HK.Hashable k, Eq k) => HashTable k -> k -> IO (Maybe Object)
- get h k = H.lookup h k
- -- objct2Hash :: (HK.Hashable h) => (Object h) -> h
- --objct2Hash (ObjectBool b) = b
- --objct2Hash (ObjectInteger i) = i
- -- objct2Hash (ObjectFloat f) = f
- -- objct2Hash (ObjectDouble d) = d
- server port =
- do { hash <- H.newSized 1000
- ; serve port [ ("set", fun (\ k v ->
- Main.set hash k v))
- , ("get", fun (\ k ->
- Main.get k))
- ]
- }
Add Comment
Please, Sign In to add comment