gpt4 book ai didi

java - Java 中的 GUI,SML 中的后端?

转载 作者:搜寻专家 更新时间:2023-10-30 23:00:39 26 4
gpt4 key购买 nike

我是函数式编程语言(即标准 ML 及其方言)的忠实粉丝,主要是因为它们的表现力允许非常简洁、干净的代码。我可以使用 ML 比使用 Java 更快地解决许多问题。

但是,Java 在编程 GUI 方面确实很棒 (->SWT)。我绝对不想用函数式语言来做到这一点。

这让我们想到了我的实际问题:是否有一种用 ML 编写程序然后用 Java 编写的 GUI 包装它的好方法?

到目前为止我想出的是:

  • 编译 ML 程序(例如使用 MLton 或 Poly ML)并执行二进制文件来自 Java 的外部程序( http://www.rgagnon.com/javadetails/java-0014.html ).
    问题:前端/后端可以通信的唯一方式是通过字符串。这可能需要大量(困难的)编码/解码。
  • 使用 JNI/JNA。根据我的阅读,这将允许您传输整数、数组等。我认为外部程序必须用 C/C++ 编写才能工作。与 MLton 的 Foreign Function Interface我可以用 C 为我的功能程序编写一个接口(interface),然后静态链接整个程序。
    问题:显然,这只适用于动态库,即 Windows 中的 dll。然而,MLton 只会让我将 ML/C 程序编译成可执行文件。在尝试创建 dll 时,我遇到了一大堆错误。

有没有人有这方面的经验?有更好的方法吗?
提前致谢! -斯蒂芬

编辑:我知道 Scala 试图将函数式编程的概念引入 Java。我已经尝试过了,但我认为它无法与实际的函数式编程语言竞争(在表现力方面)

最佳答案

这不是确切的答案,但有一种函数式语言非常面向 JVM:Yeti

因此,如果您喜欢用 ML 编码而不是目前您可以在 JVM 上完成的工作,那么它当然可以与所有 Java API 很好地集成。

关于java - Java 中的 GUI,SML 中的后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877842/

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