raspberry pi 2 上的 GHCi?

GHCi on raspberry pi 2?

我正在做几个 haskell 项目 运行 在 raspberry pi 2 上,以及你可以使用 apt-get 从 [=16= 安装的 ghc 版本] (7.4.1)。但是它没有 GHCi,这会阻止编译一些重要的包(如 Vector)。我已经看到一些关于能够将更高版本的 ghc(带有 ghci)安装到 pi 上的谣言,但最近没有。 haskell wiki 上的条目看起来已经过时几年了。有人对此有好运吗?

我运气不错!

sagemuej@sagemuej-Aspire-5742G:~$ ssh pi-loc
Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Apr  1 00:24:44 2015 from sagemuej-aspire-5742g.localdomain
pi@raspberrypi:~$ ghci
GHCi, version 7.8.2: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> :m +Data.Vector
Prelude Data.Vector> fromList [1,2,3]
Loading package array-0.5.0.0 ... linking ... done.
Loading package deepseq-1.3.0.2 ... linking ... done.
Loading package primitive-0.5.2.1 ... linking ... done.
Loading package vector-0.10.9.1 ... linking ... done.
fromList [1,2,3]

好看吗?

这是一个完整的 GHC 7.8。不过,我必须 bootstrap 从源头获取它。如果我没记错的话,按照正常的设置说明工作得很好——尽管构建需要很长时间(比如,半个)。

主要问题是内存:对于一些较大的模块,即使在 运行 没有 X 的情况下,编译器需要的也超过了 π 所能提供的。我所做的很简单,我连接了一个 USB 硬盘驱动器,然后在其上设置交换分区。当然,交换会使一切变得更慢,但最终它会成功。至少对我有用。