小编Joh*_*ler的帖子

战略渴望加载Datamapper中的多对多关系?

我正在使用DataMapper,一个用于ruby的开源ORM,而且我已经知道了.目前,DataMapper可以将战略预测加载(SEL)用于一对多关系,但不能使用多对多关系,其中发生N + 1个查询.我想破解正确的工作,但我找不到在哪里做.所以两部分问题:

  1. 如何运行测试套件,以便它显示失败(nb.现在所有应该失败的规格被标记为待定)?
  2. SEL为何以及如何实现一对多关系?

ruby datamapper eager-loading

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

用英语以外的语言编程

我正在讨论关于添加Ruby使用的能力的讨论,?而不是lambda更广泛地关于Unicode支持.我意识到我所知道的所有语言都只使用英语保留字,并且大部分假设使用us-en键盘(例如使用$而不是£或¥).虽然有些语言现在开始在字符串函数中支持Unicode,但仍有许多基于英语或拉丁字符集的约定.例如,Ruby要求类名以大写字母开头,但大写和小写在大多数脚本中都不是字形的属性.

所以问题是:"是否存在可以在大量语言中运行的编程语言,以及它们是如何实现的?"

unicode syntax multilingual programming-languages

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

在编译时未知参数的数量时,在LLVM(haskell绑定)中添加函数

背景:我写了一个玩具Lisp解释器,我试图添加LLVM JIT功能.目前,已施加以下限制:

  • 函数中只允许整数值
  • 变量可能只引用形式参数

鉴于:

compile :: [Value] -- List of Formal Parameters
        -> [Value] -- Body of function
        -> CodeGenModule(Function a)`
Run Code Online (Sandbox Code Playgroud)

问题:如何生成一个函数,其中参数的数量等于形式参数列表的长度?

compiler-construction haskell language-design llvm

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

显示IO类型

我有一个数据类型,其中包含IORef作为一个重要元素.这意味着没有一种干净的方法可以使它成为show类型类的成员.这不是太糟糕,因为我print在这种类型的IO monad中有一个函数.但是在GHCi中很烦人,因为每当我返回其中一个东西时,我都会收到错误声明它无法显示.

有没有办法让IOC无论如何在IO monad中运行,使用IO动作来显示结果?如果没有,是否会对写作产生任何负面影响show a = unsafePerformIO $ print a

haskell ghci unsafe-perform-io io-monad ioref

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

模式匹配后失去多态性

以下代码旨在生成Double或Integer.s被假定为negateid; n整个部分; 和f小数部分或Nothing整数.

computeValue :: Num a => (a->a) -> Integer -> (Maybe Double) -> Either Double Integer
computeValue s n Nothing = Right $ s n
computeValue s n (Just a) = Left $ s (fromIntegral n + a)
Run Code Online (Sandbox Code Playgroud)

当我编译这个时,我得到:

test1.hs:2:28:
    Couldn't match type `Integer' with `Double'
    Expected type: Either Double Integer
      Actual type: Either Double a
    In the expression: Right $ s n
    In an equation for …
Run Code Online (Sandbox Code Playgroud)

polymorphism haskell pattern-matching

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

是否可以从Hackage中查看软件包下载统计信息?

它看起来像有偶尔发布的报告,详细的下载一些顶级包(http://haskellwebnews.wordpress.com/2011/03/16/hackage-stats-the-past-year/).

是否可以查看单个包的更新统计数据?

haskell cabal hackage

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

Reactive Banana的mapAccum功能如何运作?

我已经在Stack Overflow上查看了一些问题的答案,试图在使用Reactive Banana库时找到我的问题的解决方案.所有答案都使用了一些我不太了解的'mapAccum'的魔法.查看API文档,我发现的是"高效组合accumE和" accumB.这不是很有帮助.

似乎这个函数可以用来比较Behavior两个连续事件时a的值,这是我想要做的.但我不清楚如何做到这一点.

mapAccum工作究竟如何?

haskell reactive-banana

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

使用Reactive Banana做一些基本的微积分

设置:

我正在使用Reactive Banana和OpenGL,我有一个我想要旋转的装备.我有以下信号:

bTime :: Behavior t Int -- the time in ms from start of rendering
bAngularVelosity :: Behavior t Double -- the angular velocity
                                      -- which can be increase or
                                      -- decreased by the user
eDisplay :: Event t ()     -- need to redraw the screen
eKey :: Event t KeyState   -- user input
Run Code Online (Sandbox Code Playgroud)

最终,我需要计算bAngle哪个过去到绘图函数:

reactimate $ (draw gears) <$> (bAngle <@ eDisp)
Run Code Online (Sandbox Code Playgroud)

角度很容易计算: a = ?v(t) dt

问题:

我想要做的是a = …

haskell reactive-banana

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

解释Edward Kmett镜头包中使用的词汇的资源

我正在尝试阅读Edward KmettLens包中的文档 .我不熟悉很多使用的术语(profunctor,isomorphism,monomorphic,contravariant,bifunctor等...)

在这个库中使用这些词汇时,学习一些词汇的好资源是什么.

haskell vocabulary category-theory lenses haskell-lens

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

在ReaderT Monad Transformer中*的目的是什么?

我在看文档阅读器单子ReaderT单子转换.

相关定义是:

newtype ReaderT k r m a :: forall k. * -> (k -> *) -> k -> *
type Reader r = ReaderT * r Identity
Run Code Online (Sandbox Code Playgroud)

我不明白*在定义中做了什么.特别是我试图从ReaderT派生一个新的monad,其中IO作为基本monad,并且对r值有一个类约束.

我不确定为什么ReaderT(k)有第四个输入,以及当它将*放在该位置时Reader正在使用该值.

haskell monad-transformers

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