问题标签 [miranda]
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.
functional-programming - Miranda Error 无法在第 12 行将 [[char]] 与 [char] 统一起来
米兰达编码有问题我只是函数式编程的新手,所以如果我没有一个简单的错误,请狠狠地打我一巴掌,所以我学习了
无论如何,我在第 12 行遇到错误,因为 unifyin char 和 char 有问题我的想法是通过使用字典过滤来检查是否拼写正确,这将是单词列表和文件中的另一个列表加在一起
这是我的第 12 行
这是到目前为止我的程序的其余部分
所以有人能指出我哪里出错了吗?
functional-programming - Miranda while 和 for 循环
我正在寻找一种在 Miranda 中执行 while 循环或 for 循环的方法。
我正在尝试做类似的事情
functional-programming - 米兰达浏览清单
有没有简单的方法来浏览列表?假设我想访问列表中的第 5 个数据,但不知道它是 B
有没有办法我可以做到这一点而不必对列表进行排序?
functional-programming - Miranda 中缺少案例定义
当我打电话给这个时,我得到了一个丢失的案例定义
我已经检查过了,无论我发送什么,它都可以自行工作。
这就是我调用它的地方(警告:现在写得有点糟糕):
haskell - Haskell / Miranda:查找函数的类型
简介: 这是来自 Miranda 考试的过去试题,但语法与 Haskell 非常相似。
问题: 以下表达式的类型是什么,它的作用是什么?(函数长度和交换的定义如下)。
笔记:
请随时用 haskell 语法回复 - 很抱歉将星星用作多型,但我不想将其错误地翻译成 haskell。基本上,如果一个变量具有 * 类型,而另一个具有 * 则意味着它们可以是任何类型,但它们必须都是相同的类型。如果一个有**,则意味着它可以但不需要与*具有相同的类型。我认为它对应于haskell 用法中的a、b、c 等。
我的工作至今
从长度的定义你可以看到它找到了任何东西列表的长度,所以这给出了
从定义来看,我认为 swap 接受一个函数和两个参数,并产生交换了两个参数的函数,所以这给出了
foldr 接受一个二进制函数(如加号)一个起始值和列表,并使用该函数从右到左折叠列表。这给
我知道在函数组合中它是右关联的,因此例如第一个点 (.) 右侧的所有内容都需要生成一个列表,因为它将作为第一个 foldr 的参数给出。
foldr 函数输出单个值(折叠列表的结果),所以我知道返回类型将是某种多型而不是多型列表。
我的问题
我真的不确定从这里去哪里。我可以看到 swap 需要接受另一个参数,那么这个部分应用是否暗示整个事物是一个函数?我很困惑!
haskell - Haskell:使用列表理解拆分列表
如何使用列表理解将列表分成两半?
例如,如果我有[1,1,2,2,3,3,4,4,5,5]
并且我只想[1,1,2,2,3]
到目前为止我的尝试:
有什么想法吗?
[注:这实际上不是 Haskell,而是类似的。!用于索引列表,# 给出长度)
编辑::
好吧,事实证明
有效,但仅在数字列表中而不是字符串中。有什么线索吗?
miranda - mira 的命令历史?
mira 命令对于在终端输入的命令是否具有类似 shell 的历史记录机制?我经常按向上箭头来纠正一个小错字,但它不起作用。我在 Mac OS X 上使用 Miranda 2.044。
haskell - 将整数表示为函数(教堂数字?)
给定以下函数定义并假设所有正整数的定义相似,给出一个名为 plus 的函数的类型定义和代码,该函数将两个表示整数的此类函数作为参数,并返回一个表示两个输入整数之和的函数。例如,应该评估一个接受两个参数并返回(plus one two)
的函数。f x
(f(f(f x)))
等等
我是函数式编程的新手,我无法理解这一点。我首先不知道如何在不写出所有正整数的情况下定义函数(这显然是不可能的)。如,如果我有plus(sixty, forty)
,我的函数如何识别 f 应用了 60 次 60 次x
?
我打算用 Miranda 写这篇文章,但我对 Haskell 更熟悉,所以欢迎任何帮助。
haskell - 米兰达类型错误
谁能告诉我哪里出了问题?
我的理解是:因为f
左边有一个论点,而右边有两个论点?
有更详细的解释吗?