Tag: haskell

什么是高阶函数的一些有趣的用法?

我目前正在做一个函数式编程课程,我很高兴高阶函数和函数作为一等公民的概念。 然而,我还不能想到许多实际上有用的,概念上的惊人的,或者只是简单有趣的高阶函数。 (除了典型和相当沉闷的map , filter等function)。 你知道这样有趣的function的例子吗? 也许返回函数的函数,返回函数列表(?)等的函数 我会很感激Haskell的例子,这是我目前正在学习的语言:)

Data.Proxy的目的是什么?

从Data.Proxy Proxy似乎只不过是一个单纯的 data Proxy s 我什么时候需要这样一种无人居住的types,或者说是什么使我无法做到的,什么时候与其他方法相比简化了事情,它是如何在实践中使用的?

为什么我们需要容器?

(借口:标题模仿我们为什么需要单子的标题? ) 有容器 (和索引的)(和异教的)和描述 。 但是容器是有问题的 ,对于我的小规模的经验来说,容器的思考比描述的要难。 非索引容器的types与Σ同构 – 这是非常不确定的。 形状和位置的描述有助于,但在英寸 ⟦_⟧ᶜ : ∀ {α β γ} -> Container α β -> Set γ -> Set (α ⊔ β ⊔ γ) ⟦ Sh ◃ Pos ⟧ᶜ A = ∃ λ sh -> Pos sh -> A Kᶜ : ∀ {α β} -> Set α -> […]

IncoherentInstances如何工作?

玩一些代码 : {-# LANGUAGE FlexibleInstances, OverlappingInstances #-} class Arity f where arity :: f -> Int instance Arity x where arity _ = 0 instance Arity f => Arity ((->) af) where arity f = 1 + arity (f undefined) 没有IncoherentInstances : ghci> arity foldr blah blah ambiguous blah blah possible fix blah ghci> arity […]

Haskell有没有ORM工具?

使用Haskell与数据库进行交互的最佳方式是什么? 我习惯于使用某种ORM(Django的ORM,hibernate等),而使用HAppS创build应用程序时,类似的东西也不错。 编辑:我想自由selectPostgresql MySql和SQLite尽可能实际的数据库去。

性能Haskell散列结构。

我正在写程序,做了很多表查找。 就这样,当我偶然发现Data.Map (当然),还有Data.HashMap和Data.Hashtable时,我正在Data.Map Haskell文档。 我不是散列algorithm方面的专家,在检查包之后,他们看起来都非常相似。 因此我想知道: 1:如果有什么重大区别? 2:在大约4000个键值对的地图/表上,查找量最大的是哪一个?

限制string文字只有文本

我意识到, OverloadedStrings语言编译指令包装所有string文字的隐含的fromString 。 我想要做的不是实际上重载string,而只是改变它们的意思,以便它们总是变成Text ,因此,使用string作为字符列表应该导致types错误。 在不导入该类的String实例的情况下,导入IsString类似乎是不可能的。 ghc是否为我提供了一些限制string文本到Text ?

解决ghc-pkg检查logging的问题

ghc-pkg check会列出损坏的软件包,以及它们为什么被破坏。 但据我所知,没有自动化的方式来照顾那些破损的包裹。 什么是处理破包的build议方式? (最好不要重新安装GHC)

在Haskell中,::(双冒号)代表什么?

我看到和使用::符号无处不在,但仍然不知道什么是符号在Haskell中编程的意思,例如 run :: Int -> Int -> Int — ?? 在Haskell中, :: :(双冒号)代表什么?

什么因素可以决定Clojure,Scala还是Haskell会获得牵引力?

鉴于不可能看到未来,与Clojure,Scala或Haskell相关的因素有可能决定它们中的一个是否能够实现? 是否有文化或经济问题可以使这些语言中的一种优于其他语言? 还是这些语言中的任何一个都不可能因为概念的复杂性而获得牵引力呢?