问题标签 [haskell]

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.

0 投票
4 回答
1081 浏览

haskell - 在 Haskell 中,如何在父进程和分叉子进程之间共享数据?

我什至如何首先使用 Haskell 来分叉一个子进程?

此外,如果管道是数据共享问题的明显解决方案 - 除了使用管道之外还有其他方法吗?我熟悉 C 中共享内存段的使用(shmget、*shmat、shmdt 和 shmctl 函数)。Haskell 可以模仿吗?如果是这样,怎么做?

如果您能提供任何帮助,我将不胜感激。

我必须承认我对函数式编程语言非常陌生,尤其是在 Haskell 方面。所以如果我说了些傻话,请原谅我(并请纠正我)。

0 投票
22 回答
31888 浏览

haskell - Why is lazy evaluation useful?

I have long been wondering why lazy evaluation is useful. I have yet to have anyone explain to me in a way that makes sense; mostly it ends up boiling down to "trust me".

Note: I do not mean memoization.

0 投票
3 回答
2567 浏览

haskell - 如何使用 runhaskell 增加堆栈大小?

我正在编写一些一次性的 Haskell 脚本来解决一些Project Euler问题。我真的不想编译它们,因为我必须不断地进行大量更改,但在某些情况下,我发现堆栈空间已用完。

的文档runhaskell说以下语法应该增加堆栈空间:

这永远不会起作用(在我尝试过的任何排列中)。堆栈大小始终保持为 8,388,608。这很令人抓狂,我在谷歌上没有找到太多帮助。

有什么建议么?我究竟做错了什么?

0 投票
4 回答
1655 浏览

algorithm - 函数式语言的快速元素查找(Haskell)

假设我们正在遍历一个图,并且想要快速确定一个节点之前是否出现过。我们有一些设定的先决条件。

  1. 节点已用整数值 1..N 标记
  2. 图是用具有邻接列表的节点实现的
  3. 1..N 中的每个整数值都出现在图中,其大小为 N

以纯功能方式执行此操作的任何想法?(不允许哈希表或数组)。

我想要一个有两个函数的数据结构;add(添加遇到的整数)和查找(检查是否添加了整数)。两者都应该优选地花费 O(n) 时间来分摊 N 次重复。

这可能吗?

0 投票
2 回答
1351 浏览

haskell - 函数式编程新手

嘿,我真的是 Haskell 的新手,我一生都在使用更经典的编程语言。我不知道这里发生了什么。我正在尝试制作一个非常简单的维特比算法实现,但仅适用于两种状态(诚实和不诚实的赌场)

我有一个问题,我想解决我的数组,但我不认为我得到了正确的类型。或者我每次尝试解决它时都会创建一个新数组 - 同样愚蠢。请特别查看 myArray、te 中缀和 dynamicProgram。请漂亮漂亮

0 投票
4 回答
2729 浏览

search - 对 Haskell 中的某些元素进行二分搜索

我正在尝试完成我的 Haskell 作业的最后一部分,但我被困住了,我的代码到目前为止:

问题问:

编写一个 Haskell 程序,获取英语句子“english”,使用二分搜索查找英法词典中的每个单词,执行逐字替换,组装法语翻译并将其打印出来。

函数“快速排序”拒绝重复条目(带有“错误”/中止),因此任何英语单词都有一个法语定义。使用原始 'raw_data' 和将 '("saves", "sauve")' 添加到 'raw_data' 后测试 'quicksort'。

这是二分搜索的冯诺依曼晚期停止版本。将字面音译为 Haskell。进入后,Haskell 版本必须立即验证递归“循环不变量”,如果无法保持,则以“错误”/中止终止。如果找不到英文单词,它也会以相同的方式终止。

在 Haskell 版本中

因为类型为“[Entry]”的常量字典“a”是全局可见的。提示:输入“binsearch”后立即将您的字符串(英文单词)变成“Entry”。

高级数据类型“Entry”的编程价值在于,如果您可以在整数上设计这两个函数,那么将它们提升到对 Entry 进行操作是微不足道的。

有人知道我应该如何处理我的二进制搜索功能吗?

0 投票
5 回答
1962 浏览

string - Haskell字符串列表通过行

我正在使用行功能来获取输入并在将其发送到函数之前拆分许多变量。请查看运行函数并告诉我为什么会出现以下错误。似乎它应该只将 ln 中的第一个字符串分配给 seq,但我得到一个错误。

0 投票
6 回答
12273 浏览

haskell - Haskell IO and closing files

When I open a file for reading in Haskell, I've found that I can't use the contents of the file after closing it. For example, this program will print the contents of a file:

I expected that interchanging the putStr line with the hClose line would have no effect, but this program prints nothing:

Why does this happen? I'm guessing it has something to do with lazy evaluation, but I thought these expressions would get sequenced so there wouldn't be a problem. How would you implement a function like readFile?

0 投票
7 回答
1377 浏览

haskell - 我需要多少数学才能在 Haskell 中变得富有成效?

我有兴趣在自己的时间(而不是通过课程)学习 Haskell,但我怀疑我的数学背景可能不足以理解重要的语言概念 (TBD)。

我有一年的大学微积分(单变量),但没有离散数学或逻辑。

我会在数学上遇到空白吗?

0 投票
11 回答
19443 浏览

windows - Windows 安装程序上的 Haskell

不幸的是,我无法在工作或家里使用 *nix 盒子。我可以使用 Haskell 的唯一方法是在 Windows 上。这里有人在 Windows 上使用 Haskell 吗?你的设置是什么?