小编Vla*_*ala的帖子

会不会使用seq代替pseq?

如果pseq确保评估顺序而seq没有,为什么seq存在?有没有时间seq应该用完pseq

parallel-processing haskell

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

使用TemplateHaskell中的列表

这是我正在使用的教程.

他有一个例子,tupleReplicate它返回一个带值的函数并复制它:

tupleReplicate :: Int -> Q Exp
tupleReplicate n = do id <- newName "x"
                      return $ LamE (VarP id)
                                    (TupE $ replicate n $ VarE id)
Run Code Online (Sandbox Code Playgroud)

那么VarE id返回一个表达式,然后可以使用replicate?我的问题是,如果id是列表,这将如何工作?我想做的事情如下:

let vals = mkName "vals"
LamE (ListP vals) (map reverse $ ListE vals)
Run Code Online (Sandbox Code Playgroud)

除非因为ListE退货Exp而不起作用[Exp].

更一般地说,我想在TemplateHaskell中编写一个获取列表并将函数应用于它的函数.


这里也有一些示例代码在这里,我试图写这样一个函数

makeModel (id_ : name_ : []) = Person (fromSql id_) (fromSql name_)
Run Code Online (Sandbox Code Playgroud)

haskell template-haskell

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

即使在合格导入后出现"不明确的发生"错误

这是我的代码片段:

import Control.Monad.State as S
get x = x + 1
Run Code Online (Sandbox Code Playgroud)

现在如果我尝试使用get,我会收到以下错误:

Ambiguous occurrence `get'
It could refer to either `Main.get', defined at twitter.hs:59:1
                      or `S.get',
                         imported from Control.Monad.State at twitter.hs:15:1-31
Run Code Online (Sandbox Code Playgroud)

由于我Control.Monad.State作为合格模块导入,不应该自动选择该get功能Main吗?为什么会遇到这种冲突?我该如何解决?

haskell

4
推荐指数
1
解决办法
990
查看次数

如何阻止脚本的所有网络访问?

假设我有一个用Python或Ruby编写的脚本,或用C编写的程序.如何确保脚本无法访问网络功能?

c python sandbox

4
推荐指数
1
解决办法
269
查看次数

通过VCL从varnish发回自定义响应

有没有办法从varnish本身发回自定义回复?

if (req.url ~ "^/hello") {
  return "hello world";
}
Run Code Online (Sandbox Code Playgroud)

varnish varnish-vcl

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

用于ssh到远程文件夹并检查所有文件的脚本?

我有一个公钥/私钥对设置,所以我可以ssh到远程服务器而无需登录.我正在尝试编写一个shell脚本,它将列出远程服务器上特定目录中的所有文件夹.我的问题是:如何指定远程位置?这是我得到的:

 #!/bin/bash

for file in myname@example.com:dir/*
do
if [ -d "$file" ]
then
echo $file;
fi
done
Run Code Online (Sandbox Code Playgroud)

bash shell

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

使用C或Perl创建Cocoa应用程序(非Objective-C)

我很难理解如何将Cocoa与C或Perl一起使用.

背景:我已经看到它在很多地方提到Mac的Cocoa API可以与C,Perl等一起使用但我还没有找到关于如何做到这一点的任何信息.我还发现了一些文章说Cocoa只能和Objective-C一起使用.

我见过CamelBones for Perl,但看起来我必须使用XCode和相当数量的Objective-C来使用它.

是否有任何资源只使用C编译器和文本编辑器构建Cocoa应用程序?

c macos perl cocoa

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

在C语言中运行二进制搜索的最快方法?

例如,假设我想在文件中找到特定的单词或数字.内容按排序顺序(显然).由于我想在文件上运行二进制搜索,将整个文件复制到一个数组然后运行二进制搜索似乎真的浪费时间...我已经有效地将它变成了线性时间算法,因为我'在我运行搜索之前,我必须花费O(n)时间复制该darn文件.

有更快的方法吗?是否有类似lseek的东西可以使用行而不是字节?

如果没有,我最好只做一次线性搜索(假设我只在整个程序期间运行一次搜索)?

c binary-search

3
推荐指数
2
解决办法
3569
查看次数

更快的`elem`在Haskell中使用二进制搜索

我有一个Texts 列表,它们按排序顺序排列.在我看来,我可以elem通过将其实现为二进制搜索而不是线性搜索来编写更快的版本.这样的版本是否已经存在?

haskell

3
推荐指数
2
解决办法
1766
查看次数

对于枚举,Aeson 的导出JSON 无法按预期工作

我通常写我自己ToJSONFromJSON实例,但我决定用deriveJSON一个类型,因为它是如此简单:

data Priority = HIGH | MEDIUM | LOW deriving Show
$(deriveToJSON id ''Priority)

main = BS.putStrLn . encode $ HIGH
Run Code Online (Sandbox Code Playgroud)

我本来希望JSON推导只是将枚举写为字符串。相反,它是哈希的关键!{"HIGH":[]}

为什么这是默认行为?

haskell aeson

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