Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 如何正确缩进OSC配置_Haskell_Indentation - Fatal编程技术网

Haskell 如何正确缩进OSC配置

Haskell 如何正确缩进OSC配置,haskell,indentation,Haskell,Indentation,我试图在haskell文件中找到OSC配置的正确缩进。当我用两行写出下面的内容时 unityTarget :: OSCTarget unityTarget = OSCTarget {oName = "unityTarget", oAddress = "10.0.0.3", oPort = 7000, oPath = "/tidal", oShape = Nothing, oLatency = 0.02, oPreamble = [], oTimestamp = MessageStamp } 但

我试图在haskell文件中找到OSC配置的正确缩进。当我用两行写出下面的内容时

unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget", oAddress = "10.0.0.3", oPort = 7000, oPath = "/tidal", oShape = Nothing, oLatency = 0.02, oPreamble = [], oTimestamp = MessageStamp }
但是如果我使用下面的缩进,它就不起作用了,并且给了我一个解析错误:可能是错误的缩进或者不匹配的括号。我试过各种变化,但没有一种有效。谢谢你的帮助

unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget",
                         oAddress = "10.0.0.3",
                         oPort = 7000,
                         oPath = "/tidal",
                         oShape = Nothing,
                         oLatency = 0.02,
                         oPreamble = [],
                         oTimestamp = MessageStamp
                        }

我怀疑您使用的任何工具都是将其输出发送到ghci,而不是出于某种原因直接使用ghc。ghci的设计是交互式的,因此默认情况下,它一次接受一行并立即处理它。这会导致两个问题:您的类型签名将自行处理,而ghci将抱怨没有附带的绑定;而
unityTarget=OSCTarget{oName=“unityTarget”,
行将自行处理,ghci将抱怨
{
未关闭(但您可能看到的“parse error”消息没有帮助)

最简单的修复方法是用
:{
:}
括起任何多行内容,这是ghci用于开始和结束多行命令的标记,如您发布的示例文件中的其他地方所示,因此:

:{
unityTarget :: OSCTarget
unityTarget = OSCTarget {oName = "unityTarget",
                         oAddress = "10.0.0.3",
                         oPort = 7000,
                         oPath = "/tidal",
                         oShape = Nothing,
                         oLatency = 0.02,
                         oPreamble = [],
                         oTimestamp = MessageStamp
                        }
:}

我无法重现错误,你在哪里运行代码?请检查这里@DamiánRafaelattenero非常感谢,它实际上是TidalCycles的引导文件,不知道如何创建运行示例。它在TidalCycles Atom插件启动后立即执行: