问题标签 [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.
clojure - 为什么 Clojure 优于其他 JVM Lisps:Kawa、Armed Bear 或 SISC?
在 Clojure 出现之前,JVM 已经有了三个 Lisps:Kawa、Armed Bear和SISC。
Clojure填补了那些 Lisp 留下的空白?
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 来调用函数
更新/解决方案
以下代码解决了我的问题:
java - 如何将 Kawa 中的计算重写为 Java?
我已经使用 MIT AppInventor 编写了一个简单的计算应用程序,我想将确切的计算集传输到 Java 以用于 Android 应用程序,但它们是不同的框架。所以我尽我所能将计算转移到 Java,如下所示。但是 Java与 Kawa 代码相比,计算是错误的。
有人可以指出 Java 代码与我在 AppInventor 代码中的计算方式不同吗?
这是一组计算的 Kawa 代码,偏移深度、长度和管道深度是用户输入的值:
然后这就是我尝试将该计算转换为 Java 的方式:
tri1,tri2,marking1,marking2 是类型double
,用户输入 offsetLength,depth 和ductDepth 也是double
这是应用程序的屏幕截图,因此人们可以更好地理解计算:
java - 如何将度数计算转换为弧度?(卡瓦到爪哇)
我试图将我使用 MIT AppInventor 制作的应用程序中的计算转换为使用 Java 的 Android。我面临的问题是 Kawa 中计算的三角部分正在使用 degress。我的问题是如何翻译这个计算到Java并得到相同的输出?
这就是我计算 Kawa 的方式,所有变量都是 double 类型:
然后我尽力将它翻译成Java代码,变量也是如上所述的两倍,深度,长度和管道深度是用户输入值。
输入和输出的截图:
emacs - 在 Emacs 中使用 Kawa
Emacs 中有 Kawa 的模式或资源吗?我已经检查过,但找不到任何东西。大多数情况下,我希望能够在 Emacs 中运行 Kawa REPL,但某种完成/语法检查也会很棒。
scheme - 列出目录的内容 (Windows 7)
使用卡瓦 1.14。
我尝试将目录作为文件打开(因为文件存在?报告#t),并使用 read-line 读取“内容”,但它不起作用。我收到“拒绝访问”错误。
java - JVM 方案抽象语法树访问
在 JVM 上运行了许多 Scheme 实现(例如 JScheme、Kawa)。
它们中的任何一个都支持: a) 与 Java 的双向互操作性。b) 访问 AST 以获取 Scheme 表达式?
java - 使用 OrientDB 时 Kawa 中的类加载器问题
在使用 Kawa 2.1 和 OrientDB(社区 2.1.10)时,我看到了一些奇怪的类加载问题。我的 CLASSPATH 只包含与 kawa 和 orientdb 相关的 jar。
以下片段:
生成此异常:
我相信 gnu.math.IntNum 实际上已经包含在 Kawa 中,我可以在 Kawa repl 中实例化所述类。知道这里发生了什么吗?非常感谢任何帮助/指针!
types - (display 8) 的返回类型是什么?/ 什么是空值表达式?
在 Scheme 的Kawa实现中,表达式
(null? ())
显然返回
#t
.
但是如果我输入
(null? (display 8))
进入解释器,输出是
8#f
所以它似乎是一个确实有副作用display
的函数,即打印值和某种非空返回值。唔。也许回报?毕竟,两者都在交互式解释器中显示。(display 8)
8
8
(display 8)
8
所以我输入
(= 8 (display 8))
回应是
那么,(display 8)
不是 null 而是“无效值”?这意味着什么?我可以像在 Scheme 中一样检查void-valued吗?
另外,为什么8
在错误消息之后出现?
macros - Scheme (Kawa) - 如何在另一个宏中强制宏扩展
我想制作一个宏,当在类定义中使用时会创建一个字段,它是公共设置器和注释。但是,宏似乎没有扩展,主要是因为它在其他(类定义)宏中使用。
这是一个如何定义一个具有一个字段的类的示例:
我的宏(目前仅定义字段):
但是,如果我尝试使用它:
并通过反射查询新类的字段,我可以看到它创建了一个名为 的字段autowire
,并且foo
无处可见。看起来像宏扩展顺序的问题。