问题标签 [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 投票
1 回答
125 浏览

java - 有没有办法在 Kawa 中直接循环 Java Iterable,或者在 java.util.Iterator 上循环

我还没有找到使用 Java 互操作在 Kawa (方案)中直接循环 Java java.lang.Iterable 或 java.util.Iterator 的方法

我可以使用我的 Java java.lang.Iterable,然后在我的java.util.Iterator和使用递归命名的项目上循环let

代码运行并列出 REPL 中的所有项目,但必须有一种方法可以直接在Iterableor 迭代器上循环。

注意:我刚刚意识到我的递归“let”是非常错误的(如果迭代器hasNext方法在输入时返回 false,它将失败,因为我通过调用 next 而不首先检查它来初始化块项目,hasNext并且它不会打印所有项目)但是这部分该代码对于回答问题并不是必不可少的,并且可以修复(我现在时间不多了,但我明天会尝试更新代码)。
起点和基本代码是我获得 Iterable 和 Iterator 的前两行。

0 投票
3 回答
192 浏览

scheme - 如何在 Scheme 中显示来自 eval 的错误消息?

我正在尝试创建评估表达式并将错误作为错误字符串返回的代码:

我有

  • Guile 消息Unbound variable: ~S如何获取实际的错误消息而不是模板?
  • 卡瓦例外:Argument #1 'unbound location: xxx' to 'error-object-message' has wrong type (gnu.mapping.UnboundLocationException) (gnu.mapping.UnboundLocationException cannot be cast to kawa.lang.NamedException)
  • Gauche 核心转储
  • 开局冻结

注意:这是 REPL 的一部分,我正在系统上的所有 Scheme 实现中测试它。它几乎可以工作,它可以自行运行,但我想在发生异常时显示正确的错误消息,而不是退出 REPL。

0 投票
1 回答
47 浏览

android - `java.lang.NoClassDefFoundError: android/view/View` 尝试在 Termux 中从 android-kawa 构建“HelloWorld”项目

我一直在尝试使用Kawa Scheme来开发 Android 项目。我在 GitHub 上找到了两个存储库:一个名为“ android-kawa ”,另一个名为“ KawaDroid ”。它们都有点过时(最近一次更新是在 2012 年左右)。在“android-kawa”的情况下,我能够联系到作者,但他说他没有记住足够的帮助我。

在 'android-kawa' repo 中有一堆用于设置和使用项目的脚本。其中一个脚本下载 Kawa 1.13 tarball,应用一些补丁,然后尝试构建它。

但是,Termux 不支持构建,因为config.guess脚本无法识别系统。config.guess通过下载最新版本的和config.sub可以轻松解决此问题。

另一个问题是 JVM 字节码的格式。当我使用最新的 Java 编译器时,生成的字节码包含(我相信)JVM8+ 的指令,该命令不支持这些dx指令。如果我在 Termux 中运行 Java,这不是问题,因为它安装了常规 JVM,但是如果我想jar在我的 APK 中包含 Kawa(这是我想要的),那么它就会成为一个障碍。

同样,这可以通过将 Java 版本强制为 7 in 来解决javac。(但是,编译器认为 Java 1.7 已被弃用。我想这就是buildAPKs项目使用ecj而不是 的原因javac

另外,当我./configure卡瓦时,我可以将android.jar文件的路径传递给它(./configure --with-android=...)。我的系统上有两个android.jar文件:

我不知道它们来自哪里,也不知道它们之间有何不同,但我一直更喜欢第二个。

所以,当我有kawa.jar可用的 - 当我尝试用命令编译它时

我收到以下错误:

我显然已经在没有-cp参数的情况下尝试过(效果相同)。该android/view/View.class条目出现在由 返回的列表中jar -tf android.jar

如何进一步调查问题的根本原因,最重要的是,我该如何解决?