小编Tri*_*tos的帖子

Haskell绘图库类似于MATLAB

是否有用于绘制类似于MATLAB,scilab或matplotlib的绘图的Haskell库?它们都有非常简单的接口,就像状态机一样工作:

plot(xs, ys)
show() -- opens window with plot
Run Code Online (Sandbox Code Playgroud)

在窗口中显示绘图并能够将它们写入磁盘会很好.

visualization haskell

29
推荐指数
3
解决办法
7800
查看次数

Haskell中有一些目录漫游器吗?

在Haskell中是否有一些递归目录walker所以我可以编写类似的东西

listing <- walkDir "/tmp"
Run Code Online (Sandbox Code Playgroud)

我不想写我自己的.我可以从cabal安装一些依赖,但我希望它是跨平台的(至少Linux和Windows).

io haskell directory-traversal

17
推荐指数
3
解决办法
2816
查看次数

"后续读取"在volatile变量的上下文中意味着什么?

Java 内存可见性文档说:

在每次后续读取同一字段之前,会发生对易失性字段的写入.

我很困惑多线程背景下的后续意义.这句话是否意味着所有处理器和内核都有一些全局时钟.那么例如我在某个线程的循环c1中为变量赋值,然后第二个线程能够在后续循环c1 + 1中看到该值?

java multithreading cpu-architecture

13
推荐指数
1
解决办法
411
查看次数

标准名称(过滤器p xs,过滤器(not.p)xs)

haskell中是否有一些函数在一个列表遍历(这里是两个)中求值(过滤p xs,filter(not.p)xs)或者在这种函数的函数式编程中是否有一些通用名称?

haskell functional-programming naming-conventions

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

Http-Conduit频繁连接失败

我正在编写应用程序,它将通过HTTP下载一些文件.到目前为止,我使用以下代码片段来下载页面正文:

import network.HTTP
simpleHTTP (getRequest "http://www.haskell.org/") >>= getResponseBody
Run Code Online (Sandbox Code Playgroud)

它工作正常,但无法通过HTTPS协议建立连接.所以为了解决这个问题,我已经切换到HTTP-Conduit,现在我正在使用以下代码:

simpleHttp' :: Manager -> String -> IO (C.Response LBS.ByteString)
simpleHttp' manager url = do
     request <- parseUrl url
     runResourceT $ httpLbs request manager
Run Code Online (Sandbox Code Playgroud)

它可以连接到HTTPS,但出现了令人沮丧的新问题.大约每五个连接失败,异常:

getpics.hs: FailedConnectionException "i.imgur.com" 80
Run Code Online (Sandbox Code Playgroud)

我确信这是HTTP-Conduit问题,因为network.HTTP在同一组页面上工作正常(不包括https页面).

有没有人遇到过这样的问题并且知道解决方案或更好(并且简单,因为这是一个简单的任务,不应该只需要几行代码)替代Conduit库?

networking haskell stability conduit

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

C++ thread_local与std :: thread的线程库不同

C++ 11有关键字thread_local.我想知道这个关键字是否只能使用标准库(std :: thread)创建的线程按预期工作,或者保证可以与其他线程库一起使用,例如Windows CreateThread函数或Unix pthread.

Visual Studio的Microsoft文档声明:

线程扩展存储类修饰符用于声明线程局部变量.对于C++ 11及更高版本中的便携式等效项,请将thread_local存储类说明符用于可移植代码.在Windows上,thread_local是用__declspec(thread)实现的.

因此,thread_local在MS Visual Studio中按预期工作.我仍然想知道其他编译器和平台的情况是否属实.

c++ multithreading

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

在分配之前处理monad值

是否可以将这两行排成一行:

main = do line <- getLine 
    let result = words line
Run Code Online (Sandbox Code Playgroud)

我的意思是像非monadic代码

结果=单词getLine

在我看来,这将提高可读性.

syntax haskell

7
推荐指数
1
解决办法
247
查看次数

在确定之前使用符号

如何在方程式右侧下面的行中使用符号"fibs",尽管它还没有定义:

let fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
Run Code Online (Sandbox Code Playgroud)

haskell

6
推荐指数
2
解决办法
218
查看次数

调试 bash/ksh 脚本和下标

我知道要调试脚本我可以发出命令

set -x 
Run Code Online (Sandbox Code Playgroud)

在第一行。问题在于,当脚本启动其他一些脚本时,它们不会继承此设置。所以我的问题是是否有可能为 shell 和所有子 shell 或某些脚本和它启动的所有脚本全局设置这个标志?

linux debugging bash shell ksh

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

如何处理:重新声明C++内置类型'char16_t'

在C++ 11项目中,我必须使用外部C库.此库主头文件定义

typedef uint16_t        char16_t;  
Run Code Online (Sandbox Code Playgroud)

因为它包含这个库的C++程序的编译失败,消息:

redeclaration of C++ built-in type ‘char16_t’
Run Code Online (Sandbox Code Playgroud)

我唯一的想法是重新打包整个库,但因为char16_t在这个库中普遍存在,所以非常耗时(如果可能的话).是否有一些明智的方法来处理这个问题?

编辑:

我还有另一个想法是删除有问题的行并用uint16_t替换每个char16_t,但我必须修改第三方库头,我不是特别喜欢这个想法(可能有更多类似的错误).所以我也想知道在包含头文件时是否有一些处理C++和C之间不兼容问题的好方法.

c c++ compiler-errors c++11

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