当前位置:  开发笔记 > 编程语言 > 正文

Should I avoid using interactive mode?

如何解决《ShouldIavoidusinginteractivemode?》经验,为你挑选了1个好方法。

Haskell newbie here. I use ghci to implement a baby quicksort algorithm [1] as follows:

Prelude> quicksort (firstx:xs) = quicksort[x|x<-xs, x quicksort [] = []

The command quicksort [1,2,3] then gives an error:

*** Exception: :8:1-17: Non-exhaustive patterns in function quicksort

However, typing the exact same thing in an quicksort.hs file and running $ ghci quicksort.hs do not yield such an error.

Question

What makes the difference? Is it a rule of thumb that one should avoid using interactive mode?

Reference

[1] Rex Page. Two Dozen Short Lessons in Haskell



1> MCH..:

通常,在文件中定义多行函数然后加载:l 或重新加载会更容易:r,但是有时我确实会在GHCi中直接从:{和开始声明多行函数:}

:{
quicksort (firstx:xs) = quicksort[x|x<-xs, x

:h 如果您在GHCi中忘记了任何命令,则很有用。

编辑:忘记解决您的问题的第二部分。

避免使用交互模式是一种经验法则吗?

交互模式是一个很好的工具,我在其他诸如ReasonML的生态系统中没有使用它。没有理由避免它。如果您想保留一些代码,请记住要复制代码。

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有