标准机器学习语法

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(使用前将#替换为@)

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

  • fn 类型的 ml 函数:'a -> 'b

    功能 fn a gt b 现在 有没有可以定义并具有这种类型的函数 标准机器学习中该函数签名有两种可能的实现 一种使用异常 另一种使用递归 val raises a gt b fn a gt raise Fail some error In
  • Eclipse CDT:禁用红色下划线

    我使用 eclipse cdt 并且包含了一些文件 不幸的是 我无法将包含路径添加到我的 Eclipse 项目中 因为这样当 Eclipse 开始对新添加的包含进行索引时 它总是会崩溃 因此我想关闭突出显示错误的功能 我可以在哪里执行此操作
  • 输出在 REPL 中被 # 符号截断

    我编写了一个按预期工作的函数 但我不明白为什么输出是这样的 功能 datatype prop Atom of string Not of prop And of prop prop Or of prop prop XOR A And Not
  • 为什么 PHP 4.4.9 抛出“解析错误:语法错误,意外的 T_STATIC”? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我刚刚意识
  • 代码中出现奇怪的错误:杂散'\239'、'\187'和'\191'以及程序中

    My code include
  • Microsoft OLE DB Provider for SQL Server 错误“80040e14”“=”附近的语法不正确

    当我尝试使用以下代码从数据库检索数据时 出现此错误 有人可以帮忙吗 set rs Server CreateObject ADODB recordset sql SELECT from COMPANY WHERE COMPANY ID Re
  • 用于查找素数的 Haskell 列表理解

    我试图找到所有小于某个整数的素数n使用列表理解尽可能简洁 我正在学习 Haskell 这只是一个练习 我想写一些类似的东西 isqrt Integral a gt a gt a isqrt floor sqrt fromIntegral p
  • 标准机器学习语法

    我是标准机器学习的新手 并尝试编写以下代码 fun whilestat test stmt1 fn x gt if test x then stmt1 x whilestat test stmt1 else x 问题是它给了我以下错误 w
  • 有类似 Haskell/ML 的 C 编译器吗?

    People have http jlongster com software iphone scheme iphone example 书面games http www artisancoder com 2009 10 scheme hi
  • Python ast.literal_eval 在字典字符串上不起作用(SyntaxError:无效语法)

    我正在尝试使用 JSON 数据处理数据集 然而 数据未经解析就已写入文件 这意味着 python 字典作为字符串写入文件中 而不是作为字符串写入 JSON 对象 我找到了一个模块 AST 它可以使用以下命令再次将字符串转换为字典 ast l
  • 如何在SML中使用IntInf或LargeInt?

    我想通过此链接中的 pow 等函数在 SML 中执行大整数计算 http www standardml org Basis int inf html IntInf STR SPEC http www standardml org Basis
  • StringIndexOutOfBoundsException 字符串索引超出范围错误

    当我在输入整数后输入字符串 s 时 出现此错误 Exception in thread main java lang StringIndexOutOfBoundsException String index out of range 0 a
  • 在 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
  • 解决 SML/NJ 编译管理器中的库冲突

    我正在使用 SML NJ 110 79 其中包括对 Successor ML 项目定义的新结构的支持 其中 Fn https github com SMLFamily BasisLibrary wiki 2015 005 Addition
  • 将命令行参数传递给 SML 脚本

    如何将命令行参数传递给 SML 脚本 我知道有一个CommandLine arguments 正确类型的函数 unit gt string list 但像这样调用解释器 sml script name sml an argument ano
  • 不接受 TableAdapter 中的参数

    我目前正在尝试设置我的 TableAdapters 但它不允许我使用参数 这使得它毫无用处 当我创建新查询时 SELECT users FROM users WHERE name LIKE name 它告诉我附近有一个 SQL 错误 我使用
  • “对象不是函数” - onclick 事件

    在开始之前 不 我没有发现分号的问题 并且我没有向函数传递任何值 当我尝试从控制台执行函数 login 时 它工作得很好 但是当我单击 HTML 输入按钮来调用它时 我收到 Uncaught TypeError object is not
  • 使用 JSONP 时出现“无效标签”?

    我的 JSONP 请求有问题 数据不会显示 Firebug 显示 无效标签 错误 我的 JavaScript ajax url link dataType jsonp beforeSend function xhr var base64 b

随机推荐

  • 创建元素时的 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