2014-12-07 42 views
1

如何導入導致ghci編譯器由於安全而無法編譯的模塊?我試圖使用Debug.Trace,但編譯器告訴我它不安全。在Haskell中使用「不安全」的模塊

+1

這很奇怪。你的錯誤信息是什麼? – rampion 2014-12-07 15:14:41

+0

你的意思是「不可信」嗎?有一個重要的區別。 – 2014-12-07 15:28:42

+7

您正在編譯的模塊是否在頂部有一個'{ - #LANGUAGE Safe# - }'編譯指示?當然這不能跟着'import Debug.Trace'。如果不是,是否會在其他地方使用「-XSafe」你調用ghci的方式?此外,un'Safe'應該是遞歸的,所以如果你正在編譯一個具有'{ - #LANGUAGE Safe# - }'的模塊,但是導入你正在修改的模塊,同樣會有麻煩。 – Michael 2014-12-07 16:02:40

回答

3

您正在編譯的模塊的頂部是否有{-# LANGUAGE Safe #-}編譯指示?當然這不能跟進口Debug.Trace。如果不是,那麼-XSafe是否正在其他地方使用,例如你調用ghci的方式?另外,un Safe ness應該是遞歸的,所以如果你編譯的模塊有{-# LANGUAGE Safe #-}但導入你正在修改的模塊,同樣會有麻煩。