小编min*_*ret的帖子

我可以将Coq证明提取为Haskell函数吗?

  • 自从我学会了一点Coq后,我想学习写一个所谓的除法算法的Coq证明,这实际上是一个逻辑命题: forall n m : nat, exists q : nat, exists r : nat, n = q * m + r
  • 我最近使用从Software Foundations中学到的东西完成了这项任务.
  • Coq是一个用于开发建设性证明的系统,我的证明实际上是一种构造合适的值的方法,q并且是r从值mn.
  • Coq有一个有趣的工具,用于将Coq的算法语言(Gallina)中的算法"提取"到包括Haskell在内的通用函数编程语言.
  • 另外,我已经设法将divmod操作编写为Gallina Fixpoint并将其提取出来.我想仔细注意那个任务不是我在这里考虑的.
  • 亚当Chlipala写在与相关类型认证的编程说,"柯里-霍华德同构的很多球迷支持从样张中提取节目的想法.在现实中,勒柯克的少数用户和相关的工具做任何这样的事情."

甚至可以将我的证明中隐含的算法提取到Haskell中吗?如果有可能,怎么办呢?

coq

28
推荐指数
1
解决办法
4317
查看次数

推送Java Web应用程序的通知

目前我正在开发一个使用Spring 3.1和Hibernate 4的Web应用程序.

根据要求,我想在JSP页面上实现像Facebook这样的推送通知.如果您有任何建议,请同时列出兼容的浏览器及其版本.

java jsp spring-mvc push-notification

19
推荐指数
4
解决办法
3万
查看次数

两个MercurialEclipse插件网站之间的关系是什么?

Eclipse Marketplace中目前(2012年11月)的两个MercurialEclipse插件之间在功能和项目领导方面有何异同?

只是为了扩展这个问题:

我只是想在Eclipse中使用Mercurial项目的工作副本,但是当我寻找Mercurial插件时,我面临着这个令人困惑的选择.我怀疑目前我用的并不重要.但我当然不确定.

目前(2012年11月),有上Intland软件的网站产品中上市MercurialEclipse,目前在Eclipse卖场为"MercurialEclipse(是:HgEclipse)",与JavaForge.com主页.Eclipse Marketplace中的另一个MercurialEclipse是"MercurialEclipse",自8月以来下载更受欢迎,并且在BitBucket.org上有一个主页.

我看到有共享历史记录,但是目前,在查看JavaForge和BitBucket时,它们列出了不同的版本号(分别为1.9.1和2.0.1)和不同的Eclipse更新站点.我发现代码库之前已经分歧并重新统一(http://andrei.gmxhome.de/mercurialeclipse/index.html).我们现在在同一个开发线上有两个站点用于两个阶段吗?或者是否存在我必须选择一方的竞争(无论是有意的还是无意的)?在这种情况下,有人在这里有相关的选择信息吗?

eclipse mercurial mercurialeclipse

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

当我把它重写成折叠时,为什么我的筛子不会终止?

我的具体问题是什么foldl阻止它终止或产生输出?

首先,我获得了素数的筛子.它不是最好的,但它可以正常工作(例如)take 20 primesA.

primesA :: [Integer]
primesA = sieve 2 []

sieve :: Integral a => a -> [a] -> [a]
sieve i []   = (i:) $ sieve (i + 1) $ map (*i) [i ..]
sieve i composites@(h : t)
  | i == h    =     sieve (i + 1) t
  | otherwise = (i:) $ sieve (i + 1) $ unionIncreasing composites $ map (*i) [i ..]

unionIncreasing :: Ord a => [a] -> …
Run Code Online (Sandbox Code Playgroud)

primes haskell lazy-evaluation sieve

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