小编lan*_*key的帖子

编译时的顶级表达式评估

有没有办法确保在编译时评估如下表达式?

myList :: [Int]
myList = sort [3,2,0,1]
Run Code Online (Sandbox Code Playgroud)

haskell compile-time-constant

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

在ghci中打印漂亮

有没有办法让ghci使用自定义漂亮打印功能而不是显示某些类型?一个更一般的问题:在交互模式下使库尽可能可用的一般准则是什么?谢谢.

haskell pretty-print show ghci

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

限制 GHC 的内存使用

有没有办法在编译期间限制 ghc 的内存使用,而不影响代码质量?我在一台 2GB 的机器上,它在构建过程中真的停止了。GHC 版本 7.10.3,Ubuntu 14.04,4GB 交换。

haskell ghc

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

这是迭代一组值的规范方法吗?

我有一个具有可枚举值集的类型:

struct MyType(u32);
Run Code Online (Sandbox Code Playgroud)

我可以在一组值上定义一个迭代器:

struct MyTypeIter {
    m: MyType,
}
impl Iterator for MyTypeIter {
    type Item = MyType;
    fn next(&mut self) -> Option<Self::Item> {
        if (self.m).0 < 0xffffffff {
            (self.m).0 += 1;
            Some(MyType((self.m).0 - 1))
        } else {
            None
        }
    }
}
impl MyTypeIter {
    fn new() -> MyTypeIter {
        MyTypeIter { m: MyType(0) }
    }
}
Run Code Online (Sandbox Code Playgroud)

这真的是规范的做法吗?如果我们有几个自然顺序(比如在lex/colex顺序中迭代排列或组合)会怎样?

iterator rust

0
推荐指数
1
解决办法
90
查看次数