小编242*_*684的帖子

在osx上为GHCJS安装webkitgtk3

我正在尝试在Mac OSX上安装ghcjs-dom软件包.由于存在很多依赖关系,因此它很颠簸.Webkitgtk3是我目前的克星

cabal install ghcjs-dom
Resolving dependencies...
Configuring webkitgtk3-0.14.1.1...
Failed to install webkitgtk3-0.14.1.1
Build log ( /Users/markkaravan/.cabal/logs/webkitgtk3-0.14.1.1.log ):
[1 of 2] Compiling SetupWrapper     ( /var/folders/br/4zwhphlx3816v87cc0bb5sxh0000gn/T/cabal-tmp-24401/webkitgtk3-0.14.1.1/SetupWrapper.hs, /var/folders/br/4zwhphlx3816v87cc0bb5sxh0000gn/T/cabal-tmp-24401/webkitgtk3-0.14.1.1/dist/setup/SetupWrapper.o )
[2 of 2] Compiling Main             ( /var/folders/br/4zwhphlx3816v87cc0bb5sxh0000gn/T/cabal-tmp-24401/webkitgtk3-0.14.1.1/dist/setup/setup.hs, /var/folders/br/4zwhphlx3816v87cc0bb5sxh0000gn/T/cabal-tmp-24401/webkitgtk3-0.14.1.1/dist/setup/Main.o )
Linking /var/folders/br/4zwhphlx3816v87cc0bb5sxh0000gn/T/cabal-tmp-24401/webkitgtk3-0.14.1.1/dist/setup/setup ...
[1 of 2] Compiling Gtk2HsSetup      ( Gtk2HsSetup.hs, dist/setup-wrapper/Gtk2HsSetup.o )
[2 of 2] Compiling Main             ( SetupMain.hs, dist/setup-wrapper/Main.o )
Linking dist/setup-wrapper/setup ...
Configuring webkitgtk3-0.14.1.1...
setup: The pkg-config package 'webkitgtk-3.0' version >=1.8 is required but it
could not be found.
cabal: Error: some …
Run Code Online (Sandbox Code Playgroud)

homebrew haskell webkitgtk ghcjs ghcjs-dom

19
推荐指数
1
解决办法
526
查看次数

如何让Idris取消映射矢量以推断类型?

我有以下工作职能:

unMaybe : (t : Type) -> {auto p : t = Maybe x} -> Type
unMaybe {x} _ = x
Run Code Online (Sandbox Code Playgroud)

这个功能很好用:

> unMaybe (Maybe Int)
Int
Run Code Online (Sandbox Code Playgroud)

我还有另一个类似的功能:

unMaybesA : (ts : Vect n Type) -> {xs : Vect n Type} -> {auto p : map Maybe xs = ts} -> Vect n Type
unMaybesA {xs} _ = xs
Run Code Online (Sandbox Code Playgroud)

不幸的是,以下失败:

> unMaybesA [Maybe Int, Maybe String]

(input):1:1-35:When checking argument p to function Main.unMaybesA:
        Can't find a value of type
                Data.Vect.Vect …
Run Code Online (Sandbox Code Playgroud)

idris

10
推荐指数
1
解决办法
149
查看次数

如何在不改变对象的情况下更改对象的属性?

const a = {x: "Hi", y: "Test"}
const b = ???
// b = {x: "Bye", y: "Test"}
// a = {x: "Hi", y: "Test"}
Run Code Online (Sandbox Code Playgroud)

如何在不变异的情况下将x设置为"Bye"?

javascript

9
推荐指数
3
解决办法
1万
查看次数

GHCJS-DOM事件指导

我正在尝试了解如何使用GHCJS-DOM创建GUI.我一直在看hello world示例https://github.com/ghcjs/ghcjs-dom-hello,这是微不足道的.添加新节点非常简单.我不能做的,并且无法从库文档(仅签名)中解决的是添加一些事件.例如,在鼠标单击时向主体添加新节点.

我希望避免使用像JQuery这样的JS库,因为我想通过GUI在GHC(webkit)和GHCJS之间移植.

最后,我希望能够将一个鼠标事件表达为FRP事件,但我会一次解决一个步骤.

如果有人有任何指导我会非常感激.我已经使用了haskell几年了,但这是我第一次进入DOM.

dom haskell ghcjs ghcjs-dom

8
推荐指数
1
解决办法
634
查看次数

我怎样才能让伊德里斯自动证明两个值不相等?

我怎样才能让伊德里斯自动证明两个值不相等?

p : Not (Int = String)
p = \Refl impossible
Run Code Online (Sandbox Code Playgroud)

如何让Idris自动生成此证明?auto似乎不能证明涉及的陈述Not.我的最终目标是让Idris自动证明矢量中的所有元素都是唯一的,并且两个矢量是不相交的.

namespace IsSet
    data IsSet : List t -> Type where
        Nil : IsSet []
        (::) : All (\a => Not (a = x)) xs -> IsSet xs -> IsSet (x :: xs)

namespace Disjoint
    data Disjoint : List t -> List t -> Type where
        Nil : Disjoint [] ys
        (::) : All (\a => Not (a = x)) ys -> Disjoint xs ys …
Run Code Online (Sandbox Code Playgroud)

proof idris

8
推荐指数
1
解决办法
425
查看次数

伊德里斯有可能参加吗?

Idris是MaybeT从Haskell那里买到的还是我应该使用别的东西?我正在尝试使用许多type值进行计算IO (Maybe a)。如何结合MaybeIO成(如一个单子MaybeT IO在伊德里斯在Haskell)?

haskell idris

8
推荐指数
1
解决办法
113
查看次数

制定一个可能的约束方程式

我怎样才能约束到Eq a?它需要是善良的 - >>约束

我尝试了什么:

class (a ~ Maybe b, Eq b) => K a where
instance (a ~ Maybe b, Eq b) => K a where
Run Code Online (Sandbox Code Playgroud)

错误:

Not in scope: type variable ‘b’
Run Code Online (Sandbox Code Playgroud)

用法示例:

data Test c = forall a. (c a) => Test a
r :: Test K -> Maybe Bool
r (Test o) = (==) <$> o <*> o -- I need GHC to infer that o is Maybe Eq
Run Code Online (Sandbox Code Playgroud)

有效的案例:

pp :: Test ((~) String) -> …
Run Code Online (Sandbox Code Playgroud)

haskell

7
推荐指数
2
解决办法
420
查看次数

`zipWith( - )[6,5,4] [1,2,3]`错误

为什么zipWith (-) [6,5,4] [1,2,3]伊德里斯失败了?如果不编写专门的zipWith函数,是否可以避免该错误?

main8.idr:

module Main

import Data.HVect
import Data.Vect
import Data.Vect.Quantifiers

t : Vect 3 Nat
t = zipWith (-) [6,5,4] [1,2,3]
Run Code Online (Sandbox Code Playgroud)

错误:

*main8> :load main8.idr
Type checking ./main8.idr
main8.idr:8:3:When checking right hand side of t with expected type
        Vect 3 Nat

When checking argument f to function Data.Vect.zipWith:
        Can't disambiguate since no name has a suitable type:
                Prelude.Interfaces.-, Prelude.Nat.-
Holes: Main.t
Run Code Online (Sandbox Code Playgroud)

这个文件有效:

module Main

import Data.HVect
import Data.Vect
import Data.Vect.Quantifiers

vm : (ms : Vect …
Run Code Online (Sandbox Code Playgroud)

idris

7
推荐指数
0
解决办法
114
查看次数

榆树有像镜头一样的类似物吗?

在haskell我使用镜头库.榆树有类似的东西吗?如果我有这个elm数据结构,我怎么能添加3 test.a.b.

test = {
  a = {
    b = 5
  }
 }
Run Code Online (Sandbox Code Playgroud)

在哈斯克尔,我会写:test & a.b ~% (+3).在haskell,我可以编写makeLenses ''RecordName并自动生成镜头,榆树有吗?

elm

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

我在哪里可以找到lodash/fp的打字稿类型?

我在哪里可以找到lodash/fp的打字稿类型?使用lodash定义形成npm,导入lodash/fp时出错.

typescript lodash

4
推荐指数
2
解决办法
4135
查看次数

标签 统计

haskell ×4

idris ×4

ghcjs ×2

ghcjs-dom ×2

dom ×1

elm ×1

homebrew ×1

javascript ×1

lodash ×1

proof ×1

typescript ×1

webkitgtk ×1