标准机器学习语法

2024-02-19

我是标准机器学习的新手,并尝试编写以下代码

 fun whilestat test stmt1  = 
        (fn x => if (test x) then (stmt1 x;whilestat test stmt1 ) else (x) );

问题是它给了我以下错误

w.sml:21.6-22.82 Error: right-hand-side of clause doesn't agree with function result type [circularity]
expression:  ('Z -> 'Y) -> 'Z -> 'Z
result type:  ('Z -> 'Y) -> 'Z
in declaration:
whilestat2 = (fn arg => (fn <pat> => <exp>))

uncaught exception Error
 raised at: ../compiler/TopLevel/interact/evalloop.sml:66.19-66.27
         ../compiler/TopLevel/interact/evalloop.sml:44.55
         ../compiler/TopLevel/interact/evalloop.sml:292.17-292.20

我只是想模拟一个 while 条件,如果语句为真则递归,否则返回值。


问题在于返回类型whilestat。在里面then分支,你返回一个函数,而在else分支,你返回返回任意一条数据。我认为当您在递归中递归时您只是忘记传递所有参数then branch.

这是我的写法(另请注意,不需要使用fn x => ...,我认为这导致了您的困惑)。

fun whilestat test stmt1 x =
  if test x
  then (stmt1 x; whilestat test stmt1 x)
  else x

将来,您可能会发现在源代码中显式注释类型很有帮助,可以仔细检查您的推理。我通过尝试填写来发现你的错误??? below:

fun whilestat (test : 'a -> bool) (stmt1 : 'a -> unit) : ??? =
  ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标准机器学习语法 的相关文章

  • 尝试使用 conda 时出现“语法错误:生成器表达式必须带括号”

    每当我尝试访问任何 anaconda 命令时 我都会遇到这个问题 事实上 当我尝试打开我的虚拟环境时 它也显示在那里 我已经重新安装了 anaconda navigator 但仍然没有结果 C Users Gagan Singh gt ac
  • 在 MySQL 中使用 UPDATE 和 JOIN 时出现语法错误“near FROM”?

    UPDATE bestall SET view t1 v rawview t1 rv FROM bestall INNER JOIN beststat as t1 ON bestall bestid t1 bestid 这个查询给出了附近的
  • 通过索引变量访问 SML 元组

    问题很简单 如何在SML中使用索引变量访问元组 val index 5 val tuple1 1 2 3 4 5 6 7 8 9 10 val correctValue index tuple1 我希望有人能够提供帮助 提前致谢 不存在接受
  • fn 类型的 ml 函数:'a -> 'b

    功能 fn a gt b 现在 有没有可以定义并具有这种类型的函数 标准机器学习中该函数签名有两种可能的实现 一种使用异常 另一种使用递归 val raises a gt b fn a gt raise Fail some error In
  • 为什么 PHP 4.4.9 抛出“解析错误:语法错误,意外的 T_STATIC”? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我刚刚意识
  • System.Data.OleDb.OleDbException - sql 中的语法错误

    我在这个 SQL 中有一个语法错误 string sSql SELECT OxygenTankInDetailTBL HBedNameID OxygenTankInDetailTBL LocationHB FROM OxygenTankIn
  • Objective C 中的惰性数据类型

    在 SML 中 可以采用以下方式对惰性编程进行建模 Have a datatype to wrap a computation datatype a susp Susp of unit gt a A function to hold the
  • 从 Python 中的类调用函数时参数数量错误

    我正在尝试用 python 编写遗传算法的实现 它说 当只允许一个参数时 我会用两个参数来调用它 但我确信我不允许 这是相关代码 class GA def init self best pops 100 mchance 07 ps 1 im
  • 詹金斯附件-语法是什么?

    我试图让 Jenkins 将一个或一组文件附加到作业已完成的电子邮件通知中 我不断收到以下错误 发送电子邮件以触发 成功 错误 访问要附加的文件时出错 需要 Ant GLOB 模式 但看到了C p p etc html See Filese
  • 语法错误:插入“enum Identifier”,插入“EnumBody”,插入“}”

    我编写了一个枚举类型 当我运行为其创建的 JUnit 测试时 该类型会出现以下语法错误 java lang Error Unresolved compilation problems Syntax error insert enum Ide
  • 如何使用 VIM 修复 perl 语法错误“缺少右大括号或方括号”?

    使用不匹配的数组大括号 或范围括号 编译 或执行 perl 程序会导致 缺少右大括号或方括号 语法错误 Perl 经常将源代码报告为最后一个代码行 at EOF 这可能与实际缺失的部分相去甚远 Perl 错误消息示例 Missing rig
  • python 中的前导零[重复]

    这个问题在这里已经有答案了 Python 似乎能够接受除 08 或 09 之外的任何数字的前导零 例如 a 04 在解释器中工作但是 a 08 returns SyntaxError invalid token 我在 OSX 上使用 pyt
  • 在 SML 中使用foldr 连接字符串

    我正在尝试声明一个函数 字符串列表 gt 字符串 例如输入 Chicago city USA 应该返回 Chicago city USA 到目前为止我所做的是 fun gather ts foldr op ts 这似乎有点符合 但问题是 我
  • SML 中的柯里化匿名函数

    我有下面的功能并且它有效 fn x gt x 2 2 但这不起作用 fn x y gt x y 2 3 谁能告诉我为什么 或者给我一些提示让它发挥作用 fn x gt fn y gt x y 2 3 works fn只是没有相同的语法糖来定
  • 安装后离子问题

    我需要一些帮助来解决我的 mac 上的 ionic 问题 对于我使用 ionic 从终端启动的每个命令 我都会收到相同的错误 如下所示 例如 即使我发出命令ionic v 我收到这个 ionic v usr local lib node m
  • 在 Trie 中插入值

    我在 SML 目录中找到了 Trie 的实现 signature DICT sig type key string concrete type type a entry key a concrete type type a dict abs
  • ruby 中的无效函数

    为什么这个功能无效呢 def request method get resource meta strip true end 意外的 期待关键字 结束 谢谢你 在 Ruby 中 不能用可选参数包围必需参数 使用 def request re
  • 要统一的类型变量出现在类型中

    我有一个函数可以从两个列表重建一棵树 我返回所有分支的列表 但收到一个我不明白的错误 但我认为这与返回类型有关 错误是这样的 Can t unify a with a list Type variable to be unified occ
  • number_in_month 练习(计算列表中的元素数)

    我一直在尝试使用 SML 对整数 3 元组列表中的元素进行计数 该列表等于给定的整数 但它不起作用 谁能帮我找出下面的代码有什么问题或者为我纠正它 fun number in month x int int int list m int i
  • Python给出语法错误但没有错误? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 有人能说为什么 python 不允许这样做吗 coding utf 8 import win32api win32con os t

随机推荐

  • 创建元素时的 jQuery 事件

    我想在创建元素时触发一个事件 document on load TB title function console log loaded 是否有与此等效的有效方法 我看到有人建议 livequery 但这似乎很重 Thanks 我不认为这样
  • 如何使用python在mysql数据库中存储阿拉伯文本?

    我有一个阿拉伯字符串说 txt u Arabic u0627 u0644 u0637 u064a u0631 u0627 u0646 我想把这段阿拉伯文文本转换成mySql数据库 我尝试使用 txt smart str txt or txt
  • 如何在 PHP 中高效使用 try...catch 块

    我一直在 PHP 代码中使用 try catch 块 但我不确定是否正确使用了它们 例如 我的一些代码如下所示 try tableAresults dbHandler gt doSomethingWithTableA tableBresul
  • 在 JavaScript 中声明函数 [重复]

    这个问题在这里已经有答案了 这两种声明函数的方式有什么区别 function someFunc var someFunc function 我不是在技术意义上问 我并不是问哪种可读性更好 或者哪种风格更受欢迎 我和这里大多数人的观点不同 从
  • iPhone Facebook 视频上传

    我已经为此工作了几天 但似乎无法在任何地方找到直接的答案或示例 我正在尝试从我的 iPhone 应用程序中将视频上传到 Facebook 我可以使用以下命令毫无问题地连接到 Facebook 并已上传图片 facebook Facebook
  • 衡量代码质量时的代码行 VS 指令

    我有一个由许多模块组成的项目 我正在运行两者JaCoCo http www eclemma org jacoco 对于单元测试覆盖率和Sonar https www sonarqube org 为了代码质量 由于技术原因 我无法对我的模块之
  • Java:在实例化期间传递“this”的实例[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的班级1 public class myClass1 public myClass2 myclass2 public void cr
  • 为什么有些 Python 变量保持全局,而有些需要定义为全局

    我在理解为什么有些变量是局部变量而有些变量是全局变量时遇到了一些困难 例如 当我尝试这个时 from random import randint score 0 choice index map a 0 b 1 c 2 d 3 questi
  • 何时调用 Thread.currentThread().interrupt() 何时不调用?

    从互联网上的多篇文章来看 建议不要吞咽InterruptedException 当我要重用同一个线程时 使用类似这样的线程池执行器来执行此操作更有意义 public static void main String args throws I
  • SQL LIKE % 对于整数

    在 T SQL 中 如何编写查询来为列的任何整数值选择行 比如数据是这样的 NAME AGE A 10 B 20 C 10 D 20 并且有一个
  • 根据控件宽度缩放 UISegmentedControl 标签

    这似乎是理所当然的 但我找不到任何方法来做到这一点 基本上我拥有的是UISegmentedControl带有两个本地化标签NSLocalizedString 我已经设置了字体大小 并且所有内容在英语和其他几种语言中看起来都很棒 但是 在日语
  • 位置:Flash 上的绝对 div

    是否有可能position absolute a div div 在 Flash 横幅上 无需添加wmode transparent 到横幅 我有一个灯箱需要显示在我的广告上方 但我无法直接修改横幅 因为它们来自第三方 Edit 问题主要出
  • 如何从 std::list 实现 O(1) 擦除

    问题是推荐的使用方式是什么std list实现 O 1 删除列表项 通常 当我选择双向链表时 我希望能够在 O 1 时间内从列表中删除一个元素 然后在 O 1 时间内将其移动到不同的列表 如果该元素有自己的prev and next指针 没
  • 是否有低级网络库来嗅探和更改网络流量? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种嗅探网络数据包并用 C 对其进行编码的方法 总之 改变网络流量 我不知道如何解释我的请求
  • android viewpager with tablayout - 如何在选项卡内添加其他片段?

    so i have the classic viewpager in a tablayout that looks something like this 我的 viewPagerAdapter 类如下所示 公共类 HomePagerAda
  • 在 onreadystatechange 函数中访问类变量时出现 Ajax 类错误

    我目前正在编写 JavaScript Ajax 类并遇到错误 在函数 processRawData 中 我似乎无法使用 this xhr 访问类变量 xhr 我得到 无法读取未定义的readyState属性 我目前已经通过在设置对onrea
  • 为什么水平边距不像垂直边距那样折叠?

    我明白为什么边距塌陷发生 我在不同的网站上看到了一些关于它是如何发生以及为什么会发生的例子 再具体一点 margin on CSS 技巧 https css tricks com almanac properties m margin 是我
  • Singleton 不在 Cython 中工作

    这就是我定义单例的方式 class Singleton type instances def call cls args kwargs if cls not in cls instances cls instances cls super
  • 如何翻译身份密码验证消息

    到目前为止 我已经能够翻译 ASP Net Core 2 1 Web 应用程序中的所有内容 事实证明 这是一个小小的挑战 因为搭建的帐户页面需要一些设置 但我找不到翻译密码验证消息的方法 另外 翻译模型绑定消息是一个小挑战 感谢 stack
  • 标准机器学习语法

    我是标准机器学习的新手 并尝试编写以下代码 fun whilestat test stmt1 fn x gt if test x then stmt1 x whilestat test stmt1 else x 问题是它给了我以下错误 w