小编Jon*_*nke的帖子

GHCJS:如何使用FFI导入高阶javascript函数?

如何在GHCJS中导入如下Javascript函数?

xs.subscribe(function(x) { console.log(x) })
Run Code Online (Sandbox Code Playgroud)

我尝试了以下各种组合而没有成功:

data Observable_
data Disposable_

type Observable a = JSRef Observable_
type Disposable = JSRef ()

foreign import javascript unsafe "$1.subscribe($2)"
  rx_subscribe :: Observable a -> JSRef (a -> IO()) -> IO Disposable
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助,并链接到GHCJS FFI的文档.

谢谢

javascript haskell reactive-extensions-js rxjs ghcjs

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

如何搜索hackage包中的函数?

也许我错过了一些东西,但有没有办法在一些包裹上搜索hackage?

假设我知道Snap框架有一个叫做的函数render.如何在它的hackage页面上找到它:http://hackage.haskell.org/package/snap-0.9.0.1

haskell hackage

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

如何在Haskell中杀死一个线程

使用Control.Concurrent和forkIO有一些情况会使线程处于阻塞状态(这在具有网络的Windows下尤为常见)所以即使尝试使用killThread,也不会在线程中引发异常.还有其他方法可以强制线程死掉吗?

我尝试使用exitFailure从帮助程序线程终止整个应用程序在这些条件下没有任何影响.

Glorious Glasgow Haskell编译系统,版本6.12.1 HP 2010.1.0.0

编辑:为了清理,我不想终止应用程序,我宁愿杀掉已被阻止很长时间的线程.然而,即使在这里有很多例子,在辅助线程中使用exitWith完成代码,并且这种方案在我所拥有的条件下不起作用.

windows multithreading haskell signals ghc

11
推荐指数
1
解决办法
1765
查看次数

最佳实践:Windows上的Erlang Application Deploy

在部署即用型erlang应用程序时,我希望用户使用

  • 在互联网上找到正确的erl版本.
  • 安装erl vm
  • 解压缩并确定梁文件的位置(与应用程序一起)
  • 读一篇自述文件
  • 修改任何甚至看起来像配置文件的东西

我有几个想法可能是一种方式,但我想得到一些意见.

deployment erlang

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

284无法位于动态链接库SSLEAY32.dll中

Postgres 8.3安装在Windows 2008服务器上.Ruby 1.8-6已安装.gem install ruby​​-postgres.

当我尝试简单连接时,我得到了

ruby.exe - 找不到序数

序号284无法位于动态链接库SSLEAY32.dll中.

ssleay32与postgres 8.3一起发布和ruby 1.8-6之间似乎存在一些冲突

我知道我可以使用gem postgres-pr但是我会优先使用ruby-postgres,因为这是我在所有其他设置上使用的,即使它们大多数是在linux而不是windows下运行.

所以问题是,有没有人解决这个问题以及如何解决?

ruby postgresql

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

在 Windows 中为控制台输出着色

我试图找到是否可以在 Windows 系统中对控制台输出进行颜色处理。我找到了Console - Ansi,但我找不到有关 Windows 提示中的着色输出的任何信息。

我非常感谢有关我的问题的信息。

haskell cmd package ghci hackage

5
推荐指数
1
解决办法
1633
查看次数

如何通过FFI从包含数据类型的haskell导出函数

我能够通过包含标准数据类型的FFI导出简单的haskell函数.但是,我不知道如何导出采用标准数据类型以外的数据类型的函数.

例如

data SomeType a = SomeType a
data SomeOtherType b = SomeOtherType b

doSomething:: SomeType a -> SomeOtherType b
Run Code Online (Sandbox Code Playgroud)

如何导出函数doSomething?

现有文件谈到了非常简单的例子.

haskell ffi

5
推荐指数
1
解决办法
349
查看次数

试图理解Haskell STM简单的事情

我无法理解STM中原子的概念.

我用一个例子说明

import Control.Concurrent
import Control.Concurrent.STM
import Control.Monad
import qualified Data.Map as Map 

main :: IO ()
main =  do
    d <- atomically$ newTVar Map.empty
    sockHandler  d 

sockHandler ::  TVar (Map.Map String Int)-> IO ()
sockHandler  d = do
    forkIO $ commandProcessor  d 1
    forkIO $ commandProcessor  d 2
    forkIO $ commandProcessor  d 3
    forkIO $ commandProcessor  d 4
    forkIO (threadDelay 1000 >> putStrLn "Hello World?")

    threadDelay 10000
    return ()

commandProcessor ::  TVar (Map.Map String Int)-> Int-> IO ()
commandProcessor …
Run Code Online (Sandbox Code Playgroud)

haskell transactional-memory ghc

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

为什么在Data.Text中解压缩和显示的方式不同(对于非ASCII字符,行为有所不同?)

unpack并且show是两种转换Text为a的方法String.但是,对于非ASCII字符,它们的行为和定义不同:

Prelude Data.Text> putStrLn $ unpack $ pack "??????"
??????
Prelude Data.Text> putStrLn $ show $ pack "??????"
"\20320\22909\25105\30340\26379\21451"
Run Code Online (Sandbox Code Playgroud)

有了show,我相信,返回码点的字符串,而unpack显示的实际字符.我发现这在编码时是一个麻烦,因为我已经定义了一个Show实例并想要传入的函数Text,并期望它将实际的非ASCII字符作为a返回String.

这种行为的设计意图是什么?为什么showunpack定义不同?

该来源可以在http://hackage.haskell.org/packages/archive/text/0.11.1.5/doc/html/src/Data-Text.html找到.

haskell

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