在学习Haskell的过程中,我发现现实生活中的代码中使用了许多语言扩展。作为初学者,我应该学会使用它们,还是不惜一切代价避免使用它们?我看到它破坏了与Haskell 98的兼容性并将代码限制为仅GHC。但是,如果我在Hackage上浏览软件包,则无论如何我都会看到其中大多数都是纯GHC的。
那么,社区对于使用语言扩展的态度是什么?
如果可以使用扩展名,那么如何区分可以“安全”使用的扩展名(那些可能成为下一个Haskell标准的一部分)和大多数“实验性”扩展名呢?例如,我假设-XDisambiguateRecordFields很好并且有用,但是将来可能会支持它吗?