小编Leo*_*ang的帖子

为什么`stack build`不打印警告,但`stack ghci`呢?

我有一个新项目,其中包含以下代码 Lib.hs

data ABC
  = A
  | B
  | C

abc :: ABC -> Int
abc A = 1
abc B = 2
Run Code Online (Sandbox Code Playgroud)

我想stack build失败并暗示我没有处理abc C.

我打开了以下标志package.yaml:

library:
  source-dirs: src

executables:
  tt-exe:
    main:                Main.hs
    source-dirs:         app
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - tt
Run Code Online (Sandbox Code Playgroud)

stack build编译没有警告,没有错误.但是,stack ghci能够给我以下警告:

/Users/leo/zhangchiqing/te/tt/src/Lib.hs:11:1: warning: [-Wincomplete-patterns]
    Pattern match(es) are non-exhaustive
    In an equation for ‘abc’: Patterns not matched: C
   |
11 | abc A …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

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

检查多个字段是否存在

Elasticsearch Query DSL允许我查找具有特定字段的文档:

GET /_search
{
    "query": {
        "exists" : { "field" : "firstname" }
    }
}
Run Code Online (Sandbox Code Playgroud)

但似乎只对存在一个字段有效,如何检查是否存在 2 个字段?例如,我想找到同时存在firstnamelastname字段的用户。

elasticsearch

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

Node.js:如何安装NPM

我在我的窗口XP上安装了cygwin和node.exe(0.5.7).

当我git clone npm(1.0.30), cd npm, then "make install",有很多node_modules克隆.

但它在执行时停止了"node cli.js install git+https://github.com/isaac/ronnjs.git".

以下是我的npm-debug.log.

如果它以ok结束,它是否有效

使用npm@1.0.30 信息使用详细信息cli ['E:\node \node.exe',
详细cli'e :\ github \npm\cli.js',
详细cli'cache',详细cli'clean
']
信息
node@v0.5.7
详细配置文件C:\ Documents and Settings\zhangchiqing.npmrc
verbose配置文件E:\ etc \npmrc
ERR!
错误的前缀目录!错误:ENOENT, ɹ ɡ ERR
!'E:'
错误!报告整个日志:
ERR! http://github.com/isaacs/npm/issues
错误!或发送电子邮件至:
ERR!npm-@googlegroups.com
错误!
呃!系统Windows_NT 5.1.2600
ERR!命令"E:\node \node.exe""e:\ github \npm\cli.js""cache""clean"
ERR!cwd E:\ github \npm
ERR!node -v v0.5.7
ERR!npm -v 1.0.30
详细退出[1,true]

cygwin node.js npm

2
推荐指数
1
解决办法
7345
查看次数

如何使用jQuery在DOM中选择文本节点?

我有以下HTML:

<div id="main">17.00<span>%</span></div>
Run Code Online (Sandbox Code Playgroud)

我想选择17.00部分,但是当我使用它时它不起作用$('#id:first-child').html();.我该如何选择它?

jquery

2
推荐指数
1
解决办法
3828
查看次数

如何获取特定UITableViewCell的节号?

如何通过特定的UITableViewCell获取原始的indexPath.section?

- (NSString *)sectionForCell:(UITableViewCell *)cell {
   //How to get the original indexPath.section by the specific UITableViewCell?
}
Run Code Online (Sandbox Code Playgroud)

objective-c uikit ios4 ios

2
推荐指数
1
解决办法
5935
查看次数

在Haskell中,如果Maybe是Type或Union Type,你怎么称呼'Nothing`?

在Haskell中,Maybe类型可以是a Nothing或aJust a

data Maybe = Nothing | Just a
Run Code Online (Sandbox Code Playgroud)

如果我们称Maybe联盟类型,Nothing那么呢?一个Type?不,它不是类型,您不能声明变量是Nothing类型.

也许你会说类型构造函数,true,但我想表达的事实是,Nothing并且Just是不同的情况.

一个类型值?一个类型实例?一个案例?

haskell union-types

2
推荐指数
1
解决办法
236
查看次数

哪一个是将String转换为ByteString的正确方法?

我找到了以下两个转换String为的函数ByteString,哪一个是正确的方法?有什么区别?

Data.ByteString.Char8.pack

Data.ByteString.UTF8.fromString

string haskell

2
推荐指数
1
解决办法
85
查看次数

如何将`[[String c]]`转换成`字符串[[c]]`?

说我有两个功能:

b2c :: B -> Either String C
a2bs :: A -> [[B]]
Run Code Online (Sandbox Code Playgroud)

如何使下面的a2cs使用功能b2ca2bs这样的,如果有在任何左值,[[Either String c]]那么Either String [[c]]应该是左值?

a2cs :: A -> Either String [[C]]
Run Code Online (Sandbox Code Playgroud)

haskell

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

如何优化 PostgreSQL 的多列搜索

我在 PostgreSQL 中有一个表,它有 20 列,其中大部分是枚举类型。这个表有数百万行。

我想支持并加速搜索具有多个字段的行的查询,例如:col2=value1&col3=value2&col5=value3 page=1

我无法使用 PostgreSQL 的复合索引,因为它只适用于固定的列顺序。例如,如果我在 上建立索引(col2,col3,col5),那么它不能用于搜索col1=value1&col2=value2

我还想支持以下查询:

col1=value1&col2=(value3 or value4) orderby=col3 page=1

解决这个问题的方法是什么?如果我不需要对这些列中的任何列进行全文搜索(因为它们都是枚举类型),那么解决方案可以是轻量级的吗?

postgresql database-indexes

2
推荐指数
1
解决办法
2098
查看次数

如何一次评估一个懒惰列表?

我参考这篇文章来计算一个函数nthPrimes,该函数需要一个n的列表并返回一个第n个素数的列表:

import qualified Data.Set as PQ

main :: IO ()
main = print $ nthPrimes ns
  where
    ns = [1,3,10]

nthPrimes :: [Int] -> [Integer]
nthPrimes = map (primes !!)

primes :: [Integer]
primes = 2:sieve [3,5..]
  where
    sieve (x:xs) = x : sieve' xs (insertprime x xs PQ.empty)

    sieve' (x:xs) table
        | nextComposite == x = sieve' xs (adjust x table)
        | otherwise          = x : sieve' xs (insertprime x xs table)
      where
        (nextComposite,_) = PQ.findMin …
Run Code Online (Sandbox Code Playgroud)

haskell

2
推荐指数
1
解决办法
77
查看次数