问题标签 [polyml]
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.
ml - ML 无法将 'a 与 int 统一起来
练习是在 ML 中编写一个从二叉搜索树中删除元素的函数。这是代码:
当我将它加载到 Poly/ML 中时,它会警告我 deleteTop 中的模式匹配不完整,但这并不重要,因为 delete 只会传递 deleteTop 一个分支。
我创建了一个 (string * int) 树并运行
让我重申其中的一行:
为什么 ML 不能将 'a 与 int 统一起来?
windows - 在 Windows 上安装 Poly/ML om emacs
我正在尝试能够在 emacs 中编写 sml 代码。我已经在 Windows 上安装了 emacs 24.3,并且还安装了 Poly/ML 版本 5.5.1。有没有办法让这个工作?
我尝试像这样安装 SML-MODE:http: //alleystoughton.us/sml/sml-emacs.html 但似乎我的 site-lisp 目录中只有 subdirs.el ......
我尝试在 emacs 中编写 Mx sml 模式,我的代码文件以 .sml 结尾
我没有语法突出显示并尝试了 Mx global-font-lock-mode 和 sml-poly-ml 但它不起作用所以 Poly/ML 没有安装在 emacs 中?如何让 poly 在带有 emacs 的 Windows 上工作?
emacs - 直接在 emacs 中的 Poly/ML 解释器/编译器
我在 emacs 24 中安装了 sml-mode。我想用 Poly/ML 直接在 emacs 中编译代码,我该怎么做?我已经安装了 Poly/ML,然后键入 sml-poly-ml 以启动解释器,但我说不匹配。我在 windows 和 ubuntu 上都进行了测试。该怎么办?
更新:如果其中一些,我会很受伤: https ://groups.google.com/forum/#!msg/comp.emacs/jlOX_aP6j40/afuuUlVemWUJ 或 http://www.cs.cmu.edu/~fp/ course/98-linear/lib/emacs/sml-poly-ml.el 会起作用吗?我正在尝试阅读,但不完全理解。我想我应该把 (autoload 'sml-poly-ml "sml-poly-ml" "Set up and run Poly/ML." t) 放在 .emacs.d 中?什么是 emacs lisp 文件?我似乎需要 sml-poly-ml.el 并且不知道这是否作为标准包含在 sml-mode 中?然后我就卡住了...
sml - 在 PolyML 的 (int, string) 的元组列表中获取最小/最大 int
我已经看到了 Python 的这个问题,但我对 SML(PolyMl)也有同样的问题。
我想创建一个函数来从元组列表中提取(int, string)
具有 minimum 的元组的字符串值int
。
例如,如果我有这个列表:
输出应该是'c'
,因为最小整数在元组中('c', 1)
。谢谢你!
build - 使用 Poly/ML 构建具有嵌套目录结构的项目
到目前为止,我一直在将 Poly/ML 用于几个所有源代码文件都在同一个目录中的小项目。要构建这些项目,我所要做的就是在 REPL 中运行以下命令:
但是现在我有一个项目,其规模使得将所有源代码文件放在同一目录中是不切实际的。要在 REPL 中构建这些项目,我需要运行以下命令:
随着子系统数量的增加,这并不是非常实用。
有什么方法可以自动化在 Poly/ML 中使用嵌套目录结构构建项目的过程?
PD:我看过 SML/NJ 的 Compilation Manager 和 MLton 的 ML Basis 系统。虽然毫无疑问功能强大,但这些对于我的需求来说太复杂了。
sml - 检查函数是否在 SML 中定义
给定一个 SML 源文件,是否可以检查(使用 Poly/ML)是否定义了函数/值名称列表?如果是这样,怎么做?
或者,我注意到您可以执行以下操作。假设我们有一个要检查的源文件,名为somefile.sml
. 假设我们创建文件test.sml
,内容如下:
然后我们运行:
不幸的是,这只会打印出“静态错误”。有什么方法,类似于上面描述的,来确定(在代码中)“test.sml”中的哪些函数没有定义?
sml - 在 SML 中构建库
我目前正在标准 ML 中构建一个测试库(使用 Poly/ML 作为解释器)。我有以下目录结构:
哪里a.sml
只是一堆调用使用
b.sml
等c.sml
都是这样的结构定义
它形成了库中很好的、逻辑分离的组件。我有时也会在一个文件中创建一个模块,然后在另一个文件中的同一模块中引入一个子结构。
然后我可以在项目的根目录中正常使用测试库,方法是调用use "a.sml"
.
但是,我似乎无法在其自己的目录之外使用代码,这有点问题。例如,假设我在project
. 如果我然后调用use "project/a.sml"
,则后续调用会use "src/x.sml"
尝试src
在父级中查找目录(该目录不存在)。
有什么方法可以做一个 relative use
,还是有更好的方法来完全构建它?
sml - PolyML/Motif:如何同时绘制一个包含 XmLabelPixmap 按钮的窗口?
在 PolyML 中,我试图在其中绘制一个带有像素图的按钮,但在外壳小部件上调用 XtRealizeWidget 之前找不到创建像素图的方法。
在 XtRealizeWidget 之后使用 XCreateBitmapFromData,在绘制带有图片的按钮时会产生巨大的延迟,这真的很愚蠢。也就是下面的代码。
相关线路是:
我认为我应该做的是让整个窗口(包括图片)同时显示,是在 XtRealizeWidget 之前调用 XtSetValues 。我无法完成这项工作。XGetWindowRoot 的调用或任何类似的调用都不起作用。错误类似于:XGetGeometry 中的 X 错误 BadDrawable
谁能告诉我如何创建一个窗口,其中包含一个带有像素图的按钮,以使所有内容都同时绘制?
剩余代码:
debugging - 在仿函数应用后查看 polyml 中泛型的专业化/子类型
在下面的程序中,我们知道valStr.value
假设pair
泛型类型的子类型t
。然而,当我在poly
类型中检查它时,它显示为t
。有什么方法可以在专门的poly
解释器中看到吗?t
pair
这是我跑步时得到的poly
:
用于生成它的代码是: