小编Ger*_*ger的帖子

在C#中使用高阶Haskell类型

如何使用C#(DLLImport)中的高阶类型签名来使用和调用Haskell函数,如...

double :: (Int -> Int) -> Int -> Int -- higher order function

typeClassFunc :: ... -> Maybe Int    -- type classes

data MyData = Foo | Bar              -- user data type
dataFunc :: ... -> MyData
Run Code Online (Sandbox Code Playgroud)

C#中相应的类型签名是什么?

[DllImport ("libHSDLLTest")]
private static extern ??? foo( ??? );
Run Code Online (Sandbox Code Playgroud)

另外(因为它可能更容易):我如何在C#中使用"未知"Haskell类型,所以我至少可以传递它们,而不知道任何特定类型的C#?我需要知道的最重要的功能是传递类型类(如Monad或Arrow).

我已经知道如何将Haskell库编译为DLL并在C#中使用,但仅适用于一阶函数.我也知道Stackoverflow - 在.NET中调用Haskell函数,为什么GHC不能用于.NEThs-dotnet,我没有找到任何文档和样本(用于C#到Haskell的方向).

c# haskell ffi

27
推荐指数
1
解决办法
1936
查看次数

标签 统计

c# ×1

ffi ×1

haskell ×1