标准机器学习中的结构比较

2024-03-11

我似乎找不到关于为什么这不起作用的参考:

- (2000,1)<(2000,1);    
stdIn:18.1-18.18 Error: operator and operand don't agree [overload]
  operator domain: 'Z * 'Z
  operand:         (int * int) * (int * int)
  in expression:
    (2000,1) < (2000,1)

标准机器学习是否支持结构比较?


简短的回答:只是为了平等。

顶级环境中的严格小于运算符 ('a).

对于整数的情况Int.<使用函数,它只接受两个整数作为参数

- Int.<;
val it = fn : int * int -> bool

然而对于相等,情况有点不同,从相等运算符的类型可以看出

- op=;
val it = fn : ''a * ''a -> bool

这里可以看到多态类型是bee''a,注意双拼。这是因为它只能实例化为相等类型(例如 int、string、int'string 等)。请注意,real 不是相等类型!

Update

我通常做的事情是为我创建的每个(数据)类型创建一个比较函数。这样我就可以完全控制发生的事情。比较函数的想法是返回一个order http://www.standardml.org/Basis/general.html#SIG%3aGENERAL.order%3aTY

datatype order = LESS | EQUAL | GREATER

有了这个,您可以轻松地创建一个 case 表达式并执行适当的操作,而不是if .. < .. then .. else ..

Update1

下面的代码来自 Andreas Rossberg 的评论。我把它放在这里是为了方便阅读

fun comparePair compareA compareB ((a1, b1), (a2, b2)) =
    case compareA (a1, a2) of
      EQUAL => compareB (b1, b2)
    | other => other

以及一些使用示例

- comparePair Int.compare String.compare ((2, "foo"), (3, "bar"));
val it = LESS : order
- comparePair Int.compare String.compare ((3, "bar"), (3, "bar"));
val it = EQUAL : order
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标准机器学习中的结构比较 的相关文章

  • 这个函数签名在sml中是什么意思?

    我正在查看我的教授关于 SML 语言的一些注释 其中一个函数如下所示 fun max gt let fun lp curr curr lp curr a l if gt a curr then lp a l else lp curr l i
  • 如何在 SML/NJ 中进行按位与运算?

    我正在编写的程序需要它 重复平方来计算 x n 我似乎找不到它的语法 或者是否支持它 它们可在Word8 and Word结构 let open Word8 infix andb orb xorb notb lt lt gt gt gt g
  • 为什么我的 ML 函数推断的类型与我预期的不同?

    我做了一个函数 它的名字是maptree 下面是我的代码 datatype a tree LEAF of a NODE of a tree a tree fun maptree f NODE X Y NODE maptree f X map
  • 使用一个数字数据成员定义类的所有比较运算符的便捷方法?

    如果我有一个由单个数字数据成员组成的类型 例如 int 和各种方法 有没有一种方便的方法告诉编译器自动生成所有明显的比较运算符 即 而不是这个 使用inline代替constexpr当然 对于 C 03 class MyValueType
  • 为什么我无法在标准机器学习中比较实数?

    为什么不1 0 2 0工作 不是real平等类型 它给出了错误 Error operator and operand don t agree equality type required operator domain Z Z operan
  • Python 中比较运算符的结合性

    Python 中比较运算符的结合性是什么 三个比较很简单 但除此之外 我不确定它是如何做到的 它们似乎不具有右关联性或左关联性 例如 gt gt gt 7410 gt 8690 lt 4538 lt 9319 gt 7092 False g
  • fn 类型的 ml 函数:'a -> 'b

    功能 fn a gt b 现在 有没有可以定义并具有这种类型的函数 标准机器学习中该函数签名有两种可能的实现 一种使用异常 另一种使用递归 val raises a gt b fn a gt raise Fail some error In
  • Python:布尔运算符(和、或)不返回布尔值的理由

    编辑 这个问题不是重复的this https stackoverflow com questions 47007680 how do and and or act with non boolean values 我问的是语言设计的问题 即为
  • 何时在 SML 中使用分号?

    我知道分号在 REPL 中用作终止符 但我对何时在源文件中使用它们感到困惑 例如 之后不需要val x 1 但如果我之后省略它use foo sml 编译器会抱怨它 那么 分号的使用规则是什么呢 分号用于 SML 中的许多语法实体 它们通常
  • 基于 SML 的文件查找

    有没有办法使用 SML Basis 库在特定位置打开文件 也就是说 使用操作系统调用来更改位置 而不是扫描文件并丢弃数据 这很棘手 不幸的是 不直接支持搜索 此外 文件位置仅对于二进制文件是透明的 即您使用BinIO结构 1 对于该结构体
  • 什么是 Ruby <=>(宇宙飞船)运算符?

    什么是红宝石 lt gt 宇宙飞船 操作员 该运算符是否由其他语言实现 The 宇宙飞船操作员 https ruby doc org core 3 0 0 Comparable html将返回1 0 or 1取决于左参数相对于右参数的值 a
  • 自定义类排序:没有抛出错误,Python 测试的目的是什么?

    在不指定对象的相等比较属性的情况下 Python在使用时仍然在做一些事情 gt and lt 如果您不指定 Python 实际上是通过什么来比较这些对象的 gt or lt 我预计这里会出现不受支持的操作数错误 就像在尝试将两个对象添加在一
  • 为什么迭代器使用“!=”而不是“<”?

    我习惯这样写循环 for std size t index 0 index lt foo size index Do stuff with foo index 但是当我在其他人的代码中看到迭代器循环时 它们看起来像这样 for Foo It
  • 我可以将 pandas.dataframe.isin() 与数字容差参数一起使用吗?

    我事先查看了以下帖子 有没有办法将 DataFrame isin 与近似因子或容差值一起使用 或者还有其他方法可以吗 如果列中的值位于一组值列表中 则过滤数据框行 https stackoverflow com questions 1206
  • 解决 SML/NJ 编译管理器中的库冲突

    我正在使用 SML NJ 110 79 其中包括对 Successor ML 项目定义的新结构的支持 其中 Fn https github com SMLFamily BasisLibrary wiki 2015 005 Addition
  • JavaScript 中 == 和 === 的区别[重复]

    这个问题在这里已经有答案了 有什么区别 and 在 JavaScript 中 我也见过 and 运营商 还有更多这样的运营商吗 看看这里 http longgoldenears blogspot com 2007 09 triple equ
  • 如何使对象“a == b”的比较成立? [复制]

    这个问题在这里已经有答案了 这是面试前 JavaScript 在线测试的问题之一 function F var a new F var b new F Q 如何进行比较a b to be true e g console log a b t
  • JavaScript 相等传递性很奇怪

    我一直在读道格拉斯 克罗克福德JavaScript 好的部分 https rads stackoverflow com amzn click com 0596517742 我遇到了这个奇怪的例子 对我来说没有意义 0 false 0 tru
  • 函数式语言与语言实现的角度有何不同

    出现了全新的 函数式编程 范式 与过程式编程相比 它需要彻底改变思维模式 它使用高阶函数 纯度 单子等 我们通常在命令式和面向对象语言中不会看到这些 我的问题是如何执行这些语言与命令式或面向对象语言的不同之处在于 例如内存管理或指针等内部结
  • 如何使用相对于导入器的路径从 SML 中的另一个文件导入?

    我正在使用 SML NJ 并且我需要使用某个文件中的一组函数f1 sml在另一个文件中f2 sml 然而我并没有跑步f2 sml相反 我直接从其他地方导入它 如果我使用use命令输入f2 sml与路径f1 sml关系到f2 sml观点 当我

随机推荐

  • WSO2 ESB:WSO2 REST API 调用中的 XML 响应未解析

    我在 WSO2 ESB 4 8 1 代理服务中处理来自 REST API 的纯 XML 响应时遇到问题 我的 outSequence 显然期望 API 调用结果有效负载是 SOAP 消息 但事实并非如此 纯 XML 从而在进一步处理它时导致
  • 是否可以在 ElasticSearch 中对嵌套文档进行排序?

    假设我有以下映射 site properties title type string description type string category type string tags type array point type geo p
  • 注释类型测试的超时参数

    我正在尝试在 IntelliJ IDEA 项目内的单元测试中使用注释类型测试的超时参数 第二个可选参数超时会导致测试失败 如果 花费的时间比指定的时钟时间长 以 毫秒 以下测试失败 Test timeout 100 public void
  • iPhone自动旋转动画

    是否可以关闭自动旋转动画 我希望它旋转 但我只是不希望发生动画 就像即时切换一样 如果你确实需要 只需使用setAnimationsEnabled of UIView void willRotateToInterfaceOrientatio
  • Spacemacs 中的 Org-mode:with-eval-after-load 和 extra-packages

    背景 Spacemacs 文档推荐 http spacemacs org layers emacs org README html important note您将其他组织模式配置包装在其中 with eval after load org
  • 如何在 Silverlight 中克隆路径资源?

    我的 Xaml 文件中定义了一个资源 如下所示
  • MVC 在剃刀中循环,生成的下拉列表未选择值

    我在 razor 中有一个循环 它会多次生成模板 模板内有一个下拉列表 Html DropDownlistFor x gt x pasajero i option Model optionItems 下拉列表已呈现 但未设置任何选项sele
  • 如何等待来自 WatiN 的 jQuery Ajax 请求完成?

    我在写WatiN http watin sourceforge net 测试来测试Ajax http en wikipedia org wiki Ajax 28programming 29Web 应用程序 并遇到了 Ajax 请求的计时问题
  • contenteditable div退格和删除文本节点问题

    contenteditable div 以及删除可编辑 div 内的 html 和 或非内容可编辑内容存在很多问题 使用优秀 Tim Down 的回答 如何删除具有 contentEditable 属性的 div 内的 HTML 元素 ht
  • 如何使用激活器调试Play应用程序?

    我知道对于经典的 Play 框架来说它是play debug run 我尝试跑步activator debug run但我收到以下错误 error Not a valid command debug similar idea error N
  • rake asset:预编译中止,无法推送到heroku

    我正在使用 Enki 博客 gem 它在本地工作 尝试准备推送到 heroku 以前从未遇到过问题 我尝试预编译 它做到了这一点 Users me rvm rubies ruby 1 9 3 rc1 bin ruby Users me rv
  • UITableView 背景颜色 iOS 9

    我有一个 UITableView 我想将其背景颜色设置为透明 界面生成器中表视图和所有子视图的背景颜色设置为透明 它适用于 iOS 8 和 7 但不适用于 iOS 9 有什么想法吗 cellForRowAtIndexPath 方法 cell
  • 如何将 Entity Framework 4.0 与 Xml 或内存存储(非 SQL)结合使用

    如何为实体框架模型指定 Xml 或仅指定内存存储 连接字符串需要提供程序 通常是 SQL 提供程序字符串 但它不会让我忽略提供者 我意识到我可以完全抛弃设计器生成的对象并采用纯 POCO 但随后我必须实现自己的序列化层 可以做到这一点 但对
  • 我无法修改的库中类的 Wcf 数据契约

    嗨 我有一个类库 它执行方法 并且有很多不同的类 它用作方法调用的参数 我正在为这个类库创建一个 wcf 包装器 但我无权更改类库 现在我的问题是如何轻松地将这些类公开为数据契约 数据成员 我有大约 100 个不同的类 我需要这些方法 Th
  • 如何在 iPhone 触摸屏上实现 onmousedown 和 onmouseup

    我对 HTML JavaScript 很陌生 但正在学习 我想在 iPhone 上制作一个按钮 按下时运行 JavaScript 命令 松开时运行另一个按钮 我尝试使用以下方法来做到这一点onmousedown and onmouseup属
  • PHP如何确定浏览器POST请求数据中的字符编码?

    当浏览器在 POST 请求正文中发送数据时 即name value来自表单元素的对 PHP 如何确定字符编码 以便它可以正确地将位流解码为字符以供其内部使用 我可以理解 PHP 不需要解码的某些任务 例如对于 SQL INSERT 查询 它
  • Java 中可以实现高级 GUI 吗?

    也许是一个哲学问题 我最近在 GUI 中看到了一些有趣的视觉效果 主要是在本机平台 API 上 我知道 这只是软件 而且只要有足够的工作 像素就可以完成任何事情 问题是 最后 Java 真的是用 GUI 做奇特事情的选择吗 我想这似乎是一件
  • MultiActionController 的替换类,在 4.3.3 中已弃用

    升级到时修复所有已弃用的 api春季4 3 3 我面临着一个问题MultiActionController在多个位置使用的类 有没有选择spring 中的类具有相同的功能MultiActionController 按照春天的说法docs h
  • 在 JavaFX 中打印 TableView 内容

    我正在学习 JavaFX 我创建了我的TableView并用数据填充它 我添加了一个按钮 当单击它时 可以打印表格内容 这是完整的代码 public final class TableViewSample2 extends Applicat
  • 标准机器学习中的结构比较

    我似乎找不到关于为什么这不起作用的参考 2000 1 lt 2000 1 stdIn 18 1 18 18 Error operator and operand don t agree overload operator domain Z