小编plc*_*plc的帖子

选择哪种FRP包装?

我刚刚开始研究Haskell中的功能反应编程世界,我想在反应环境中尝试GUI编程(使用gtk,因为实质性绑定).

现在,我一直在看Grapefruit,Reactive-Banana和Buster,我想要任何证明使用任何一个或其他包装的喜悦/恐惧.

我所拥有的只是这些初步的选择:

  • 我不介意做一些FRP包的绑定给我自己,因为我对抽象的后端想法(Grapefruit有)有一种矛盾的感觉..

  • 虽然我觉得类型理论很有意思,但我也很重视实际程序的简单编码,这似乎让grapfruit记录有点偏离..

也就是说,除非你们当中有些人说服我不这么认为:-)

haskell frp reactive-banana

27
推荐指数
2
解决办法
3606
查看次数

是否有可能对haskell类型变量设置不等式约束?

是否有可能对函数的类型变量设置不等式约束,foo :: (a ~ b) => a -> bGHC类型族文档中那样,除了不等式而不是相等?

我意识到可能没有直接的方法来做到这一点(因为ghc文档没有列出任何我的知识),但如果根据所有异国情调的类型,这在某种程度上是不可能的,我会感到困惑 - 我已经接触过了.

haskell type-systems type-inference

25
推荐指数
2
解决办法
1982
查看次数

为什么括号在F#类型声明中很重要

在我的F#代码中观察到这种行为,我完全感到困惑,这里是从交互式会话中获取的:

Microsoft (R) F# 2.0 Interactive build 4.0.40219.1
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

> type foo = Foo of (string * int);;
  type foo = | Foo of (string * int)

> let f = Foo ("bar",42);;
  val f : foo = Foo ("bar", 42)

> match f with Foo x -> x;;
  val it : string * int = ("bar", 42)

> type bar = Bar of string * int;;
  type bar = …
Run Code Online (Sandbox Code Playgroud)

f# types pattern-matching

6
推荐指数
1
解决办法
512
查看次数