标签: haskell-platform

将haskell平台更新到最新的最流畅的方法是什么?

我在OSX 10.6上,目前有平台2010.2.0.0.我应该只在顶部安装2011.2.0.1还是有更顺畅的更新机制?

haskell upgrade haskell-platform

19
推荐指数
2
解决办法
5798
查看次数

GHC和Haskell平台有什么区别?

我即将进入Haskell,我有点困惑,为什么我建议通过brew安装GHC和Haskell平台.

GHC不是Haskell实现/编译器吗?
什么时候需要平台?

haskell ghc haskell-platform

19
推荐指数
2
解决办法
3570
查看次数

hackage.haskell.org文档约定含义

我目前正在阅读http://hackage.haskell.org/packages/archive/containers/latest/doc/html/Data-Set.html#t:Set

下面的细节传达了什么(对绝对的haskell初学者)?

便携性:便携式(其他哪些是便携性值?)
稳定性:临时性(其他哪些是稳定性值?)
维护者:libraries@haskell.org
安全Haskell:安全(有什么东西不安全吗?)

haskell haskell-platform

18
推荐指数
1
解决办法
350
查看次数

如何在Linux上安装2018年的Haskell(平台或堆栈)?

我试图从MiranLipovača 的书" 了解你的哈斯克尔 "一书中学习Haskell.本书和haskell.org都建议安装Haskell平台,但我没有下载Manjaro Linux(基于Arch).

我从2014年开始找到这个指南,并决定从Manjaro的存储库安装这些软件包.这很好用,直到我想在Emacs中使用haskell-mode.我对此进行了故障排除,发现它是包的问题(主要是Stack).

寻找解决方法,我找到了这个Reddit线程,它描述了安装Haskell(不是平台)的方法,以及包的问题.我跟着一个评论,并结束了与脚本安装堆栈(GHC和)的描述在这里:

wget -qO- https://get.haskellstack.org/ | sh
stack setup
stack update
Run Code Online (Sandbox Code Playgroud)

我的问题与此有关:

  1. 这是2018年在Linux(Manjaro)上安装正常运行的Haskell(平台)的推荐方法吗?如果不是:这样做的方式是什么?
  2. Haskell平台包含:GHC,Cabal,Stack和一些包.安装了GHC和Stack,如何通过Stack安装Cabal?
  3. 我是否需要Cabal(堆栈似乎有重叠的功能)?
  4. 看看Haskell平台的软件包,如上所述安装Stack会丢失什么,如果有的话?看$HOME/.stack/programs/x86_64-linux/ghc-tinfo6-nopie-8.2.2/lib/ghc-8.2.2其中许多似乎已经安装.

linux haskell cabal haskell-platform haskell-stack

18
推荐指数
2
解决办法
7045
查看次数

使用标准的haskell泛型库进行类型化同构

有在短短的哈斯克尔平台单独(许多重叠的模块数泛型库syb,Data.Typeable,Data.Data,GHC.Generics),但我有一个非常基本的通用编程任务的麻烦.

我希望能够在相同形状的类型之间进行转换,即我想要在同构类型之间的多态,类型转换函数,本质上是本文末尾提供的(PDF),其中提到了索引类型族.

我并不关心废弃我的样板,而是能够围绕总和和产品抽象构建新的库.

下面的问题是GHC.Generic我认为最接近我需要的问题,但欢迎其他解决方案.


以下两种类型具有相同的形状

data Pair = Pair Char Int deriving (Generic, Show)
data Pair2 = Pair2 Char Int deriving (Generic, Show)
Run Code Online (Sandbox Code Playgroud)

我想使用GHC.Generics在它们之间转换值.由于所有幻像参数和其他废话,以下未能进行类型检查:

f :: Pair -> Pair2
f = to . from
Run Code Online (Sandbox Code Playgroud)

最终,我想要一个类似于fromInteger具有任何Generic(或任何其他类可支持此实例)实例的多态返回值的函数.我想我正在寻找类似的东西GHC.Generics:

--class:
type family NormalForm a
class ToGeneric a where
    to :: a -> NormalForm a
class FromGeneric b where
    from :: NormalForm b -> b

--examples:
data …
Run Code Online (Sandbox Code Playgroud)

generics haskell ghc haskell-platform

17
推荐指数
2
解决办法
706
查看次数

Haskell重新安装基础并启用了性能分析

我正在尝试按照此处列出的说明重新安装我的Haskell库并启用性能分析

但是,每当cabal尝试重新安装其中一个库时,我都会收到以下消息:

LibraryNameHere.hs:1:1:
    Could not find module `Prelude'
    Perhaps you haven't installed the profiling libraries for package `base'?
    Use -v to see a list of the files searched for.
Run Code Online (Sandbox Code Playgroud)

当我尝试重新base启动并启用性能分析时,我收到以下消息:

me@machine:~/.cabal/$ cabal install -p base
Resolving dependencies...
All the requested packages are already installed:
base-4.5.0.0
Use --reinstall if you want to reinstall anyway.
me@machine:~/.cabal/$ cabal install --reinstall -p base
Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: base (user goal)
rejecting: base-4.7.0.0, 4.6.0.1, 4.6.0.0, 4.5.1.0, …
Run Code Online (Sandbox Code Playgroud)

profiling haskell ghc cabal haskell-platform

17
推荐指数
1
解决办法
2539
查看次数

从模块导出

以下是来自http://www.angelfire.com/tx4/cus/shapes/haskell98.html的代码.如果我在模块头中注释名称,它会在WinGHCi中正确编译和执行.但是如果保留了名称,那么它就不会编译 - 它会在名称MakeCircle上报告错误.我的问题是:如果我想明确提到我想导出MakeCircle,需要更改哪些代码?

module Circle -- (Circle, MakeCircle, getRadius, setRadius)
  where
  import Shape

  class Shape a => Circle a where
      getRadius :: a -> Int
      setRadius :: a -> Int -> a

  instance Shape CircleInstance where
      getX = x
      getY = y
      setX a newx = a {x = newx}
      setY a newy = a {y = newy}
      moveTo a newx newy = a {x = newx, y = newy}
      rMoveTo a deltax deltay = a {x = …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-platform

15
推荐指数
2
解决办法
1万
查看次数

cabal-install和Debian

所以,这是一个个人问题,但也许人们会有很好的建议或解决方法.

问题是在Debian下安装cabal-install和haskell-platform.

当你apt-get install haskell-platform,它随附cabal-install,它的命令cabal可用.

现在这cabal-install不是最新的:

> which cabal
/usr/bin/cabal
> /usr/bin/cabal --version
cabal-install version 0.8.0
using version 1.8.0.2 of the Cabal library
Run Code Online (Sandbox Code Playgroud)

但是,我对跑步的理解cabal update是它更新了cabal,但由于它不是"Debian thingy",它将它放入~/.cabal/bin/.

> ~/.cabal/bin/cabal --version
cabal-install version 0.8.2
using version 1.8.0.2 of the Cabal library
Run Code Online (Sandbox Code Playgroud)

现在我的系统有2个cabals,而我输入cabal的那个不是我想要使用的那个...因为它会不断更新另一个而不是自己,因此无效.

所以我做的是我把它别名~/.bashrc:

alias cabal='~/.cabal/bin/cabal'
Run Code Online (Sandbox Code Playgroud)

现在:

> cabal --version
cabal-install version 0.8.2
using version 1.8.0.2 of the Cabal library
Run Code Online (Sandbox Code Playgroud)

所以,我最后的问题:

  • 是否有一个deb存储库可以容纳cabal 0.8.2?
  • 我目前的解决方案能否导致问题?(例如,which cabal仍指向我的无用 …

debian haskell cabal haskell-platform cabal-install

13
推荐指数
2
解决办法
6633
查看次数

导入monad不起作用(泄漏haskell平台)

由于最新的Ubuntu 13.04没有haskell-plattform,我只下载了GHCi并且直到现在都没有问题.

但现在我想和monad一起工作.用它们导入它们

import Control.Monad.State
Run Code Online (Sandbox Code Playgroud)

例如不起作用.错误消息:

Could not find module `Control.Monad.State'
Perhaps you meant
  Control.Monad.ST (from base)
  Control.Monad.ST.Safe (from base)
  Control.Monad.Fix (from base)
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)

我该如何手动下载它们,还是有完全不同的问题?

import monads haskell haskell-platform

13
推荐指数
1
解决办法
6022
查看次数

`cabal update`由于'内存不足'而失败

这是什么cabal update输出:

Downloading the latest package list from hackage.haskell.org
cabal: out of memory (requested 2097152 bytes)
Run Code Online (Sandbox Code Playgroud)

原因可能是内存不足.怎么样tail 00-index.cache

pkg: charade 0.1 b# 46384
pkg: charset 0.0 b# 46390
pkg: charset 0.1 b# 46393
pkg: charset 0.2.0 b# 46396
pkg: charset 0.2.1 b# 46399
pkg: charset 0.2.2 b# 46402
pkg: charset 0.2.3 b# 46405
pkg: charset 0.3 b# 46408
pkg: charset 0.3.0.1 b# 46412
Run Code Online (Sandbox Code Playgroud)

我可以00-index.tar.gz轻松下载并00-index.tar解开.但是,因为out of memory,我无法生成缓存文件!cabal能00-index.cache以廉价的方式在当地产生吗?

cabal --version …

haskell cabal haskell-platform

13
推荐指数
2
解决办法
2556
查看次数