是否可以在 Haskell 中创建 PHP 扩展?

2023-12-30

是否可以使用 Haskell 创建 PHP 扩展?

通常 PHP 扩展是使用 C 编写的。使用 Haskell FFI 为存根 C 扩展提供功能是否可行(甚至是一个好主意)?

这种方法有哪些注意事项? Zend 是否会在后台施展一些魔法来破坏这样的计划?


你当然可以做到这一点,尽管我不确定是否有人尝试过。 Haskell 通过以下方式与 C 互操作其FFI机制 http://book.realworldhaskell.org/read/interfacing-with-c-the-ffi.html,你当然可以:

  • 从 C 调用 Haskell http://haskell.org/haskellwiki/Calling_Haskell_from_C

因此,如果您可以从 PHP 调用 C,并且 C 调用 Haskell,那么您就成功了。


你为什么想做这个?也许可以为您的核心算法或安全关键代码提供更快、更安全、简单的代码。或者利用 Haskell 的并行或多核服务器后端。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在 Haskell 中创建 PHP 扩展? 的相关文章

  • 根据 N 个值中最小的一个返回不同的结果

    不确定如何使标题更具描述性 所以我只是从一个例子开始 我使用下面的代码位 它从枚举中选择一个方向 具体取决于四个轴中哪一个与给定方向相比形成最小角度 static Direction VectorToDirection Vector2 di
  • 退出 PHP 脚本后终止或停止 MySQL 查询

    我在工作中运行一个统计服务器 由于运行的查询量很大 该服务器有时会变得非常慢 我们的营销团队使用它作为主要统计工具 团队中的某些人有时会在脚本结束之前退出脚本 通过关闭浏览器或选项卡 同时 SQL 查询继续执行 当有人关闭或离开 PHP 脚
  • 如何在 SqlDataReader.Read() 期间从死锁异常中恢复

    我的 NET 应用程序的事件日志显示 它在从 Sql Server 读取数据时偶尔会出现死锁 这种情况通常非常罕见 因为我们已经优化了查询以避免死锁 但有时仍然会发生 过去 我们在调用ExecuteReader函数在我们的SqlComman
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • Microsoft VS Code:当我尝试启动程序时,出现错误“spawn php ENOENT”

    我正在尝试在 Microsoft VS Code 上运行 PHP 代码 当我单击启动时 唯一发生的事情是调试控制台中出现错误 生成 php ENOENT 为了解决这个问题 我将 XDebug 的 dll 文件放入 ext 文件夹中 我将 p
  • 无法在内存位置找到异常源:cudaError_enum

    我正在尝试确定 Microsoft C 异常的来源 test fft exe 中 0x770ab9bc 处的第一次机会异常 Microsoft C 异常 内存位置 0x016cf234 处的 cudaError enum 我的构建环境是 I
  • 如何分析组合的 python 和 c 代码

    我有一个由多个 python 脚本组成的应用程序 其中一些脚本正在调用 C 代码 该应用程序现在的运行速度比以前慢得多 因此我想对其进行分析以查看问题所在 是否有工具 软件包或只是一种分析此类应用程序的方法 有一个工具可以将 python
  • Laravel 意外错误“类用户包含 3 个抽象方法...”

    在 Laravel 上编写我的身份验证应用程序时 我遇到了一个以前从未见过的错误 我已经集思广益了近一个小时来解决这个问题的原因 但仍然找不到解决方案 Error User 类包含 3 个抽象方法 因此必须声明为抽象方法或实现其余方法 Il
  • 为什么 LinkedIn v2 Share API 在任何 v2/shares 端点上给出权限不足的错误?

    当我调用任何 v2 LinkedIn 共享 API 端点时 例如https api linkedin com v2 socialActions https api linkedin com v2 socialActions share UR
  • Monolog,如何将 PHP 数组记录到控制台?

    我正在使用浏览器处理程序将消息记录到 JS 控制台 require once vendor autoload php use Monolog Logger use Monolog Handler BrowserConsoleHandler
  • 通过php将mp3转换为ogg

    我有一个网站 用户可以上传音乐并将其转换为 mp3 但我需要 mp3 和 ogg 文件支持才能以 html5 播放音乐 那么 有没有可以将mp3转换为ogg的php脚本呢 使用 ffmpeg 您可以直接从 php 脚本执行命令
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • 您是否将信息添加到每个 .hpp/.cpp 文件的顶部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 创建新的 C 头文件 源文件时 您会在顶部添加哪些信息 例如 您是否添加日期 您的姓名 文件描述等 您是否使用结构化格式来存储此信息 e g F
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • preg_match 所有以@开头的单词?

    我对正则表达式不太确定 所以我不得不问你 如何用 PHP 判断字符串中是否包含以 开头的单词 例如我有一个像 This is for codeworxx 这样的字符串 我很抱歉 但我没有任何起点 希望你能帮忙 谢谢 萨沙 好的 谢谢你的结果
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • OSX:启动应用程序的多个实例并向它们传递命令行参数

    有一个程序我需要多次启动并每次传递不同的参数 为此 我尝试编写一个简单的 python 脚本 如下所示 import sys os from os path import join This works but will not launc
  • 是否有 java 实用程序可以生成 http 多部分响应?

    我正在构建一个返回多部分响应的网络服务 我知道构建多部分响应的格式 如果我找不到现有的工具 我将构建自己的工具 也许我只是需要有关我的 google foo 的帮助 我发现的所有内容都是关于发布或使用多部分消息 没有关于生成多部分响应的内容
  • 如何在 webview 中显示无互联网连接对话框 |安卓工作室

    我正在尝试在网络视图中添加一条消息 当您没有互联网连接时 该消息应该会出现 我尝试了很多方法 但总是犯一个我不明白的错误 我创建了一个名为 assets 的文件夹 并按照 YouTube 教程添加了一个文件 error html 但它给了我
  • PHP crypt 和 salt - 请更多说明

    我昨天在这里得到了一些非常好的答案 我把我得到的东西放在一起 我认为这将是一个相当安全的算法 我在使用带有生成盐的 for 循环的河豚时遇到问题 我使用 base64 字符和 for 循环来获取随机字符串 我想获取这个生成的字符串并将其作为
  • Rails:无法访问我的 lib 目录中的模块

    我想创建一个通用字符串操作类 可以在我的 Rails 应用程序中的模型 视图和控制器之间使用 现在 我正在尝试将模块放入我的 lib 目录中 并且我只是尝试访问 Rails 控制台中的函数来测试它 我已经尝试了很多类似问题中的技术 但我无法
  • NSDate:获取独立于设备时钟的精确时间? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在应用程序运行之间本地检测用户的 iPhone 时钟进度 https stackoverflow com questions 7122216 how can i locally detect ip
  • Ruby On Rails - 地理编码器 - 接近条件

    我在我的应用程序中使用 GeoCoder 现在我需要在数据库中搜索靠近某个位置或具有特定属性集的对象 我想在一个数据库查询中执行此操作 因为数据库确实很大 我想要有类似的东西 Spot near lat long distance wher
  • 硬币组合的完整搜索算法

    该问题与硬币找零问题类似 但略有不同 问题描述为 你有一组硬币 并且你知道这些硬币的价值以及其中每种硬币的数量 您想知道可以从这些硬币的非空分组中赚取多少不同的金额 例如coins 1 2 3 和数量 1 2 2 有 11 种可能的和 基本
  • Laravel:外观实际上在调用方法时创建新对象吗?

    我有一个演示类 通常通过 this gt app gt bind demo function return new Demo 设立一个门面 protected static function getFacadeAccessor return
  • 在 R 中保存并重新加载“列表”对象

    我正在尝试将我手动创建的列表对象保存到以下内容中list我可以很快参考的格式 保存的对象应该能够作为list not df或任何东西 下面是我的列表对象的一部分 citations lt list as integer c 1 2 3 4
  • 任务管理器显示内存泄漏,但堆快照没有

    我每 5 秒运行一次大量 JavaScript 任务管理器显示内存使用量不断增加 然而堆快照却没有 如果我停止脚本 大约半分钟两分钟后内存将被清除 UPDATE 如果我长时间离开脚本 内存就会增加 直到浏览器崩溃 我还尝试运行 chrome
  • PostgreSQL 对文本数组值的查询

    我有一个表 其中一列有一个数组 但以文本格式存储 mytable id ids 1 3 4 2 3 5 3 3 etc 我想找到数组元素中值为 5 的所有记录ids column 我试图通过使用 字符串到数组 功能并删除 符号与transl
  • 在 NGRX 上的 ActionsSubject 订阅上使用操作的有效负载

    我又旧又坏Property payload does not exist on type Action执行此操作订阅 由于是创建操作 我需要有效负载来签出userId最近创建的用户并导航到 users userId 顺便说一句 我正在关注这
  • 删除测试期间生成的 id

    对于负载测试vu阶段我生成了很多具有唯一 ID 的对象 并将它们放入数据库中 我想在期间删除它们teardown阶段以免污染数据库 当保持这样的状态时 let ids export function setup ids push put i
  • 实现大型文本文件阅读器的最佳策略

    我们有一个应用程序将其处理步骤记录到文本文件中 这些文件在实施和测试期间用于分析问题 每个文件的大小最大为 10MB 最多包含 100 000 行文本 目前 对这些日志的分析是通过打开文本查看器 Notepad 等 并根据问题查找特定字符串
  • ctypes 与 _ctypes - 为什么后者存在?

    我最近了解到Python不仅有一个名为ctypes 其中有一个文档页面 https docs python org library ctypes html 还有一个名为 ctypes which doesn t https docs pyt
  • Android 无需 USB 调试

    我使用 Eclipse 我想使用我的设备调试我的应用程序 但又不损坏其电池 因为我应该始终在电池尚未放电时为其充电 是否可以在不通过 USB 连接的情况下将设备连接到 adb 我尝试使用 logcat 应用程序 但有点不舒服 我搜索了一个不
  • Rails STI,子类除非使用否则不会显示?

    我正在使用 Rails STI 对复杂域进行建模 在视图中 我列出了所有子类 gt li gt li 目的是最终使子类的每个标签都成为指向该子类实例的单独 索引 页面的链接 这使我不必自己拥有所有可能的子类的列表 如果我添加更多子类 则稍后
  • 在 Jest 中调试内存泄漏需要遵循哪些步骤?

    我在 Jest 中的测试似乎正在泄漏 调试此类问题的建议步骤是什么 我对这类问题很陌生 正如你所看到的 我尝试过传入Jest 中记录的选项 https jestjs io docs en cli html forceExit detectO
  • 是否可以在 Haskell 中创建 PHP 扩展?

    是否可以使用 Haskell 创建 PHP 扩展 通常 PHP 扩展是使用 C 编写的 使用 Haskell FFI 为存根 C 扩展提供功能是否可行 甚至是一个好主意 这种方法有哪些注意事项 Zend 是否会在后台施展一些魔法来破坏这样的