← ClaudeAtlas

language-extensionslisted

Haskell language extension and language edition (GHC2024/GHC2021) selection policy. Use when configuring or reviewing Haskell language extensions, cabal default-extensions, or default-language.
ncaq/konoka · ★ 3 · AI & Automation · score 72
Install: claude install-skill ncaq/konoka
# 言語拡張の選択方針 Haskellの言語拡張と、 言語拡張のセットである言語バージョンの選択方針について説明します。 ## 基本の方針 Haskellの言語バージョンは使える場合は`GHC2024`を使用します。 使えない場合は`GHC2021`を使用します。 `GHC2024`で有効になっていなくても、 比較的安全で有用な言語拡張は有効にします。 ## GHC2021に含まれている拡張 - `BangPatterns` - `BinaryLiterals` - `ConstrainedClassMethods` - `ConstraintKinds` - `DeriveDataTypeable` - `DeriveFoldable` - `DeriveFunctor` - `DeriveGeneric` - `DeriveLift` - `DeriveTraversable` - `DoAndIfThenElse` - `EmptyCase` - `EmptyDataDecls` - `EmptyDataDeriving` - `ExistentialQuantification` - `ExplicitForAll` - `FieldSelectors` - `FlexibleContexts` - `FlexibleInstances` - `ForeignFunctionInterface` - `GADTSyntax` - `GeneralisedNewtypeDeriving` - `HexFloatLiterals` - `ImplicitPrelude` - `ImplicitStagePersistence` - `ImportQualifiedPost` - `InstanceSigs` - `KindSignatures` - `MonomorphismRestriction` - `MultiParamTypeClasses` - `NamedFieldPuns` - `NamedWildCards` - `NoExplicitNamespaces` - `NumericUnderscores` - `PatternGuards` - `PolyKinds` - `PostfixOperators` - `RankNTypes` - `RelaxedPolyRec` - `ScopedTypeVariables` - `StandaloneDeriving` - `StandaloneKindSignatures` - `StarIsType` - `TraditionalRecordSyntax` - `TupleSections` - `TypeApplications` - `TypeOperators` - `TypeSynonymInstances` ## GHC2024に含まれている拡張 上の`GHC2021`に加えて、 以下の拡張が`GHC2024`に含まれています。 - `DataKinds` - `DerivingStrategies` - `DisambiguateRecordFields` - `ExplicitNamespaces` - `GADTs` - `LambdaCase` - `RoleAnnotations` ## cabalファイルの設定例 典型的なcabalファイルでの言語バージョン��言語拡張の設定は以下のようになります。 ```cabal defau