gpt4 book ai didi

Haskell:通过在 C 函数中创建代数数据类型进行编码

转载 作者:行者123 更新时间:2023-12-01 03:45:07 27 4
gpt4 key购买 nike

是否可以在 C 中进行所有数据编码,直接生成代数数据类型并将它们推回 Haskell 领域?我想通过制作中间 C API/结构布局来避免做两次工作(和数据复制),然后不得不通过 Storable 接口(interface)在 Haskell 中再次编码。

我正在处理来自功能性 DSL 的第三方数据编码(marshal)系统,该系统通过调用一组 C 函数指针回调将其内部结构映射到用户定义的类型来再现抽象语法树。

最佳答案

这是可能的,但更痛苦。 Haskell 有更好的编码设施,所以几乎所有时间在 Haskell 方面都更容易做。

如果你想从 C 调用 Haskell 数据构造函数,你需要使用 FFI foreign export您要调用的函数。此处介绍:https://www.haskell.org/haskellwiki/Calling_Haskell_from_C

关于Haskell:通过在 C 函数中创建代数数据类型进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27645628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com