小编scr*_*avy的帖子

Haskell FlexibleInstances是该语言的稳定扩展吗?

Haskell中的FlexibleInstances有什么问题?为什么他们不包含在Haskell 2010中?FlexibleInstances的实现是不是足够稳定以包含在标准中,还是与FlexibleInstances相关的更深层关注?使用它们是否安全?他们可能会被纳入Haskell Prime吗?

haskell ghc

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

Haskell/GHC UndecidableInstances - 非终止类型检查的示例?

我编写了一些需要-XUndecidableInstances来编译的Haskell代码.我确实理解为什么会发生这种情况,因为存在某种违反的条件,因此GHC会大喊大叫.

但是,我从来没有遇到类型检查器实际上挂起或在无限循环中结束的情况.

非终止实例定义是什么样的 - 你能给出一个例子吗?

haskell typechecking ghc decidable

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

模板Haskell:在GHCi中实现

是它在某种程度上可以做到具体化在GHCI?

当我使用'runQ'尝试它时,它抱怨"无法在IO monad中进行实现".

>>> runQ (reify ''Bool)
Template Haskell error: Can't do `reify' in the IO monad
*** Exception: user error (Template Haskell failure)
Run Code Online (Sandbox Code Playgroud)

我不是在找:t东西,只是为了快速检查什么reify返回而不将其写入文件并将该文件加载到GHCi中.

haskell ghci template-haskell

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

"很少有程序员意识到类的构造函数和方法可以在初始化之前运行"

在官方Java指南"使用断言编程"中指出(页面上的最后一段)

很少有程序员意识到类的构造函数和方法可以在初始化之前运行.当发生这种情况时,很可能该类的不变量尚未建立,这可能导致严重和微妙的错误.

这是什么意思?这是什么时候发生的?我在日常使用Java时需要关心的是什么?

java initialization

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

使用`implicit`参数声明一个Function`type`

是否有可能宣布类似的东西

type F = (Int, Boolean)(implicit String) => Unit
Run Code Online (Sandbox Code Playgroud)

在斯卡拉?

scala implicit

16
推荐指数
1
解决办法
751
查看次数

什么是"Trace/BPT trap:5"?

Trace/BPT陷阱:5是什么意思,当Mac OS X应用程序突然退出时?

在网上搜索我发现很多应用程序都是这样退出的(ruby,postgres),但只找到特定于应用程序的解决方案.但我想了解它是什么以及它是如何引起的.

我还发现它似乎只是Mac OS X上的一个问题(没有发现Linux或Windows发生过这种情况).我相信它与线程有关,但我不确定那个.

crash macos error-code

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

Haskell:正则表达式和Data.Text

处理大量文本数据时,建议使用Data.Text而不是haskells本地字符串.检查,完成.但正则表达式怎么样?有专门的正则表达式库Data.Text吗?据我所知,所有正则表达式库都在处理Haskell原生字符串甚至更糟糕的CStrings.

regex text haskell

15
推荐指数
1
解决办法
2704
查看次数

Java中盒装基元的存储成本是多少?

如何大,以字节为单位,是一个盒装的原始状java.lang.Integerjava.lang.CharacterJava中?

An int是4个字节,典型的指针也是4个字节(如果没有被JVM压缩).那么整数(没有缓存)的成本是4 bytes + 4 bytes = 8 bytes多少?盒子对象中是否还有任何隐藏字段或者对象产生的额外开销(即,我不知道对象的一般成本?).

我对缓存问题不感兴趣.我知道JVM会缓存某个范围内的整数.

可以重新解释这个问题:用于盒装值与原始值的内存量相乘的最大因子是多少?

编辑:我明白存在JVM的多个实现.典型的32位HotSpot实现的典型成本是多少?

java memory primitive jvm-hotspot

14
推荐指数
1
解决办法
2959
查看次数

编译opencv示例:未知的cmake命令ocv_check_dependencies

我正在尝试构建源代码包附带的OpenCV示例,我得到以下内容:

CMake Error at CMakeLists.txt:10 (ocv_check_dependencies):
  Unknown CMake command "ocv_check_dependencies".
Run Code Online (Sandbox Code Playgroud)

我确实使用了安装OpenCV

cmake .
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

我得到了一个教程片段(因此我认为它作为库正确安装).但是,编译样本不起作用.

我想我必须以某种方式配置CMake有"ocv_check_dependencies" - 但是如何?我搞不清楚了!

opencv cmake osx-snow-leopard

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

Java泛型:有界类型参数中的多重继承<T扩展A&I>

我即将创建一个工厂,它创建某种类型的对象T,它扩展了某个类A和另一个接口I.但是,T必须是未知的.以下是最低声明:

public class A { }
public interface I { }
Run Code Online (Sandbox Code Playgroud)

这是工厂方法:

public class F {
    public static <T extends A & I> T newThing() { /*...*/ }
}
Run Code Online (Sandbox Code Playgroud)

这编译所有罚款.

当我尝试使用该方法时,以下工作正常:

A $a = F.newThing();
Run Code Online (Sandbox Code Playgroud)

......虽然这不是:

I $i = F.newThing();
Run Code Online (Sandbox Code Playgroud)

编译器抱怨:

绑定不匹配:类型F的泛型方法newThing()不适用于arguments().推断的类型I和A不是有界参数的有效替代

我不明白为什么.明确指出"newThing返回某种类型的东西T,它确实扩展了A类并实现了接口I".当分配给一个一切正常(因为T延伸的),但分配给我并没有(因为什么?,清楚地返回的东西既是一个一个I)

另外:当返回一个对象时,比如说类型B class B extends A implements I,我需要将它转换为返回类型T,尽管B匹配边界:

<T extends A & I> T newThing() {
    return (T) new B();
}
Run Code Online (Sandbox Code Playgroud)

但是,编译器不会抛出任何警告,如UncheckedCast等.

因此我的问题:

  • 这里出了什么问题?
  • 是否容易实现所需的行为(即分配给静态类型A或I的变量),就像在工厂方法中通过强制转换解决返回类型问题一样?
  • 为什么分配到A工作,而我不工作?

-

编辑:这里完整的代码片段完全使用Eclipse 3.7,项目设置为JDK 6: …

java generics types bounded-wildcard

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