如何在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的文档.
谢谢
也许我错过了一些东西,但有没有办法在一些包裹上搜索hackage?
假设我知道Snap框架有一个叫做的函数render
.如何在它的hackage页面上找到它:http://hackage.haskell.org/package/snap-0.9.0.1
使用Control.Concurrent和forkIO有一些情况会使线程处于阻塞状态(这在具有网络的Windows下尤为常见)所以即使尝试使用killThread,也不会在线程中引发异常.还有其他方法可以强制线程死掉吗?
我尝试使用exitFailure从帮助程序线程终止整个应用程序在这些条件下没有任何影响.
Glorious Glasgow Haskell编译系统,版本6.12.1 HP 2010.1.0.0
编辑:为了清理,我不想终止应用程序,我宁愿杀掉已被阻止很长时间的线程.然而,即使在这里有很多例子,在辅助线程中使用exitWith完成代码,并且这种方案在我所拥有的条件下不起作用.
在部署即用型erlang应用程序时,我不希望用户使用
我有几个想法可能是一种方式,但我想得到一些意见.
Postgres 8.3安装在Windows 2008服务器上.Ruby 1.8-6已安装.gem install ruby-postgres.
当我尝试简单连接时,我得到了
ssleay32与postgres 8.3一起发布和ruby 1.8-6之间似乎存在一些冲突
我知道我可以使用gem postgres-pr但是我会优先使用ruby-postgres,因为这是我在所有其他设置上使用的,即使它们大多数是在linux而不是windows下运行.
所以问题是,有没有人解决这个问题以及如何解决?
我试图找到是否可以在 Windows 系统中对控制台输出进行颜色处理。我找到了Console - Ansi,但我找不到有关 Windows 提示中的着色输出的任何信息。
我非常感谢有关我的问题的信息。
我能够通过包含标准数据类型的FFI导出简单的haskell函数.但是,我不知道如何导出采用标准数据类型以外的数据类型的函数.
例如
data SomeType a = SomeType a
data SomeOtherType b = SomeOtherType b
doSomething:: SomeType a -> SomeOtherType b
Run Code Online (Sandbox Code Playgroud)
如何导出函数doSomething?
现有文件谈到了非常简单的例子.
我无法理解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) 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
.
这种行为的设计意图是什么?为什么show
和unpack
定义不同?
该来源可以在http://hackage.haskell.org/packages/archive/text/0.11.1.5/doc/html/src/Data-Text.html找到.