rpc-framework:在Haskell中远程方法调用框架

jopen 11年前

这是一个框架用于在Haskell中远程过程调用。

特性:

  • 用法非常简单

  • 调用一个远程方法是类型安全的Calling a remote procedure is type safe.

  • Modal logic inspired worlds, aka hosts:

    • Services run from the World IO monad, written Host w => WIO w
    • This allows world specific actions: if one world will be compiled to JS and one to x86, we could have the following types
    </li> </ul>
        putStrLn :: IO_World w => WIO w a     installTextBox :: JS_World w => WIO w () 
    • Arbitrily complex remote procedures:
      • Rather than only being able to call a remote function of one argument, we can call with any number of arguments
      </li> </ul>
          foo :: (Sendable a1 ,..., Sendable aN, Sendable b, Host w) => a1 -> ... -> aN -> WIO w b 
      • It can send pure functions across the wire and now garbage collect them.
          instance (Serializable a) => Sendable a a           instance (Sendable a' a, Sendable b b') => Sendable (a -> b) (a' -> IO b') 
      • Only local code can execute

        • unlike some modal logic aproaches to mobile languages, the only code that can be executed is the code you compiled, and not code passed from world to world
        </li>
      • State can be serialized with references.

      • </ul>

        项目主页:http://www.open-open.com/lib/view/home/1355467086372