我正在研究一些在树莓派 2 上运行的 haskell 项目,以及可以使用 apt-get 从 raspbian (7.4.1) 安装的 ghc 版本。但它没有 GHCi,这会阻止一些重要的包(如 Vector)编译。我已经看到一些关于能够将更高版本的 ghc(带有 ghci)放到 pi 上的谣言,但最近没有。haskell wiki 上的条目看起来已经过时了几年。有没有人有这方面的运气?
1 回答
我有一些运气!
sagemuej@sagemuej-Aspire-5742G:~$ ssh pi-loc
Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l
Debian GNU/Linux 系统中包含的程序是免费软件;
每个程序的确切分发条款
在 /usr/share/doc/*/copyright 中的各个文件中进行了描述。 在适用法律允许
的范围内,Debian GNU/Linux 不提供任何担保。 上次登录:2015 年 4 月 1 日星期三 00:24:44 来自 sagemuej-aspire-5742g.localdomain GHCi,版本 7.8.2:http ://www.haskell.org/ghc/ :? 寻求帮助 加载包 ghc-prim ... 链接 ... 完成。 加载包 integer-gmp ... 链接 ... 完成。 正在加载包库...链接...完成。
pi@raspberrypi:~$ ghci
Prelude> :m +Data.Vector
Prelude Data.Vector> fromList [1,2,3]
加载包array-0.5.0.0 ...链接...完成。
加载包 deepseq-1.3.0.2 ... 链接 ... 完成。
加载包primitive-0.5.2.1 ...链接...完成。
加载包vector-0.10.9.1 ...链接...完成。
来自列表 [1,2,3]
不是很好吗?
这是一个完整的 GHC 7.8。不过,我必须从源头引导它。如果我没记错的话,按照正常的设置说明工作得很好——尽管构建需要很长时间(比如半周)。
主要问题是内存:对于一些较大的模块,即使在没有 X 的情况下运行,编译器也需要比 π 提供的更多。我所做的很简单,我连接了一个 USB 硬盘驱动器并在其上设置了一个交换分区。当然,交换会让一切变得更慢,但最终它会成功。至少为我做了。