我正在用来cabal v2-build构建一个项目,但它在我不直接依赖的包上不断失败。有没有办法cabal列出包的所有依赖项(最好以树格式),以便我可以看到我所依赖的调用构建失败的内容并(希望)摆脱它。
我正在研究purescript-python项目,并且有几个广泛使用 lambda 的核心库。由于代码的编译方式,lambda 的位置最终会变得模糊,这会导致在发生错误时出现奇怪的控制台消息。
我想重构这些库以尽可能少地使用 lambda。因此,例如,如果有类似的东西:
def foo(a):
return lambda b: lambda c: lambda d: lambda e: a + b + c + d + e
Run Code Online (Sandbox Code Playgroud)
生成会很好
def foo(a):
def _foo_internal_anon_1(b):
def _foo_internal_anon_2(c):
def _foo_internal_anon_3(d):
def _foo_internal_anon_4(e):
return a + b + c + d + e
return _foo_internal_anon_4
return _foo_internal_anon_3
return _foo_internal_anon_2
return _foo_internal_anon_1
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,即使用pylintvscode 或 pycharm 插件,还是必须手动完成?
我有一个包含函数的记录类型。我正在尝试记录该函数的参数,但是 Haddock 给了我一个解析错误。(当我实际编译代码以运行它时,它工作正常。)
data Browserful jsval = Browserful
{
-- | See [EventTarget.addEventListener](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener)
addEventListener :: jsval -- ^ The event target
-> String -- ^ The event to listen for, ie "click"
-> jsval -- ^ The event target
-> IO () -- ^ Returns nothing
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
src\Web\Framework\Plzwrk\Browserful.hs:21:25: error:
parse error on input `->'
|
21 | -> String -- ^ The event to listen for, ie "click"
| ^^
Run Code Online (Sandbox Code Playgroud)
有谁知道如何在这里正确记录函数参数?谢谢!
在 Haskell 中,我习惯于做这样的事情。
data Foo = Foo { foo :: String, bar :: String }
mFoo :: (Monad m) => m String -> m String -> m Foo
mFoo foo bar = Foo <$> foo <*> bar
Run Code Online (Sandbox Code Playgroud)
但是,这在 purescript 中不起作用。有没有办法实现相同的结果,即保留记录语法,同时在构建实例时允许通过应用函子部分应用?
谢谢!