小编Rob*_*een的帖子

如何在Haskell中使CAF不是CAF?

如何将常量适用表格制作成一个不变的适用表格,以阻止它在程序的整个生命周期中保留?

我尝试过这种方法:

-- | Dummy parameter to avoid creating a CAF
twoTrues :: () -> [[[Bool]]]
twoTrues _ = map (++ (True : repeat False)) . trueBlock <$> [1..]
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用 - 配置文件显示它仍然保留,仍然将其标记为CAF.

我发现了一个相关的Google结果,Simon Peyton-Jones对Neil Mitchell 的回复,他正好问了这个问题 - 但不幸的是,答案指的是一个死链接.

haskell ghc compiler-optimization

27
推荐指数
4
解决办法
2287
查看次数

什么是catamorphism并且可以在C#3.0中实现?

我正在尝试了解catamorphisms,我已经阅读了维基百科文章以及F#博客上F#主题系列中的第一篇文章.

我理解这是折叠的概括(即,将许多值的结构映射到一个值,包括值列表到另一个列表).我认为折叠列表和折叠树是一个典型的例子.

可以使用LINQ的Aggregate运算符或其他一些更高阶的方法在C#中显示它吗?

c# f# functional-programming catamorphism recursion-schemes

26
推荐指数
3
解决办法
9823
查看次数

带有外部.jar的Java命令行

我使用.jar开发一个项目来重用代码.

所以我在.jar上命名为TOOLS.jar,我在文件HelloWorld.java中开发了一个简单的应用程序,它从TOOLS.jar引用我的包TOOLS

我用这个命令行编译:

javac -g -d C:\MyApp -cp TOOLS.jar HelloWorld.java
Run Code Online (Sandbox Code Playgroud)

它很成功,当我想执行我的应用程序时,我使用这个命令(我在C:\ MyApp文件夹中):

java -cp <path>\TOOLS.jar;. HelloWorld
Run Code Online (Sandbox Code Playgroud)

它很成功,但我的问题是:

当我有多个外部.jar时,如何执行我的应用程序?

我是否必须使用-cp选项在命令中添加每个?

有没有办法只生成一个二进制文件并执行它(与C程序一样的.exe)?

java executable jar classpath executable-jar

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

在纯代码中避免使用IORef

我注意到Data.UnionFind使用IO monad通过IORefs提供指针.我想大家都很乐意unsafePerformIO在纯代码中本地使用它,因为数据结构很好理解,但是......

这种数据结构是否有规范的清洁方法?也许是IO的包装,unsafePerformIO通过禁止大多数IO操作,不可避免地"不安全""看"?

monads haskell data-structures union-find ioref

25
推荐指数
1
解决办法
846
查看次数

在Scala 2.8中打包私有修改器

如果我试试

private[com.company.foo] def bar(xml: XmlPath) = {
Run Code Online (Sandbox Code Playgroud)

我明白了

[error]     ... ']' expected but '.' found.
[error]     private[com.
[error]                ^
Run Code Online (Sandbox Code Playgroud)

那是什么?我只能把它私有化为com.*,或者......?

scala private package

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

正确性证明:图论中树的直径算法

为了找到树的直径,我可以从树中获取任何节点,执行BFS以找到距离它最远的节点,然后在该节点上执行BFS.与第二个BFS的最大距离将产生直径.

不过我不知道如何证明这一点?我尝试过对节点数量的归纳,但是有太多的情况.

任何想法将不胜感激......

algorithm tree graph-theory proof-of-correctness

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

致命:没有配置推送目的地

请参阅以下屏幕详细信息 - git remote -v命令显示我已添加test_vish,但是当我发出Push命令时,它给出错误.有人可以帮忙吗?

C:\Users\vishwas_gupta03\Documents\GitHub\test_Vishwas [master]> git remote -v
github  https://github.com/vishwasjione/test_Vishwas.git (fetch)
github  https://github.com/vishwasjione/test_Vishwas.git (push)
origin
C:\Users\vishwas_gupta03\Documents\GitHub\test_Vishwas [master]> git push
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository us
ing

    git remote add <name> <url>

and then push using the remote name

    git push <name>

C:\Users\vishwas_gupta03\Documents\GitHub\test_Vishwas [master]>
Run Code Online (Sandbox Code Playgroud)

git github

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

比较强制推拉请求的新旧版本

通常,我的同事会对一个公开拉取请求进行一些更改,将他们的本地分支重新绑定到基本分支 - 通常也将他们的更改压缩到以前的提交中 - 并强制推送.

如何看待旧版PR与新版PR之间的变化?

我想我可以做一个git pullgit checkout $BRANCH_NAME当PR首次提出,然后git fetchgit diff $BRANCH_NAME..origin/$BRANCH_NAME对PR进行了更新后-但也将显示已通过重订引入基地分支(通常硕士),并带入PR的变化.是否有可能消除噪音并只显示PR本身的变化?

git github git-diff pull-request

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

什么时候使用STRef或IORef?

STRef和IORef的区别究竟是什么?我何时使用它们?据我所知,他们两个都是可变状态所以它们​​两者存在的意义何在?

haskell ioref

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

当规定额外允许空间为O(1)时,这意味着什么?

如果给出了编程问题中的上述条件并且我使用递归来解决它,那么我是否违反了约束条件?这可能是因为递归也使用堆栈?这样对吗?

algorithm recursion complexity-theory asymptotic-complexity

20
推荐指数
4
解决办法
2280
查看次数