问题标签 [kawa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
13980 浏览

clojure - 为什么 Clojure 优于其他 JVM Lisps:Kawa、Armed Bear 或 SISC?

在 Clojure 出现之前,JVM 已经有了三个 Lisps:KawaArmed BearSISC

Clojure填补了那些 Lisp 留下的空白?

0 投票
1 回答
411 浏览

scheme - 使用 kawa 从 Java 调用方案函数,但返回的列表的一半被省略并替换为三个点 (...)

我编写了以下方案函数,在 Dr Racket 中调用时按预期工作,但使用 kawa 调用时仅返回一半结果。

用于测试的值是:

在 Racket 博士中,它返回正确的结果: (25.0 20.25 16.0 12.25 9.0 6.25 4.0 2.25 1.0 0.25 0.0 0.25 1.0 2.25 4.0 6.25 9.0 12.25 16.0 20.25)

但是使用 kawa 从我们的 Java 应用程序调用它会返回: (25.0 20.25 16.0 12.25 9.0 6.25 4.0 2.25 1.0 0.25 ...)

有谁知道为什么该列表被切断,其中一半被...取代?

我使用 Scheme.eval 来调用函数

更新/解决方案

以下代码解决了我的问题:

0 投票
1 回答
171 浏览

java - 如何将 Kawa 中的计算重写为 Java?

我已经使用 MIT AppInventor 编写了一个简单的计算应用程序,我想将确切的计算集传输到 Java 以用于 Android 应用程序,但它们是不同的框架。所以我尽我所能将计算转移到 Java,如下所示。但是 Java与 Kawa 代码相比,计算是错误的。

有人可以指出 Java 代码与我在 AppInventor 代码中的计算方式不同吗?

这是一组计算的 Kawa 代码,偏移深度、长度和管道深度是用户输入的值:

然后这就是我尝试将该计算转换为 Java 的方式:

tri1,tri2,marking1,marking2 是类型double,用户输入 offsetLength,depth 和ductDepth 也是double

这是应用程序的屏幕截图,因此人们可以更好地理解计算:

主屏幕

结果画面

0 投票
2 回答
19404 浏览

java - 如何将度数计算转换为弧度?(卡瓦到爪哇)

我试图将我使用 MIT AppInventor 制作的应用程序中的计算转换为使用 Java 的 Android。我面临的问题是 Kawa 中计算的三角部分正在使用 degress。我的问题是如何翻译这个计算到Java并得到相同的输出?

这就是我计算 Kawa 的方式,所有变量都是 double 类型:

然后我尽力将它翻译成Java代码,变量也是如上所述的两倍,深度,长度和管道深度是用户输入值。

输入和输出的截图:

在此处输入图像描述

0 投票
1 回答
555 浏览

emacs - 在 Emacs 中使用 Kawa

Emacs 中有 Kawa 的模式或资源吗?我已经检查过,但找不到任何东西。大多数情况下,我希望能够在 Emacs 中运行 Kawa REPL,但某种完成/语法检查也会很棒。

0 投票
2 回答
96 浏览

scheme - 列出目录的内容 (Windows 7)

使用卡瓦 1.14。

我尝试将目录作为文件打开(因为文件存在?报告#t),并使用 read-line 读取“内容”,但它不起作用。我收到“拒绝访问”错误。

0 投票
1 回答
112 浏览

java - JVM 方案抽象语法树访问

在 JVM 上运行了许多 Scheme 实现(例如 JScheme、Kawa)。

它们中的任何一个都支持: a) 与 Java 的双向互操作性。b) 访问 AST 以获取 Scheme 表达式?

0 投票
1 回答
178 浏览

java - 使用 OrientDB 时 Kawa 中的类加载器问题

在使用 Kawa 2.1 和 OrientDB(社区 2.1.10)时,我看到了一些奇怪的类加载问题。我的 CLASSPATH 只包含与 kawa 和 orientdb 相关的 jar。

以下片段:

生成此异常:

我相信 gnu.math.IntNum 实际上已经包含在 Kawa 中,我可以在 Kawa repl 中实例化所述类。知道这里发生了什么吗?非常感谢任何帮助/指针!

0 投票
2 回答
108 浏览

types - (display 8) 的返回类型是什么?/ 什么是空值表达式?

在 Scheme 的Kawa实现中,表达式

(null? ())

显然返回

#t.

但是如果我输入

(null? (display 8))

进入解释器,输出是

8#f

所以它似乎是一个确实有副作用display的函数,即打印值和某种非空返回值。唔。也许回报?毕竟,两者都在交互式解释器中显示。(display 8)88(display 8)8

所以我输入

(= 8 (display 8))

回应是

那么,(display 8)不是 null 而是“无效值”?这意味着什么?我可以像在 Scheme 中一样检查void-valued吗?

另外,为什么8在错误消息之后出现?

0 投票
1 回答
152 浏览

macros - Scheme (Kawa) - 如何在另一个宏中强制宏扩展

我想制作一个宏,当在类定义中使用时会创建一个字段,它是公共设置器和注释。但是,宏似乎没有扩展,主要是因为它在其他(类定义)宏中使用。

这是一个如何定义一个具有一个字段的类的示例:

我的宏(目前仅定义字段):

但是,如果我尝试使用它:

并通过反射查询新类的字段,我可以看到它创建了一个名为 的字段autowire,并且foo无处可见。看起来像宏扩展顺序的问题。