haskell-ja > Archives > 2011/02/04

2011/02/04 10:23:53 UTCshelarcy@twitter
#
GHC Current で NondecreasingIndentation が、Language 指示文や Cabal 等で Haskell98 を指定した場合のデフォルトになったそうです。
#
http://www.haskell.org/pipermail/cvs-ghc/2011-February/059636.html
2011/02/04 10:29:54 UTCshelarcy@twitter
#
結局こういうことですか。
#
GHC Current では仕様にそうように GHC の非標準的なレイアウト規則の実装を変更し、これまでのレイアウト規則を NondecreasingIndentation という拡張機能で使えるようにし、
#
後方互換性のためデフォルトでは NondecreasingIndentation を使うようにしました。 http://www.haskell.org/pipermail/cvs-ghc/2010-November/057800.html
2011/02/04 10:36:57 UTCshelarcy@twitter
#
ところが GHC Current のデフォルトは Haskell2010 + NondecreasingIndentation (+ MonoPatBinds) であったため、
#
Cabal が使っている Haskell98 モードでは無効になってしまっていました。これを修正するのが今回の変更です。
2011/02/04 10:47:58 UTCshelarcy@twitter
#
一応念のために確認。 http://www.haskell.org/ghc/docs/7.0.1/html/libraries/Cabal-1.10.0.0/src/Distribution-Simple-GHC.html#getLanguages
#
getLanguages が返す、タプルのリストの先頭にある (Haskell98, "-XHaskell98") が優先して使われているという解釈で良いんですよね?
2011/02/04 10:54:59 UTCshelarcy@twitter
#
あっ、Haskell98 がどうのこうのいう以前に NondecreasingIndentation 等が有効になるのはデフォルトケースなので、Haskell98 や Haskell2010 などが指定されていると無効になっちゃうんですね。
#
で、現在の Cabal の実装では強制的に無効になってしまう、と。そういうわけですか。