gpt4 book ai didi

在 R 中运行 Racket 代码

转载 作者:行者123 更新时间:2023-12-04 22:59:03 26 4
gpt4 key购买 nike

有没有办法运行Racket来自 R 的代码(R 脚本调用 Racket 代码)?

我在没有任何指示的情况下查看了 Rseek 和其他来源。

最佳答案

最近在 Racket 邮件列表上出现了一个类似的问题,并且有人发布了一个旧线程的链接,其中 Matthew Flatt suggested starting a subprocess and piping .

It looks like Julia doesn't provide a foreign interface (e.g., to call Julia from C). So, I think that you'll have to run Julia in a separate process via process or subprocess and communicate with the process through stdin and stdout.

At Wed, 29 Jan 2014 16:58:29 -0800 (PST), E Comer wrote:

Hi Racket developers, programmers and users:

Is there a way to call a Julia function from DrRacket? [I'm trying to integrate the number crunching capabilities of Julia with the nice graphics of the Plot module in Racket, to study some properties of particular dynamical systems]

Thank you very much for your support.

Enrique



例如,编写一个循环的 Racket 小程序:从标准输入读取,将结果写入标准输出。它读取和写入的格式取决于您。它可以读取 s 表达式(在 Racket 中方便)并输出面向行的结果(在 R 中可能更方便,我不知道)。

然后让 R 作为子进程启动 Racket 程序,并与它的 stdin 和 stdout 对话。

作为相反的一个示例(将 Racket 管道连接到子进程)参见 this Racket "client"this Python "server" subprocess 交谈.不知道R有没有类似Racket的 process ,它为您提供了子进程的标准输入和粗壮。

尽管 FFI 看起来是“正确”的方法,但实际上在高级语言之间编码事物可能具有挑战性。当您考虑到某些特定的互操作时,这通常是矫枉过正的。我的建议是从管道到子流程的方法开始。它通常简单可靠。它可能足以满足您的需求。有时甚至更快。[1]

[1]:作为一些轶事,请查看 GitHub 在其 Ruby 代码中使用用 Python 编写的 Pygments 的历史。曾几何时,他们采用了一些精心设计的方法将 Python 嵌入到 Ruby 中。为了让它更快,他们转而在子进程和管道中运行 Pygments。 (无论如何,这是我对提交历史的理解。)

关于在 R 中运行 Racket 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32144162/

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