我无法使用intero获得在emacs中出现的hlint建议.
~/.emacs文件中我读过解决方案是:
(flycheck-add-next-checker 'intero
'(warning . haskell-hlint))
Run Code Online (Sandbox Code Playgroud)
但我不知道我应该怎么做.如果我将其添加到我的~/.emacs文件中,则emacs会在启动时失败.
(其余的似乎没问题 - 当我打开一个Haskell文件时,intero会启动 - 错误会在我输入时立即被标记.)
如何获得Hlint建议?
我刚刚开始使用AKKA并且有一个关于非演员代码如何与演员代码对话的基本问题.
非演员代码如何调用actor并获得响应?我试过从非演员那里调用演员,Patterns.ask但这不起作用,因为没有演员可以响应的'发送者'.
那我该怎么做呢?
我是一个Haskell新手,理解有问题seq,我在下面的例子中进行了总结.
以下是相同(愚蠢)函数的2个实现.该函数采用正int n并返回元组(n,n).答案是通过(0,0)使用带有元组累加器的辅助函数进行计数来产生的.为了避免构建一个庞大的thunk我使用seq来使累加器严格.
在testSeq1元组的内容是严格的,而在testSeq2元组本身是严格的.我认为这两个实现将执行相同的操作.但实际上"使用中的总内存"仅为1MB,testSeq1但是大约为187MB testSeq2(使用n = 1000000进行测试时).
怎么了testSeq2?
testSeq1 :: Int -> (Int,Int)
testSeq1 n = impl n (0,0) where
impl 0 (a,b) = (a,b)
impl i (a,b) = seq a $ seq b $ impl (i-1) (a+1, b+1)
testSeq2 :: Int -> (Int,Int)
testSeq2 n = impl n (0,0) where
impl 0 acc = acc
impl i acc = seq acc $ impl (i-1) …Run Code Online (Sandbox Code Playgroud) 我无法在新的堆栈项目上使用 emacs,因为 intero 无法构建。
stack new play 当我尝试在 emacs 中打开源文件时,它无法构建 intero
Intero is not installed in the Stack environment.
Installing intero-0.1.24 automatically ...
intero-0.1.24: configure
intero-0.1.24: build
-- While building custom Setup.hs for package intero-0.1.24 using:
/home/wmorgan/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.0.1.0 build --ghc-options " -ddump-hi -ddump-to-file"
Process exited with code: ExitFailure 1
Logs have been written to: /home/wmorgan/haskell/play/.stack-work/logs/intero-0.1.24.log
Configuring intero-0.1.24...
Preprocessing executable 'intero' for intero-0.1.24..
Building executable 'intero' for intero-0.1.24..
[1 of 8] …Run Code Online (Sandbox Code Playgroud)在github自述的前奏中,它说:
值得注意的是,在GHC 7.10中,社区对基础Prelude的优雅前奏主要是前沿变化.
这是否意味着,作为GHC 7.10的用户,我不应该考虑优雅前奏.换句话说,是否优雅意味着解决7.10之前不再存在的7.10之前的缺陷?