小编Yuu*_*uri的帖子

Classy-Prelude(head.head)

我正试图将几个项目转换成classy-prelude目前.虽然大多数行为对我来说都很简单,但(head . head)在简单的2D列表中给出了神秘的错误.

考虑以下GHCi会话:

Prelude> (head . head) [[1,2],[3,4]]
1
Run Code Online (Sandbox Code Playgroud)

让我们试试这个用ghci -XNoImplicitPreludeclassy-prelude:

> import ClassyPrelude
ClassyPrelude> (head . head) [[1,2],[3,4]]

<interactive>:10:1:
    Couldn't match type `MinLen (Succ nat1) mono1' with `[[t0]]'
    Expected type: [[t0]] -> Element mono0
      Actual type: MinLen (Succ nat1) mono1 -> Element mono0
    The function `head . head' is applied to one argument,
    but its type `MinLen (Succ nat1) mono1 -> Element mono0'
    has only one
    In the expression: (head …
Run Code Online (Sandbox Code Playgroud)

haskell classy-prelude

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

Elasticsearch针对单个字段的多个分析器

我使用严格的预定义映射将不同类型的文档存储在单个索引中.所有这些都有一些字段(比如"body"),但我希望在索引时对它们进行略微不同的分析(例如,对特定文档使用不同的标记过滤器),并在搜索时以相同的方式进行处理.据我所知,每个文档都无法指定分析器.

我还考虑使用的内容:

  1. 对象字段具有不同分析的文档类型的子字段,因此每个文档只有一个填充的子字段(例如,"body.mail","body.html").问题是我无法搜索整个"正文"字段,该字段将查看其所有子字段(不破坏现有应用程序).
  2. 多领域的新轮回(使用通用分析器获得"body"字段并在其中定期分析"mail","html"等).Hovewer,我不确定是否可以在索引时直接使用它们并在搜索时间接使用它们(例如,{"mail":"smth"}使用特定索引分析器保存对象,然后搜索"query":{"body":"smth"}使用通用搜索分析器).
  3. 要将"body"分隔为具有不同映射的多个字段,请将其从中删除_all,然后将其设置copy_to为单个body字段.我不确定,但由于复制,它会增加大量的索引开销.

indexing elasticsearch

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

证明中的原始操作

对于学习依赖类型,我正在重写伊德里斯的旧Haskell游戏.目前游戏"引擎"使用内置整数类型,例如Word8.我想证明一些涉及这些数字的数值属性的引理(例如,双重否定是同一性).但是,不可能对原始算术运算的行为说些什么.会是什么更好的,只使用believe_me或其他handwaving(至少在最基本的属性),或者重写使用我的代码Nat,Fin和其他"高层"数值类型?

formal-verification primitive-types idris

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

haskell中有一个`ma - >(a - > mb) - > ma`函数类型吗?

所以>>= :: m a -> (a -> m b) -> m b>> :: m a -> m b -> m b.

<* :: f a -> f b -> f a.

但我想要做的事情m a -> (a -> m b) -> m a,即实际上丢弃计算结果并保留原始.在我的例子中,这个计算结果只是一个返回的IO操作,()所以我只需要传递原始值.

有这样的功能吗?如果没有,我该如何撰写?没想成功.谢谢!

monads haskell

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