小编Rob*_*gar的帖子

Haskell记录语法

由于其丑陋的语法和命名空间污染,许多人认为Haskell的记录语法是一种优雅语言的疣.另一方面,它通常比基于位置的替代方案更有用.

而不是像这样的声明:

data Foo = Foo { 
  fooID :: Int, 
  fooName :: String 
} deriving (Show)
Run Code Online (Sandbox Code Playgroud)

在我看来,这些方面的东西会更有吸引力:

data Foo = Foo id   :: Int
               name :: String
               deriving (Show)
Run Code Online (Sandbox Code Playgroud)

我确信必须有一个很好的理由让我失踪,但为什么采用类似C语言的记录语法采用更简洁的基于布局的方法?

其次,管道中是否有任何东西可以解决命名空间问题,所以我们可以编写id foo而不是fooID foo在Haskell的未来版本中编写?(除了目前可用的基于longwinded类型的变通办法.)

syntax layout haskell syntactic-sugar

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

在不杀死Eclipse的情况下杀死Eclipse后台操作

有没有办法杀死Eclipse后台操作而不杀死Eclipse本身?

具体来说,我想杀死陷入困境的Subclipse SVN操作.单击"取消"会弹出一条取消请求的消息,但操作仍会永远阻止其他所有操作.

这是Windows 7上的Eclipse Helios,如果这有任何区别的话.

eclipse

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

解释intel_gpu_top输出

任何人都可以对输出有所了解intel_gpu_top吗?具体来说,什么是任务GAM,VS等(手册页没什么帮助.)

比特流忙什么意思?它似乎总是零......

               render busy:  45%: ?????????                              render space: 83/131072
            bitstream busy:   0%:                                     bitstream space: 0/131072
              blitter busy:   0%:                                       blitter space: 0/131072

                      task  percent busy
                       GAM:  43%: ?????????               vert fetch: 0 (0/sec)
                        VS:  35%: ???????                 prim fetch: 0 (0/sec)
                        CL:  33%: ???????              VS invocations: 2101845324 (1427552/sec)
                        SF:  33%: ???????              GS invocations: 0 (0/sec)
                        VF:  33%: ???????                   GS prims: 0 (0/sec)
                      GAFS:  33%: ???????              CL invocations: 701123988 (475776/sec)
                       SOL:  32%: ???????                   CL prims: …
Run Code Online (Sandbox Code Playgroud)

gpu intel

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

Xcode 4中的"bad codegen,pointer diff"链接器错误

使用Xcode 4重新编译C++ iPhone应用程序我得到了这个讨厌的链接器错误:

ld: bad codegen, pointer diff in __static_initialization_and_destruction_0(int, int)
to global weak symbol vmml::Vector2<float>::ZERO for architecture armv6
Run Code Online (Sandbox Code Playgroud)

谁知道这意味着什么?如何让它消失当然也会很好:)

该应用程序在Xcode 3中无错误地编译和链接.

编辑:解决的办法是设置隐藏的默认符号在项目中的所有目标的所有生成设置.仍然没有更明智的实际问题是什么.

xcode linker linker-errors ios xcode4

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

"这个功能融合"是什么意思?

scanl的文档说"这个函数会融合".保险丝到底意味着什么?这不好吗?

haskell terminology

13
推荐指数
1
解决办法
668
查看次数

EclipseFP Haskell大纲视图是否有效?

我正在使用EclipseFP来编辑我的Haskell项目.就语法着色以及构建和运行代码而言,它的工作原理非常好,但模块的大纲视图始终为空.应该有用吗?如果是这样,我需要注意什么来修复它?

我正在使用最新版本 - 带有GHC 7.0.3和EclipseFP 2.0.4的Haskell平台

eclipse haskell eclipse-plugin

10
推荐指数
1
解决办法
319
查看次数

Info.plist值为C++ #define

在C++ iOS项目(或任何其他Mac OS)中,是否有一种简单的方法可以为Info.pList设置和预处理器宏形式的代码提供值?

理想情况下,我希望有这样的东西

C++代码:

#define MY_VERSION_STRING "1.0"
Run Code Online (Sandbox Code Playgroud)

的Info.plist

CFBundleVersion: ${MY_VERSION_STRING}
Run Code Online (Sandbox Code Playgroud)

或者,有没有办法从c ++中的.pList获取值?(无需手动将.pList解析为xml.)

c++ ios c-preprocessor

6
推荐指数
1
解决办法
2212
查看次数

将C++缓冲区公开为Python 3字节

使用Boost :: Python,有没有办法让Python 3.2作为bytes对象可以访问原始C++缓冲区?

对于一个非常相似的问题,有一个Python 2答案,但PyBuffer_FromReadWriteMemoryPython 3中描述的函数不再存在.

编辑:感谢user2167433的回答,我真正想要的是一个只读的memoryview对象,而不是一个bytes对象(使用memoryview避免复制我相信的缓冲区).

c++ boost-python python-3.x python-3.2

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

使用模拟进行单元测试(PHP)

我有一个类:

class Foo {
    function getCurrentBar() {
        $model = Query::findByPk($this->getSession()->get('current_bar')); // Pseudocode...

        return $model;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以基本上我的应用程序中一次只有一个条形,它作为整数存储在会话中.我经常调用一个辅助函数来查找模型实例,它会进行数据库查询.还有缓存,但现在无关紧要.

我的问题是:我怎么单元测试此?我测试的类需要这个.我想我可以改变会话以包含id但是这意味着我需要在数据库中有相应的模型.

最好的方法setCurrentBar()是为单元测试添加方法吗?然后我可以模拟一个条形对象并设置它,它将用于所有单元测试.那有意义吗?

php unit-testing dependency-injection

4
推荐指数
1
解决办法
551
查看次数

只读PropertyGrid

有没有办法使ExtJS4 PropertyGrid(Ext.grid.property.Grid)不可编辑?

没有"可编辑"或"只读"配置选项AFAICS.

extjs extjs4

3
推荐指数
1
解决办法
5911
查看次数

使用ExceptT捕获SomeException

我正在尝试使用ExceptTmonad转换器来捕获函数抛出的任何异常,如下所示:

import Control.Exception
import Control.Monad.Trans.Except

badFunction :: ExceptT SomeException IO ()
badFunction = throw DivideByZero

main :: IO ()
main = do
    r <- runExceptT badFunction
    case r of Left _ -> putStrLn "caught error"
              Right _ -> putStrLn "nope, didn't catch no error" 
Run Code Online (Sandbox Code Playgroud)

......但异常幸福地过得很快.我究竟做错了什么?

编辑:澄清一下,目的是捕获函数抛出的任何异常,无论异常是如何抛出的.如果它有任何区别,那么真正的函数调用位于相当深的monad变换器堆栈的底部.我不介意丢失抛出的字符串之类的东西(糟糕的程序员!).

haskell exception-handling monad-transformers

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

Mootools设置元素文本而不破坏子节点

使用Mootools,在不覆盖任何子节点的情况下,设置元素文本的最简洁方法是什么?

我想离开这个

<div id="foo">
  foo
  <div id="bar">
    bar
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

......对此

<div id="foo">
  new improved foo
  <div id="bar">
    bar
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我以为这样做会:

$('foo').set('text', 'new improved foo')
Run Code Online (Sandbox Code Playgroud)

但这取代了整个元素的内容,导致了

<div id="foo">
  new improved foo
</div>
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,这与set('html', ...)AFAICS 相同.这是Mootools的错误吗?)

mootools

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