Chris Stryczynski

Software Developer / Consultant

List of Haskell language extensions

I’ve made this list as I can’t always remember the exact name of a extension, and googling them is always a pain. So here it is, alphabetically sorted:

{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE AlternativeLayoutRule #-}
{-# LANGUAGE AlternativeLayoutRuleTransitional #-}
{-# LANGUAGE ApplicativeDo #-}
{-# LANGUAGE Arrows #-}
{-# LANGUAGE AutoDeriveTypeable #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE BinaryLiterals #-}
{-# LANGUAGE CApiFFI #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE ConstrainedClassMethods #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DatatypeContexts #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveLift #-}
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DisambiguateRecordFields #-}
{-# LANGUAGE DoAndIfThenElse #-}
{-# LANGUAGE DoRec #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE EmptyCase #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE EmptyDataDeriving #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE ExplicitNamespaces #-}
{-# LANGUAGE ExtendedDefaultRules #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE GADTSyntax #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE GHCForeignImportPrim #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE Haskell2010 #-}
{-# LANGUAGE Haskell98 #-}
{-# LANGUAGE HexFloatLiterals #-}
{-# LANGUAGE ImplicitParams #-}
{-# LANGUAGE ImplicitPrelude #-}
{-# LANGUAGE ImpredicativeTypes #-}
{-# LANGUAGE IncoherentInstances #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE InterruptibleFFI #-}
{-# LANGUAGE JavaScriptFFI #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE LiberalTypeSynonyms #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MonadComprehensions #-}
{-# LANGUAGE MonadFailDesugaring #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE MonoPatBinds #-}
{-# LANGUAGE MonomorphismRestriction #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE NPlusKPatterns #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE NamedWildCards #-}
{-# LANGUAGE NegativeLiterals #-}
{-# LANGUAGE NoAllowAmbiguousTypes #-}
{-# LANGUAGE NoAlternativeLayoutRule #-}
{-# LANGUAGE NoAlternativeLayoutRuleTransitional #-}
{-# LANGUAGE NoApplicativeDo #-}
{-# LANGUAGE NoArrows #-}
{-# LANGUAGE NoAutoDeriveTypeable #-}
{-# LANGUAGE NoBangPatterns #-}
{-# LANGUAGE NoBinaryLiterals #-}
{-# LANGUAGE NoCApiFFI #-}
{-# LANGUAGE NoCPP #-}
{-# LANGUAGE NoConstrainedClassMethods #-}
{-# LANGUAGE NoConstraintKinds #-}
{-# LANGUAGE NoDataKinds #-}
{-# LANGUAGE NoDatatypeContexts #-}
{-# LANGUAGE NoDefaultSignatures #-}
{-# LANGUAGE NoDeriveAnyClass #-}
{-# LANGUAGE NoDeriveDataTypeable #-}
{-# LANGUAGE NoDeriveFoldable #-}
{-# LANGUAGE NoDeriveFunctor #-}
{-# LANGUAGE NoDeriveGeneric #-}
{-# LANGUAGE NoDeriveLift #-}
{-# LANGUAGE NoDeriveTraversable #-}
{-# LANGUAGE NoDerivingStrategies #-}
{-# LANGUAGE NoDisambiguateRecordFields #-}
{-# LANGUAGE NoDoAndIfThenElse #-}
{-# LANGUAGE NoDoRec #-}
{-# LANGUAGE NoDuplicateRecordFields #-}
{-# LANGUAGE NoEmptyCase #-}
{-# LANGUAGE NoEmptyDataDecls #-}
{-# LANGUAGE NoEmptyDataDeriving #-}
{-# LANGUAGE NoExistentialQuantification #-}
{-# LANGUAGE NoExplicitForAll #-}
{-# LANGUAGE NoExplicitNamespaces #-}
{-# LANGUAGE NoExtendedDefaultRules #-}
{-# LANGUAGE NoFlexibleContexts #-}
{-# LANGUAGE NoFlexibleInstances #-}
{-# LANGUAGE NoForeignFunctionInterface #-}
{-# LANGUAGE NoFunctionalDependencies #-}
{-# LANGUAGE NoGADTSyntax #-}
{-# LANGUAGE NoGADTs #-}
{-# LANGUAGE NoGHCForeignImportPrim #-}
{-# LANGUAGE NoGeneralizedNewtypeDeriving #-}
{-# LANGUAGE NoHexFloatLiterals #-}
{-# LANGUAGE NoImplicitParams #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE NoImpredicativeTypes #-}
{-# LANGUAGE NoIncoherentInstances #-}
{-# LANGUAGE NoInstanceSigs #-}
{-# LANGUAGE NoInterruptibleFFI #-}
{-# LANGUAGE NoJavaScriptFFI #-}
{-# LANGUAGE NoKindSignatures #-}
{-# LANGUAGE NoLambdaCase #-}
{-# LANGUAGE NoLiberalTypeSynonyms #-}
{-# LANGUAGE NoMagicHash #-}
{-# LANGUAGE NoMonadComprehensions #-}
{-# LANGUAGE NoMonadFailDesugaring #-}
{-# LANGUAGE NoMonoLocalBinds #-}
{-# LANGUAGE NoMonoPatBinds #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE NoMultiParamTypeClasses #-}
{-# LANGUAGE NoMultiWayIf #-}
{-# LANGUAGE NoNPlusKPatterns #-}
{-# LANGUAGE NoNamedFieldPuns #-}
{-# LANGUAGE NoNamedWildCards #-}
{-# LANGUAGE NoNegativeLiterals #-}
{-# LANGUAGE NoNondecreasingIndentation #-}
{-# LANGUAGE NoNullaryTypeClasses #-}
{-# LANGUAGE NoNumDecimals #-}
{-# LANGUAGE NoOverlappingInstances #-}
{-# LANGUAGE NoOverloadedLabels #-}
{-# LANGUAGE NoOverloadedLists #-}
{-# LANGUAGE NoOverloadedStrings #-}
{-# LANGUAGE NoPackageImports #-}
{-# LANGUAGE NoParallelArrays #-}
{-# LANGUAGE NoParallelListComp #-}
{-# LANGUAGE NoPartialTypeSignatures #-}
{-# LANGUAGE NoPatternGuards #-}
{-# LANGUAGE NoPatternSignatures #-}
{-# LANGUAGE NoPatternSynonyms #-}
{-# LANGUAGE NoPolyKinds #-}
{-# LANGUAGE NoPolymorphicComponents #-}
{-# LANGUAGE NoPostfixOperators #-}
{-# LANGUAGE NoQuasiQuotes #-}
{-# LANGUAGE NoRank2Types #-}
{-# LANGUAGE NoRankNTypes #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# LANGUAGE NoRecordPuns #-}
{-# LANGUAGE NoRecordWildCards #-}
{-# LANGUAGE NoRecursiveDo #-}
{-# LANGUAGE NoRelaxedLayout #-}
{-# LANGUAGE NoRelaxedPolyRec #-}
{-# LANGUAGE NoRoleAnnotations #-}
{-# LANGUAGE NoScopedTypeVariables #-}
{-# LANGUAGE NoStandaloneDeriving #-}
{-# LANGUAGE NoStaticPointers #-}
{-# LANGUAGE NoStrict #-}
{-# LANGUAGE NoStrictData #-}
{-# LANGUAGE NoTemplateHaskell #-}
{-# LANGUAGE NoTemplateHaskellQuotes #-}
{-# LANGUAGE NoTraditionalRecordSyntax #-}
{-# LANGUAGE NoTransformListComp #-}
{-# LANGUAGE NoTupleSections #-}
{-# LANGUAGE NoTypeApplications #-}
{-# LANGUAGE NoTypeFamilies #-}
{-# LANGUAGE NoTypeFamilyDependencies #-}
{-# LANGUAGE NoTypeInType #-}
{-# LANGUAGE NoTypeOperators #-}
{-# LANGUAGE NoTypeSynonymInstances #-}
{-# LANGUAGE NoUnboxedSums #-}
{-# LANGUAGE NoUnboxedTuples #-}
{-# LANGUAGE NoUndecidableInstances #-}
{-# LANGUAGE NoUndecidableSuperClasses #-}
{-# LANGUAGE NoUnicodeSyntax #-}
{-# LANGUAGE NoUnliftedFFITypes #-}
{-# LANGUAGE NoViewPatterns #-}
{-# LANGUAGE NondecreasingIndentation #-}
{-# LANGUAGE NullaryTypeClasses #-}
{-# LANGUAGE NumDecimals #-}
{-# LANGUAGE OverlappingInstances #-}
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PackageImports #-}
{-# LANGUAGE ParallelArrays #-}
{-# LANGUAGE ParallelListComp #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# LANGUAGE PatternGuards #-}
{-# LANGUAGE PatternSignatures #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE PolymorphicComponents #-}
{-# LANGUAGE PostfixOperators #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE Rank2Types #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RebindableSyntax #-}
{-# LANGUAGE RecordPuns #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE RecursiveDo #-}
{-# LANGUAGE RelaxedLayout #-}
{-# LANGUAGE RelaxedPolyRec #-}
{-# LANGUAGE RoleAnnotations #-}
{-# LANGUAGE Safe #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE StaticPointers #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TemplateHaskellQuotes #-}
{-# LANGUAGE TraditionalRecordSyntax #-}
{-# LANGUAGE TransformListComp #-}
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeFamilyDependencies #-}
{-# LANGUAGE TypeInType #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE UnboxedSums #-}
{-# LANGUAGE UnboxedTuples #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE UndecidableSuperClasses #-}
{-# LANGUAGE UnicodeSyntax #-}
{-# LANGUAGE UnliftedFFITypes #-}
{-# LANGUAGE Unsafe #-}
{-# LANGUAGE ViewPatterns #-}