输出在 REPL 中被 # 符号截断

2024-01-12

我编写了一个按预期工作的函数,但我不明白为什么输出是这样的。

功能:

datatype prop = Atom of string | Not of prop | And of prop*prop | Or of prop*prop;


(* XOR = (A And Not B) OR (Not A Or B) *)

local

fun do_xor (alpha,beta) = Or( And( alpha, Not(beta) ), Or(Not(alpha), beta))

in
fun xor (alpha,beta) = do_xor(alpha,beta);
end;

Test:

val result = xor(Atom "a",Atom "b");

Output:

val result = Or (And (Atom #,Not #),Or (Not #,Atom #)) : prop

这只是一个输出限制(是的,这很令人困惑)——默认情况下,顶层(交互式 shell)中值打印输出的深度被限制为相当小的数字(即 5)。跳过的部分打印有#。

您可以使用 printDepth 变量覆盖此深度 - 至少在 SML-NJ 中:

Control.Print.printDepth := 1024;

附:顺便说一下,这里不需要单独的 do_xor 和本地函数 - 只需

fun xor(alpha, beta) = Or(...);

will do.

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

输出在 REPL 中被 # 符号截断 的相关文章

  • SML 警告:使用空列表或 NONE 选项时,类型变量未通用化

    我一生都无法弄清楚为什么以下 SML 函数在我的作业问题中抛出警告 fun my func f ls case ls of gt raise MyException head rest gt case f head of SOME v gt
  • 1个案例多种模式

    在 SML 中 一个 case 语句中是否可以有多种模式 例如 我有 4 个算术运算符以字符串形式表示 我想打印 PLUS MINUS 其中是 or and MULT DIV 如果是 or TL DR 有什么地方可以简化以下内容以使用更少的
  • 什么是互递归类型?

    如果在 ML 中 递归数据类型的示例是 datatype llist Nil Node of int llist 什么是机器学习中的相互递归数据类型以及它的示例是什么 这些愚蠢的数据类型就是这样的一个例子 datatype a A Ab o
  • SML - 未绑定变量或构造函数

    我有下一个代码 datatype expr K of string Number2 of expr expr list datatype number Number1 of string Number3 of int fun append
  • 如何在 Isabelle 的 ML 级别轻松编写简单的策略?

    在 Isabelle 理论文件中 我可以编写简单的一行策略 如下所示 apply clarsimp simp split def split prod splits 然而 我发现 当我开始编写 ML 代码来自动化证明 生成 MLtactic
  • 无法确定操作系统

    When I go on terminal i installed smlnj and i type sml it gives me the error sml unable to determine architecture operat
  • fn 类型的 ml 函数:'a -> 'b

    功能 fn a gt b 现在 有没有可以定义并具有这种类型的函数 标准机器学习中该函数签名有两种可能的实现 一种使用异常 另一种使用递归 val raises a gt b fn a gt raise Fail some error In
  • 何时在 SML 中使用分号?

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

    在 SML 中 可以采用以下方式对惰性编程进行建模 Have a datatype to wrap a computation datatype a susp Susp of unit gt a A function to hold the
  • SML 和函数式编码风格

    我开始学习标准机器学习编程语言 https www coursera org course proglang course 在第一个作业中 我尝试编写一个函数is older需要两个日期并评估为true or false 它评估为true如
  • 标准机器学习中的部分总和?

    我是函数式编程的新手 我有一项任务来计算列表的部分和 例如 psum 1 1 1 1 1 val it 1 2 3 4 5 整数列表 这是到目前为止我的代码 然而 在函数 psum2 L 中 我不知道如何遍历每个值并将它们相加 所以我只是打
  • 这种模式似乎很详尽,但我仍然收到警告

    我正在学习 sml 并编写了以下简单函数 Return a list with every other element of the input list fun everyOther everyOther x x everyOther x
  • 在 SML 中使用foldr 连接字符串

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

    例如 fun example a a list list a 将有以下签名 a list gt a list 如果我定义不同但内容相同怎么办 例如 fun example a a list list a 它的签名是 a list gt a
  • 解决 SML/NJ 编译管理器中的库冲突

    我正在使用 SML NJ 110 79 其中包括对 Successor ML 项目定义的新结构的支持 其中 Fn https github com SMLFamily BasisLibrary wiki 2015 005 Addition
  • 在 Trie 中插入值

    我在 SML 目录中找到了 Trie 的实现 signature DICT sig type key string concrete type type a entry key a concrete type type a dict abs
  • 将命令行参数传递给 SML 脚本

    如何将命令行参数传递给 SML 脚本 我知道有一个CommandLine arguments 正确类型的函数 unit gt string list 但像这样调用解释器 sml script name sml an argument ano
  • number_in_month 练习(计算列表中的元素数)

    我一直在尝试使用 SML 对整数 3 元组列表中的元素进行计数 该列表等于给定的整数 但它不起作用 谁能帮我找出下面的代码有什么问题或者为我纠正它 fun number in month x int int int list m int i
  • 标准 ML 展开列表

    路线 功能expand接收任意类型的列表和整数 数字n 并返回一个列表 其中输入列表的每个项目是 复制的n次 例如 展开 1 2 3 3 必须是 计算结果为 1 1 1 2 2 2 3 3 3 函数的类型必须是 a 列表 int 列表 这是
  • 如何自定义 SML/NJ 交互循环?

    我是标准 ML 的新手 我正在尝试了解 SML NJ 运行时环境 我想根据我的需要调整它 具体来说 我想 默认使用 IntInf 防止它将字符串和 IntInf 截断为 70 个字符 以下是我在 8 个多小时的阅读文档和实验中发现的内容 我

随机推荐

  • ss 命令显示 TIME_WAIT 而不是 CLOSE_WAIT,这在逻辑上不符合

    我试图理解 TIME WAIT 和 CLOSE WAIT 我已经通过 Chrome 控制台打开了一个套接字连接 该连接连接到本地运行的 Java WebSocket 服务器 然后将其关闭 var webSocket new WebSocke
  • 将gradle临时目录设置为SSD

    我正在使用带有 gradle 的 android studio 当我构建应用程序时 我注意到旋转硬盘工作量很大 所以我查看并看到 gradle 正在将临时文件写入变量定义的目录 在 Windows 8 1 中 TEMP or TMP在我的用
  • 从 Android 上传文件到 wowza

    我已经安装了 wowza 服务器并且能够使用 android 中的视频视图从客户端播放文件 现在我必须录制视频并且必须将文件上传到 wowza 服务器 如何编写服务器端应用程序 以及如何从 android 代码连接它 有人有这方面的经验吗
  • Stripe Connect PaymentIntent 错误:没有这样的 payment_intent

    我在 API 中使用 stripe connect 并且我想更新和处理现有的 paymentIntent 使用NodeJS stripe包创建 paymentIntent 成功 const paymentIntent await strip
  • 在 PyQt 中,如何将项目和所选项目保存在组合框中

    我填充组合框 用户选择其中一个选项 然后他们关闭一切 稍后 用户可能会再次打开窗口 要求他们重新输入并重新选择选项会很乏味 所以我想 加载 它们 我尝试使用 pickle 但显然出现与 Qt 相关的错误 self WordCardsFiel
  • 无法将用户添加到 Hyper-V 管理员组退出代码 2220

    我将 Windows 10 LTSB 与 Visual Studio 2015 结合使用 启用后Hyper V 我安装了独立的Visual Studio Emulator for Android Hyper V 运行良好 因为可以向其中添加
  • 无法获取资源“https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1.pom”

    我最近开始使用 React Native 但是根据伊朗制裁 gradle 无法构建我的第一个项目 所以我使用了 VPN 也舍餐服务 https shecan ir 但我收到以下错误 我阅读了 React Native 说明并按照它们设置了模
  • 如何清空 Drupal 缓存(无需 Devel)

    如何清空 Drupal 缓存 without开发模块 无需在新节点等中运行一些 PHP 语句 无需进入数据库本身 实际上 您如何指示最终用户清除其缓存 当您以管理员身份登录时 显然 并非该网站的每个用户都有权清除缓存 应该有一个页面 管理
  • 将 FontAwesome 5.x 与 PrimeFaces 6.2+ 结合使用

    我正在检查这个问题 如何将 webjars org 中的 Font Awesome 与 JSF 结合使用 https stackoverflow com q 18891768 811293蚂蚁这个问题 FontAwesome 与 Prime
  • 如何在 HTTP 标头中设置 REMOTE_USER?

    我的 Apache 设置有问题 我安装了一个部分接受外部身份验证的 Web 应用程序 我使用 Apache 来管理对我的应用程序网页的访问 如果身份验证成功 环境变量 REMOTE USER 将设置为用户名 然后 用户名通过 HTTP 标头
  • 是否可以在请求中刷新会话?

    我使用创建一个会话requests Session 由于某种原因 服务器端关闭了此连接 所以我必须重新连接 问题是 这个会话在很多地方都使用 所以我想知道是否可以重建 TCP 连接但保留会话对象 以便我仍然可以使用它 Example s r
  • Google javascript API 库 - 日历手表通知

    我正在尝试使用 JS 客户端库订阅日历事件通知 如下所示 gapi client load calendar v3 function var request gapi client calendar events watch calenda
  • 代码契约[Type]实现接口方法{Interface.Method},因此无法添加要求

    我有以下场景 public interface ISomething void DoStuff public class Something ISomething private readonly ISomethingElse someth
  • ValueTypes会导致GC吗?

    如果我有堆栈分配的值类型 什么会清理它们 GC只是堆吧 If这些值位于堆栈上 然后当当前堆栈帧被 弹出 通过返回的方法 时 这些值将被有效地清理 不会调用任何终结器或类似的东西 但内存会用完这些值将在下次堆栈达到那么高时重用 请注意 值类型
  • 使用 PHP 上传到 S3 的 RequestTimeout

    我在从我们的一台服务器上将文件上传到 S3 时遇到问题 我们使用 S3 来存储备份 所有服务器都运行 Ubuntu 8 04 PHP 5 2 4 和 libcurl 7 18 0 每当我尝试上传文件时 亚马逊都会返回 RequestTime
  • 查找近似重复和伪造的图像

    我正在使用感知哈希技术来查找接近重复和完全重复的图像 该代码非常适合查找完全相同的重复图像 然而 找到近似重复和略有修改的图像似乎很困难 由于它们的哈希值之间的差异分数通常类似于完全不同的随机图像的哈希差异 为了解决这个问题 我尝试将几乎重
  • Mysql 选择一列中具有相同值而另一列中具有不同值的行

    如果有人可以验证我的 SQL 查询 我将非常感激 对于以下数据集 MD5 UserPK CategoryPK ADCDE 1 7 ADCDE 1 4 ADCDE 1 7 dffrf 1 7 dffrf 2 7 dffrf 2 6 dffrf
  • 如何将编译器标志传递给 Rust 中的子包? [复制]

    这个问题在这里已经有答案了 我有板条箱A and B A依赖于取决于B and B有一个名为some feature 我可以建造B通过运行使用货物cargo build features some feature 但是我如何为A我可以选择启
  • 如何在 Perl 中将十六进制字符串转换为数字?

    我最近编写了一个脚本 它解析单个二进制字节月份字段的文本表示 不要问 在摆弄 sprintf 一段时间后 我放弃了并这样做了 our months qw x01 1 x02 2 x03 3 x04 4 x05 5 x06 6 x07 7 x
  • 输出在 REPL 中被 # 符号截断

    我编写了一个按预期工作的函数 但我不明白为什么输出是这样的 功能 datatype prop Atom of string Not of prop And of prop prop Or of prop prop XOR A And Not