有一个简单的答案:为什么GHC这么大?
对于"如果Haskell是正确的工具,为什么我不应该关心大小"的传福音不感兴趣; 这是一个技术问题.
有没有办法,无论是标准的还是聪明的黑客,在文件上调用GHC只运行类型检查器?例如
$ ghc --just-check-the-types x.hs
$
Run Code Online (Sandbox Code Playgroud)
没有输出文件,没有.hi或.o等.不想/不能使用GHC API.这里只是谈论命令行程序.
是否有一种简单,直接的方法从Haskell使用一些库播放WAV文件,并且可能一次播放很多声音?
我知道OpenAL,但我不是在写一些高级音频合成程序,我只是想播放一些声音来播放一些东西.理想情况下,API可能类似于:
readWavFile :: FilePath -> IO Wave
playWave :: Wave -> IO ()
playWaveNonBlocking :: Wave -> IO ()
Run Code Online (Sandbox Code Playgroud)
我这个接近仅仅推出的mplayer什么的.或者试图将wav直接捕获到/ dev/snd /或某些东西.
我正在使用pdftk填写带有XFDF文件的PDF表单.但是,对于这个项目,我事先并不知道将出现哪些字段,因此我需要分析PDF本身以查看需要填写的字段,相应地向用户显示接口,然后从中生成XFDF文件填写PDF表格.
我如何获得字段名称?最好是命令行,.NET或PHP解决方案.
可能重复:
如何在emacs中实现代码折叠效果
Dreamweaver的一个出色功能是可以递归地代码折叠任何文本行!
这太棒了,我可以折叠任何文本或代码,无论语言如何.我使用现有系统; 我不会用一种语言编写编写良好的代码或代码等.大多数HTML与神知道什么混合在一起.折叠线使得了解了很多更容易和更快.遗憾的是,这是我在Dreamweaver中唯一喜欢的功能.
是否有类似目的的Emacs代码折叠?
是否有一个简单的文档系统,将通过使用注释指示为任何语言生成一些友好的,超链接的文档?这样的系统可以仅仅被给予正则表达式或模式以识别注释然后生成结构.
我打算写一个,但想到必须有一个.
在HJavaScript中有Array
类型,但我看不到构建一个文字的方法,例如,将其转换为JS [1,2,3]
.new Array()
如果我不需要,我不想创建一个然后将项目推入其中.
理想情况下,我正在追求类似的功能array :: [t] -> Array t
.
我可以JConst
用来实现array
,但它似乎是一个应该是直截了当的东西.我也可以使用上面的create-and-push方法来实现array
,但这也不是很好.
这是array
推动; 不太好.
array :: [Exp a] -> JS (JArray a)
array xs = do
arr <- new Array ()
mapM_ (`push` arr) xs
return arr
Run Code Online (Sandbox Code Playgroud) 假设我的项目中有十个模块,GHC将重新编译第三个和第五个模块,我将看到如下内容:
[3 of 10] Compiling C ( A.hs, dist/build/p/p/A.o )
[5 of 10] Compiling E ( B.hs, dist/build/p/p/B.o )
Run Code Online (Sandbox Code Playgroud)
我不知道还有多少要编译.
如何让它显示编译过程的进度?
是否可以使用 GMail API 将消息静音?https://developers.google.com/gmail/api/
在 GMail 中,如果您搜索 label:mute,您会得到静音对话。如果我尝试应用标签 MUTE 或 MUTED 我会得到:
googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/gmail/v1/users/me/messages/14b37d9bb14bb521/modify?alt=json returned "Invalid label: mute">
Run Code Online (Sandbox Code Playgroud)
表明实际中没有真正的MUTE/MUTED标签。
静音是 GMail 最好的功能之一,没有这个功能,API 就显得毫无意义。
测试用例程序:
#include <stdio.h>
#define SIZE 1024
int main(int args,char *argv[]){
char buf[SIZE];
fgets(buf, SIZE, stdin);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
用法示例(即输入1024个x
字符):
bash-3.2$ gcc read.c -o read
bash-3.2$ ./read
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
^G
Run Code Online (Sandbox Code Playgroud)
在OS X上,这会使终端发出蜂鸣声并等待.我可以再次击中RET并再次发出哔哔声.如果我在管道或Emacs的shell中运行它,我会看到^G
正在输出的字符.
在我的Ubuntu VM上进行相同的精确调用,程序按预期完成(即读取1023个字节buf
并将其终止).
这正在打断我正在尝试编写的程序(使用另一种语言,但使用下面的C库),它接受JSON行作为命令接口的一部分.所以问题是:如何在OS X中禁用此行为?是否有API调用将其关闭?环境变量可能?它太棒了.
例如,
test/Spec.hs:42:18: error:
• No instance for (genvalidity-0.8.0.0:Data.GenValidity.GenUnchecked
(Decl UnkindedType Identifier Location))
arising from a use of ‘forAllUnchecked’
• In the second argument of ‘it’, namely
‘(forAllUnchecked
(\ decls
-> shouldBe
(either
(const ())
(const ())
... 50 (literally) more lines ...
Run Code Online (Sandbox Code Playgroud)
太长了,我必须向上滚动我的终端/消息查看器才能看到发生了什么。我只需要行号和列。
是否有一个 GHC 标志让它输出这个?
test/Spec.hs:42:18: error:
• No instance for (genvalidity-0.8.0.0:Data.GenValidity.GenUnchecked
(Decl UnkindedType Identifier Location))
arising from a use of ‘forAllUnchecked’
Run Code Online (Sandbox Code Playgroud)
这给了我我需要的一切。
我在 postgres 中有一个 bytea 列,我可以使用这样的语句来获得这种输出:
select encode(mycolumn,'escape') from personTable;
Run Code Online (Sandbox Code Playgroud)
并得到:
254\355\000?sr\000?java.util.HashMap??\332\301\303?`\321?\000?F\000
loadFactorI\000 thresholdxp?@\000\000\000\000\000?w?\000\000\000?\000\000\000?t\000?
userIdt\000
USER2200000x
Run Code Online (Sandbox Code Playgroud)
我如何以纯文本形式看到它?它确实存储了一个 java.util.HashMap-
haskell ×6
ghc ×3
.net ×1
audio ×1
bytea ×1
c ×1
code-folding ×1
dreamweaver ×1
dsl ×1
emacs ×1
gmail-api ×1
java ×1
javascript ×1
macos ×1
package ×1
pdf ×1
php ×1
postgresql ×1
wav ×1
xcode ×1