问题标签 [mozart]

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 回答
309 浏览

performance - 奥兹/莫扎特以缓慢着称的原因是什么?

我知道这是一个学术项目,但 Oz/Mozart 是如此美丽的语言,我很想将它用于我的宠物项目。

这个名声值得吗?如果是这样:

  • 它只是编译器,还是执行?
  • 速度问题是实施的核心,还是仅仅因为没有时间解决这些速度问题,或者其他?
0 投票
0 回答
69 浏览

oz - 如何在 Oz 中禁用并发?

Oz 最令人讨厌的方面之一是,在开发时,经常调用{Browse X}从不在浏览器中显示任何内容,即使在编译或执行期间没有报告错误。发生这种情况的原因之一是,如果在某个时候访问了未绑定的标识符。整个执行线程无限期地冻结,我无法追踪问题出在哪里。可能有其他原因为什么{Browse X}什么都不做,但我不知道。

有没有办法在开发过程中暂时禁用并发支持,以免发生这样的事情?

0 投票
1 回答
428 浏览

debugging - Mozart Ozcar 调试器错误

所以我正在学习,我需要在 Mozart 上运行 Ozcar 调试器,我转到 Oz 菜单,首先我选择 feed 缓冲区,然后我选择 Start Debugger,编译器向我显示下一条消息:

然后它假设应该出现一个辅助窗口但没有任何反应!!!!我需要帮助请!!!

Oz 模拟器也向我展示了这个:

我认为 Ozcar 的包装丢失了,我在哪里可以找到它或如何解决这个问题???

0 投票
2 回答
236 浏览

tail-recursion - 使用列表编写阶乘函数

虽然我相信我已经为我的函数(阶乘)找到了一个合理的算法,但我对它为什么无限循环感到非常困惑。这是我的代码:

0 投票
1 回答
229 浏览

function - Mozart Oz 函数什么都不返回,只执行几条指令

问题在标题中,如何创建一个不提供返回值但可以执行多个指令的函数?

例如:

在这种情况下,我想递归调用该函数doStuff,但我不能,因为它被设置为返回最后一条指令,我只是得到一个错误。但是当我删除{doStuff T2}它时,它会编译。

0 投票
1 回答
769 浏览

factorial - 莫扎特函数解析错误

当我试图在这个莫扎特在线 编译器上运行这个阶乘函数时

我有解析错误!

我如何在这个在线编译器上运行这段代码!

0 投票
1 回答
150 浏览

oz - 复制列表 OZ 的元素

编写一个复制列表中每个元素的函数。例如:{Duplicate [1 2 3]} 返回列表 [1 1 2 2 3 3]。

我怎样才能在 OZ mozart 中制作它?我不知道 oz 的 sintaxis,在序言中会是这样的:

0 投票
2 回答
1001 浏览

list - 如果列表中的元素为真则返回真 Oz

我需要在 Oz 中做这两个非常相似的练习:

*。编写函数 {Some LP},它接受​​一个列表 L 和一个布尔函数 P。如果 P 对 L 的至少一个元素返回 true,则返回 true,否则返回 false。

*。编写函数 {All LP},当且仅当 P 对于 L 中的所有元素都为真时,它才返回真。

我不确定如果我有这样的函数,我怎样才能让它返回真或假:

2 为真,所以它必须返回真

0 投票
1 回答
741 浏览

record - Mozart/Oz:将字符串转换为特征

我需要提前生成我不知道的功能名称,以便进行记录。
记录应如下所示:
record(day1:[...] day2:[...] day3:[...] ...).
由于我不知道记录将包含多少天,我不能自己写功能名称!我尝试了几件事:

然后在列表中处理所有标签,以便使用Record.makeTuple.

有什么方法可以创建动态特征或操纵它们?
目前,我发现的唯一选择是使用字符串,而不是作为功能,而是使用一对: record("day1"#[..] "day2"#[..] ...)但这不是我想要的。

感谢您的任何回答或帮助。

0 投票
1 回答
2305 浏览

oz - 在命令行中执行 Mozart-Oz 代码

我正在尝试使用Mozart Oz。我从源代码伪造下载执行二进制文件:http: //sourceforge.net/projects/mozart-oz/

当启动 Mozart.app 时,emacs(Mac OS X 的 aquamacs)开始在其中进行编码。

例如,我可以在 Tcl/Tk 浏览器中输入{Browse 'Hello World'}并执行Oz -> Feed Buffer得到结果。

那么,如何像使用 Python 或 Ruby 一样在命令行中构建或执行 Oz 代码?

我在 bin 目录中找到了二进制文件。

但是,当我使用 执行代码时ozc -c hello.oz,出现%** variable Browse not introduced错误。可能有什么问题?