草庐IT

haskell-tagsoup

全部标签

linux - Linux 下 Haskell 的图形化 shell

Haskell和Linux是否有类似ghci的图形化shell?我知道Winghci,它是非常好的解释器,但它仅适用于Windows。 最佳答案 关于“WinGHCi做了哪些GHCi没有做的事情?”:命令提示符、用户输入和程序输出是不同的颜色。我无法开始告诉您当您滚动浏览大量文本试图找到您键入的最后一个命令时,这有多大帮助。我希望更多的Haskell程序能够产生彩色输出...您可以使用实际的GUI加载文件,而不必记住200英里长的文件路径。它有一大堆用于常用操作的按钮和菜单项,如果您是GHCi的新手并且不知道相应的命令名称,这会很有

linux - 在 Amazon Linux 上使用堆栈静态链接 Haskell 程序,以在 AWS Lambda 上使用

我正在尝试在EC2实例上构建一个静态链接的“helloworld”Haskell程序,以期在AWSLambda上运行它。我对“简单”stack.yaml的唯一修改是:ghc-options:"*":-static-optc-static-optl-static-optl-pthread我首先得到以下错误:[ec2-user@ip-172-31-0-238lambdatest]$stackbuildlambdatest-0.1.0.0:configureConfiguringlambdatest-0.1.0.0...lambdatest-0.1.0.0:buildPreprocessin

linux - Ubuntu 上 Haskell (GHC) 中的 ThreadDelay 问题

我注意到我的一些机器上GHC.Conc中的threadDelay函数有奇怪的行为。以下程序:main=doprint"start"threadDelay(1000*1000)print"done"如预期的那样需要1秒才能运行。另一方面,这个程序:{-#LANGUAGEBangPatterns#-}importControl.Concurrentmain=doprint"start"loop1000print"done"whereloop::Int->IO()loop!n=ifn==0thenreturn()elsedothreadDelay1000loop(n-1)在我的两台机器上运行

sql-server - 是否可以使用 Haskell 和 Linux 连接到 SqlServer (MSSQL)?

我不清楚是否有人已经/正在从Haskell和Linux成功连接到MSSQL。我发现了类似thiswindowsguide的东西但没有希望寻找Linux。有没有人对此有任何见解? 最佳答案 HDBClibrary让您连接到任何支持ODBC的数据库,我很确定Sql-Server会这样做。 关于sql-server-是否可以使用Haskell和Linux连接到SqlServer(MSSQL)?,我们在StackOverflow上找到一个类似的问题: https://

linux - 如何在 debian 上安装最新的 Haskell 平台?

我想在我的树莓派上安装最新的Haskell平台。不幸的是我的linux-fu很弱。我可以apt-getinstallhaskell-platform就目前而言,它是有效的,但是从官方软件包存储库安装了一个非常旧的版本。我想编译的部分代码仅针对GHC7.8进行编译。 最佳答案 您可以从http://deb.haskell.org获得最新的GHCDebian软件包安装说明here 关于linux-如何在debian上安装最新的Haskell平台?,我们在StackOverflow上找到一个类

linux - 如何跨平台从 Haskell 代码播放音频文件

我正在编写一个在Linux、Windows和OSX上运行的Haskell命令行应用程序。我现在必须播放音频文件(.wav、.ogg和.mp3)从它。我将如何实现一个功能playAudioFile::FilePath->IO()甚至更好playAudio::ByteString->IO()那只适用于所有系统?(我很乐意调用常用的命令行工具,也不介意将它们捆绑到Windows发行版中。) 最佳答案 这是我使用SDL-1.2编写的代码:modulePlaySound(withSound,playSound)whereimportContr

linux - Haskell 堆栈找不到已安装的 ghc

已经设置好的项目找不到GHC。堆栈构建结果:Nocompilerfound,expectedminorversionmatchwithghc-8.0.2(x86_64-ncurses6-nopie)(basedonresolversettingin/home/iam/Work/has/grove/stack.yaml).ToinstallthecorrectGHCinto/home/iam/.stack/programs/x86_64-linux/,tryrunning"stacksetup"orusethe"--install-ghc"flag.TouseyoursystemGHCi

linux - 使用 GNU/Linux 系统调用 `splice` 在 Haskell 中进行零拷贝套接字到套接字数据传输

更新:尼莫先生的回答帮助解决了问题!下面的代码包含修复!请参阅下面的nbFalse和nbTrue调用。还有一个名为splice的新Haskell包(它具有操作系统特定和可移植的最著名套接字到套接字数据传输循环的实现)。我有以下(Haskell)代码:#ifdefLINUX_SPLICE#include{-#LANGUAGECPP#-}{-#LANGUAGEForeignFunctionInterface#-}#endifmoduleNetwork.Socket.Splice(Length,zeroCopy,splice#ifdefLINUX_SPLICE,c_splice#endif)

linux - Haskell:从/proc 读取。严格和懒惰的问题。过程统计

我在从/proc读取文件时有非常奇怪的行为如果我用prelude的readFile懒惰地读取/proc/pid/stat-它可以工作但不是我想要的方式。使用Data.ByteString.readFile切换到严格读取会给我一个空字符串。我这里需要严格的阅读才能在短时间内比较两次阅读的结果。所以使用System.IO.readFile读取/proc/pid/stat根本行不通。它在0.5秒的间隔内给了我相同的结果。我认为这是由于懒惰和半关闭handle或其他原因......打开和关闭文件句柄明确有效。h但是如果我们有字节串严格阅读,为什么还要这样做。对吧?这就是我卡住的地方。impor

linux - Haskell 和低级 IO 操作

如何在Haskell中实现套接字、管道和文件IO等底层功能?我猜这些IO方法不是Haskell原生的,但Haskell很快包装了一些低级C库,对吗? 最佳答案 套接字、管道和文件在内核中实现;要从用户空间程序中使用它们,您需要callintothekernel.如果你把内核看作一个库,那么是的,I/O必然是由一个低级的C/汇编程序库实现的。在实践中,GHC等Haskell实现将使用C库的系统调用包装器。参见例如GHCRTScommentary,它描述了构成任何使用GHC编译的Haskell程序核心的C位。如有疑问,请咨询source