问题标签 [sml]

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

sml - 输入/输出操作 - ML

我正在学习机器学习。有人可以帮助我了解 ML 中的基本输入/输出功能吗?我只想从控制台读取输入并将其存储在一个变量中并在我的 ML 程序中使用它。

请帮忙。如果你能指出我的一些例子,那也太棒了!!!谢谢你。

0 投票
1 回答
8847 浏览

sml - 如何迭代列表?

我正在尝试使用 SML 进行基本的列表操作。

我想提取列表的每个元素并将字符串附加到该元素并将其添加回列表中。例子:

如何遍历 SML 列表中的每个元素?我可以使用附加字符串^并使用连接列表,@但是如何从列表中提取每个元素?

我们也可以使用地图或数组之类的东西来存储这些列表值并将其传递给 SML 中的不同函数吗?

我只能找到一些关于地图的模糊信息,而没有关于我们如何使用它的明确信息。

0 投票
1 回答
1443 浏览

sockets - 使用套接字进行进程间通信的限制是什么?

我正在创建一个允许在 Firefox 中使用标准 ML (SML) 作为客户端编程语言的 Firefox 扩展。它的工作方式如下:

  1. 该扩展启动一个 PolyML 进程(具有顶级交互式 shell 的 SML 编译器)。
  2. 然后在扩展和 PolyML 进程之间建立套接字通信。
  3. SML 代码从网页中读取,并通过套接字发送到 PolyML 进程进行评估。
  4. 然后,该代码可以使用我提供的库来处理 DOM。

以下是 DOM 库的实现方式:

  1. 假设有人执行一个 SML 函数 DOM.getElementById
  2. 此请求通过套接字转发到扩展,扩展在页面上执行 JavaScript 函数 getElementById 并通过套接字将结果发送回 PolyML 进程。

我的问题是,理论上,当涉及到套接字通信时,我应该期望在性能方面有什么限制?

我做了一些非常近似的分析,似乎使用扩展和 PolyML 之间的这个接口,我可以大约发送2500 个消息/秒,平均大小为70 个字节/消息

把它放在更多的上下文中,假设我想使用 Canvas 元素在浏览器中绘制一些动画。如果我想达到 20fps,这意味着我需要在 0.05 秒内绘制每一帧,这意味着我每帧只能发送大约 125 条消息。这些消息对应于 JavaScript 函数调用。例如,下面的代码绘制了一条路径并进行了 9 次 JavaScript 函数调用,对应于套接字通信中的 9 条消息。

JavaScript 显然具有更好的性能,我想你可以在这 0.05 秒内调用数千(数百)次 Canvas/DOM 函数来绘制框架。

所以,我想我的问题是,你有使用套接字通信进行非常快速的消息交换的经验吗?我想知道每秒 2500 条小消息(在这种情况下,对应于 150 KB/秒)是否正确,或者我可能做错了什么。

例如,一个怀疑是 firefox 中的套接字实现(特别是通过 JavaScript 接口https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIServerSocket使用它)对于这种快速交互不是很好。例如,从套接字读取是通过事件循环机制完成的。那就是我依靠 Firefox.. 来通知我传入套接字消息的可用性,有时在发送消息和接收消息之间会有很大的延迟(例如 250 毫秒)(尽管这似乎只在 Firefox 忙于做的时候才会发生)其他事情,我对套接字通信的..理论..限制更感兴趣)

你看到的任何想法,任何想法,任何缺陷?您是否认为使用其他 IPC 机制会更好,例如管道,从 C++ XPCOM 组件实现我的通信,而不是从 JavaScript,到 C 的外部函数接口(JavaScript 和 PolyML 都有)?

(如果有人感兴趣,该项目位于https://assembla.com/wiki/show/polymlext )

0 投票
1 回答
209 浏览

functional-programming - 穷举模式

我正在学习 ML,有人可以解释一下详尽的模式是什么意思吗?

0 投票
1 回答
240 浏览

sml - NJ 的 SML 错误

大家好,我有这段代码:

我需要编写程序来接收一些函数 f 和整数 n 并生成函数列表,例如[f1, f2, ... fn] <- fn is the composition of the function n times但每次收到错误时:

有人可以帮助我吗,在此先感谢

0 投票
1 回答
8578 浏览

sml - NJ ML 中的嵌套局部声明

大家好,我有这段代码:

我需要编写程序来接收一些函数 f 和整数 n 并生成函数列表,例如 [f1, f2, ... fn] <- fn 是函数 n 次的组成,但每次我收到错误时:

看来我的嵌套本地声明是错误的,有人可以解释为什么吗?

0 投票
3 回答
1276 浏览

algorithm - 新泽西州 SML 中的图表

我需要使用 ML 编写一些函数,该函数接收有[(1,2),(1,3),(3,2)]的边列表,这意味着从 1 到 2 的有向边和从 1 到 3 ...,并且我还收到两个顶点,我需要找到从第一个顶点到第二个顶点的所有可能方式以及可能路径的列表,例如对于顶点1、2,我需要显示列表 [[ 1,2],[1,3,2]],如果无法存储有关顶点的数据,我该怎么做 ML,提前感谢您的任何想法。

0 投票
1 回答
14759 浏览

sml - 警告:调用 polyEqual

有人可以解释一下,这个警告是什么意思?

以及为什么我在以下语句中有“a 而不是 'a:

这是我的功能:

0 投票
1 回答
727 浏览

sml - SML 列表相等奇数

我有这段代码:

使用类型签名

看起来很简单,由于比较,它需要一个适用于相等类型的函数和一个相等类型列表作为参数xs = []。但是,由于某种原因,它适用于输入,例如(op +, [2.3, 2.7, 4.0]),当在 SML/NJ 中实数不是相等类型时。谁能帮我解释一下为什么会发生这种魔法?

0 投票
2 回答
1352 浏览

sml - 新的列表数据类型

如何在 ML 中定义新的数据类型,假设 newList,它可以包含元素 'a(int、real 等)的列表、嵌套列表,例如:如果我的类型 'a 是 int,值可能是:[1],[1,[4]],[1,[5],[[5]]]等提前感谢您的帮助

已编辑 对不起,示例中没有 1,不同的 int 列表,我将其删除