generated at
GHC拡張
GHCの拡張
Haskell98やHaskell2010の仕様を拡張した機能を使える
プラグマ {-# LANGUAGE HogeHoge #-} で指定する
hs
{-# LANGUAGE OverloadedStrings #-} module Main where --


分類もされている


ghci上でGHC拡張する ref
起動時に設定する
$ ghci -XNoImplicitPrelude -XStrict --make Main.hs
-X の後ろに読み込む拡張名を続ける
-XNo のあとに無効にする拡張名を続ける
起動後に読み込む
有効にする
:set -XImplicitPrelude
無効にする
:set -XNoImplicitPrelude
:unset -XImplicitPrelude


$ ghc --supported-languages
一覧見れる
noXXX も表示されるので、単に wc しても倍ぐらいになる



拡張全体の大まかな分類
(Ordinary) Extensions
一般的なGHC拡張
それぞれの拡張に対してEnabledとDisabled用のものがある
雑に言うと、↓の2つに含まれないもの全て


そのproject内で使われている全ての拡張を一覧する


Cabal拡張もある
GHC拡張とは別にある
cabalは他のコンパイラでも使われるので

参考
GHC拡張全体の概要
拡張の大別
拡張が有効になるフロー