Eclipse可以使用"on-save"操作添加明确的类,但它不会解析静态函数.我并不总是使用自动完成功能,并且返回触发它是很麻烦的.
例如,我经常写代码
printDebug("my value", my_obj);
Run Code Online (Sandbox Code Playgroud)
我想让它自动添加
import static util.DebugOut.printDebug;
Run Code Online (Sandbox Code Playgroud)
注意:重申一下,我不是在寻找(a)需要的任何东西ctrl+space,(b)自动导入课程
在回答有关stackoverflow的问题时,我注意到GHCi(交互式)在let语句中分配了一个限制性太强的类型.即,给定代码,
import Control.Arrow
f = maximum &&& id >>> fst &&& (\(m,l) -> length $ filter (==m) l)
Run Code Online (Sandbox Code Playgroud)
(作为我的回答对/sf/ask/439726941/#6283594),如果一次性插入"让"之前f和在ghci中输入它,它提供以下类型信息
Prelude Control.Arrow> :t f
f :: [()] -> ((), Int)
Run Code Online (Sandbox Code Playgroud)
而只是要求表达式的类型给出正确的结果,即Ord a => [a] -> (a, Int).我正在使用ghc 7.0.3.
注意:这篇文章完全改写了2011-06-10; 感谢彼得帮助我.另外,如果我不接受一个答案,请不要被冒犯,因为这个问题似乎相当开放.(但是,如果你解决它,你当然会得到复选标记).
另一位用户发布了有关并行化合并排序的问题.我以为我会写一个简单的解决方案,但唉,它并不比顺序版快得多.
合并排序是一种分而治之的算法,其中计算的叶子可以并行化.

代码的工作原理如下:将列表转换为树,表示计算节点.然后,合并步骤返回每个节点的列表.从理论上讲,我们应该看到一些重要的性能增益,因为我们将从O(n log n)算法转变为具有无限处理器的O(n)算法.
当参数l(水平)大于零时,计算的第一步是并行化的.这是通过[经由可变完成STRAT ]选择RPAR策略,这将使得子计算归并"×发生在具有平行归并" Y.然后,我们合并结果,并使用rdeepseq强制进行评估.
data Tree a = Leaf a | Node (Tree a) (Tree a) deriving (Show)
instance NFData a => NFData (Tree a) where
rnf (Leaf v) = deepseq v ()
rnf (Node x y) = deepseq (x, y) ()
listToTree [] = error "listToTree -- empty list"
listToTree [x] = Leaf x
listToTree xs …Run Code Online (Sandbox Code Playgroud) 我只是好奇为什么要写这个,
instance (HzMonad , Data.Suitable.Suitable ?, ? ~ ExprTyp ?) => VarDecl ? where
var = varhz
Run Code Online (Sandbox Code Playgroud)
而不是这个
instance (HzMonad , Data.Suitable.Suitable ?) => VarDecl (ExprTyp ?) where
var = varhz
-- error
Hz2/Language.hs:114:53:
Illegal type synonym family application in instance: ExprTyp ?
In the instance declaration for `VarDecl (ExprTyp ?)'
Run Code Online (Sandbox Code Playgroud)
哪里
varhz ::
(HzMonad , Data.Suitable.Suitable ?) =>
String -> ExprTyp ? -> (ExprTyp ?)
Run Code Online (Sandbox Code Playgroud)
什么是波浪号呢?非常感谢.
我经常遇到main :: IO ()在考试中留下功能的情况.我可以运行这些runghc,但有时我想编译它们(例如,在另一个平台上运行).有没有办法做到这一点?如果我跑,例如,
ghc --make Test.Haar
Run Code Online (Sandbox Code Playgroud)
哪里Test/Haar.hs 有main方法,然后没有任何反应,它只是创建.o文件.
有没有人知道如何mod_wsgi在任何模块更改时自动重新加载Flask应用程序?我试过了WSGIScriptReloading On,但没有运气.该官方文档是一种熊的......我想,如果没有人知道我给它一刀.提前致谢!
此外,如果它不能永久性地崩溃语法错误(如Flask重新加载器),那就太棒了.
我想创建一个扩展numpy数组基类型的类,
class LemmaMatrix(numpy.ndarray):
@classmethod
def init_from_corpus(cls, ...): cls(numpy.empty(...))
Run Code Online (Sandbox Code Playgroud)
但显然,它不允许多维数组类型.有没有解决的办法?提前致谢!
ndarray(empty([3, 3]))
TypeError: only length-1 arrays can be converted to Python scalars
Run Code Online (Sandbox Code Playgroud) 我正在阅读Conor McBride和Ross Paterson的"功能性珍珠/成语:带效果的应用程序编程:"(新版本,标题中带有"成语").我对练习4有点困难,这将在下面解释.任何提示,将不胜感激(尤其是:我应该开始写作fmap和join或return和>>=?).
你想创建一个instance Monad []地方
return x = repeat x
Run Code Online (Sandbox Code Playgroud)
和ap = zapp.
如同在p.本文的第2部分将apmonadic函数值应用于monadic值.
ap :: Monad m => m (s -> t) -> m s -> m t
ap mf ms = do
f <- mf
s <- ms
return (f s)
Run Code Online (Sandbox Code Playgroud)
我用规范符号扩展了这个,
ap mf ms = mf >>= (\f -> (ms >>= \s -> return (f s)))
Run Code Online (Sandbox Code Playgroud)
特定于列表的函数zapp …
有时候,我遇到了Haskell只匹配实例头的"特性",即
instance (a ~ NewDataTyp b) => C a
Run Code Online (Sandbox Code Playgroud)
现在将匹配任何类型,即C在程序中编写另一个实例声明将是一个错误,即使它不会因上下文而发生冲突a ~ NewDataTyp b.有时,需要付出很多努力才能克服; 我不得不重组数百行代码以避免这种限制.
是否有任何语言扩展或后代语言(Curry?Agda?)的设计具有更高的表现力优先级?这可能会牺牲(a)类型类世界的开放性(b)多项式时间类型检查.
编辑 - 对于那些对这个问题感兴趣的人,这个页面也许是有趣的:http://www.haskell.org/haskellwiki/Future_of_Haskell
我有一个2柱流畅的Twitter引导程序布局,并希望在其中一个窗格中使用iframe(它将包含Google任务窗口小部件 - https://mail.google.com/tasks/ig).如何正确设置宽度?我想出了如何设置样式,使其具有边框(将其区分为外部页面内容),但我无法使其正确填充其中一列.这就是我目前拥有的:
<iframe class="container well well-small"
style="width: 80%; height: 400px; background-color: #f5e5c5;"
src="https://mail.google.com/tasks/ig">
</iframe>
Run Code Online (Sandbox Code Playgroud)
完整示例(另存为HTML文件):http://pastebin.com/1u2QeuZk