问题描述
有了这个 Main.purs
(不包括进口):
main :: Effect Unit
main = pure foo
foo :: Unit
foo = trace "foo" (\_ -> unit)
这对 pulp repl
和 pulp run
都按预期工作:
> import Main
> foo
'foo'
unit
> :q
See ya!
$ pulp run
* Building project in ...
* Build successful.
'foo'
$
但是使用这个 Main.purs
我得到了不同的结果 pulp repl
和 pulp run
:
main :: Effect Unit
main = pure $ bar unit
bar :: Unit -> Unit
bar _ = trace "bar" (\_ -> bar unit)
pulp repl
:
> import Main
> bar unit
console.js:168
if (isstackOverflowError(e))
^
pulp run
:
$ pulp run
* Building project in ...
* Build successful.
'bar'
'bar'
... omitted ...
'bar'
'bar'
'bar'
console.js:168
if (isstackOverflowError(e))
^
我还发现了这种可能相关也可能不相关的奇怪行为:
Main.purs
:
main :: Effect Unit
main = pure unit
-- foo is dead code
foo :: Unit
foo = trace "foo" (\_ -> unit)
外壳:
$ pulp run
* Building project in ...
* Build successful.
'foo'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)