diff options
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-ghc-support.el')
-rw-r--r-- | configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-ghc-support.el | 1344 |
1 files changed, 0 insertions, 1344 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-ghc-support.el b/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-ghc-support.el deleted file mode 100644 index 93690170c6da..000000000000 --- a/configs/shared/emacs/.emacs.d/elpa/haskell-mode-20180913.348/haskell-ghc-support.el +++ /dev/null @@ -1,1344 +0,0 @@ -;;; haskell-ghc-support.el --- GHC specific code -*- coding: utf-8; lexical-binding: t -*- - -;; Copyright © 2016 Haskell Mode -;; Author: 2016 Gracjan Polak - -;; This file is not part of GNU Emacs. - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; This file containt GHC specific constants and information. - -;;; Code: - -(defvar haskell-ghc-supported-extensions - '( - ;;; BEGIN haskell-ghc-supported-extensions - "AllowAmbiguousTypes" - "AlternativeLayoutRule" - "AlternativeLayoutRuleTransitional" - "ApplicativeDo" - "Arrows" - "AutoDeriveTypeable" - "BangPatterns" - "BinaryLiterals" - "CApiFFI" - "CPP" - "ConstrainedClassMethods" - "ConstraintKinds" - "DataKinds" - "DatatypeContexts" - "DefaultSignatures" - "DeriveAnyClass" - "DeriveDataTypeable" - "DeriveFoldable" - "DeriveFunctor" - "DeriveGeneric" - "DeriveLift" - "DeriveTraversable" - "DisambiguateRecordFields" - "DoAndIfThenElse" - "DoRec" - "DuplicateRecordFields" - "EmptyCase" - "EmptyDataDecls" - "ExistentialQuantification" - "ExplicitForAll" - "ExplicitNamespaces" - "ExtendedDefaultRules" - "FlexibleContexts" - "FlexibleInstances" - "ForeignFunctionInterface" - "FunctionalDependencies" - "GADTSyntax" - "GADTs" - "GHCForeignImportPrim" - "GeneralizedNewtypeDeriving" - "Haskell2010" - "Haskell98" - "ImplicitParams" - "ImplicitPrelude" - "ImpredicativeTypes" - "IncoherentInstances" - "InstanceSigs" - "InterruptibleFFI" - "JavaScriptFFI" - "KindSignatures" - "LambdaCase" - "LiberalTypeSynonyms" - "MagicHash" - "MonadComprehensions" - "MonadFailDesugaring" - "MonoLocalBinds" - "MonoPatBinds" - "MonomorphismRestriction" - "MultiParamTypeClasses" - "MultiWayIf" - "NPlusKPatterns" - "NamedFieldPuns" - "NamedWildCards" - "NegativeLiterals" - "NoAllowAmbiguousTypes" - "NoAlternativeLayoutRule" - "NoAlternativeLayoutRuleTransitional" - "NoApplicativeDo" - "NoArrows" - "NoAutoDeriveTypeable" - "NoBangPatterns" - "NoBinaryLiterals" - "NoCApiFFI" - "NoCPP" - "NoConstrainedClassMethods" - "NoConstraintKinds" - "NoDataKinds" - "NoDatatypeContexts" - "NoDefaultSignatures" - "NoDeriveAnyClass" - "NoDeriveDataTypeable" - "NoDeriveFoldable" - "NoDeriveFunctor" - "NoDeriveGeneric" - "NoDeriveLift" - "NoDeriveTraversable" - "NoDisambiguateRecordFields" - "NoDoAndIfThenElse" - "NoDoRec" - "NoDuplicateRecordFields" - "NoEmptyCase" - "NoEmptyDataDecls" - "NoExistentialQuantification" - "NoExplicitForAll" - "NoExplicitNamespaces" - "NoExtendedDefaultRules" - "NoFlexibleContexts" - "NoFlexibleInstances" - "NoForeignFunctionInterface" - "NoFunctionalDependencies" - "NoGADTSyntax" - "NoGADTs" - "NoGHCForeignImportPrim" - "NoGeneralizedNewtypeDeriving" - "NoImplicitParams" - "NoImplicitPrelude" - "NoImpredicativeTypes" - "NoIncoherentInstances" - "NoInstanceSigs" - "NoInterruptibleFFI" - "NoJavaScriptFFI" - "NoKindSignatures" - "NoLambdaCase" - "NoLiberalTypeSynonyms" - "NoMagicHash" - "NoMonadComprehensions" - "NoMonadFailDesugaring" - "NoMonoLocalBinds" - "NoMonoPatBinds" - "NoMonomorphismRestriction" - "NoMultiParamTypeClasses" - "NoMultiWayIf" - "NoNPlusKPatterns" - "NoNamedFieldPuns" - "NoNamedWildCards" - "NoNegativeLiterals" - "NoNondecreasingIndentation" - "NoNullaryTypeClasses" - "NoNumDecimals" - "NoOverlappingInstances" - "NoOverloadedLabels" - "NoOverloadedLists" - "NoOverloadedStrings" - "NoPackageImports" - "NoParallelArrays" - "NoParallelListComp" - "NoPartialTypeSignatures" - "NoPatternGuards" - "NoPatternSignatures" - "NoPatternSynonyms" - "NoPolyKinds" - "NoPolymorphicComponents" - "NoPostfixOperators" - "NoQuasiQuotes" - "NoRank2Types" - "NoRankNTypes" - "NoRebindableSyntax" - "NoRecordPuns" - "NoRecordWildCards" - "NoRecursiveDo" - "NoRelaxedLayout" - "NoRelaxedPolyRec" - "NoRoleAnnotations" - "NoScopedTypeVariables" - "NoStandaloneDeriving" - "NoStaticPointers" - "NoStrict" - "NoStrictData" - "NoTemplateHaskell" - "NoTemplateHaskellQuotes" - "NoTraditionalRecordSyntax" - "NoTransformListComp" - "NoTupleSections" - "NoTypeApplications" - "NoTypeFamilies" - "NoTypeFamilyDependencies" - "NoTypeInType" - "NoTypeOperators" - "NoTypeSynonymInstances" - "NoUnboxedTuples" - "NoUndecidableInstances" - "NoUndecidableSuperClasses" - "NoUnicodeSyntax" - "NoUnliftedFFITypes" - "NoViewPatterns" - "NondecreasingIndentation" - "NullaryTypeClasses" - "NumDecimals" - "OverlappingInstances" - "OverloadedLabels" - "OverloadedLists" - "OverloadedStrings" - "PackageImports" - "ParallelArrays" - "ParallelListComp" - "PartialTypeSignatures" - "PatternGuards" - "PatternSignatures" - "PatternSynonyms" - "PolyKinds" - "PolymorphicComponents" - "PostfixOperators" - "QuasiQuotes" - "Rank2Types" - "RankNTypes" - "RebindableSyntax" - "RecordPuns" - "RecordWildCards" - "RecursiveDo" - "RelaxedLayout" - "RelaxedPolyRec" - "RoleAnnotations" - "Safe" - "ScopedTypeVariables" - "StandaloneDeriving" - "StaticPointers" - "Strict" - "StrictData" - "TemplateHaskell" - "TemplateHaskellQuotes" - "TraditionalRecordSyntax" - "TransformListComp" - "Trustworthy" - "TupleSections" - "TypeApplications" - "TypeFamilies" - "TypeFamilyDependencies" - "TypeInType" - "TypeOperators" - "TypeSynonymInstances" - "UnboxedTuples" - "UndecidableInstances" - "UndecidableSuperClasses" - "UnicodeSyntax" - "UnliftedFFITypes" - "Unsafe" - "ViewPatterns" - ;;; END haskell-ghc-supported-extensions - ) - "List of language extensions supported by any known version of GHC. - -This list should be updated by running `haskell-update-ghc-support'.") - -(defvar haskell-ghc-supported-options - '( - ;;; BEGIN haskell-ghc-supported-options - "-#include" - "--abi-hash" - "--frontend" - "--help" - "--info" - "--interactive" - "--make" - "--numeric-version" - "--print-booter-version" - "--print-build-platform" - "--print-c-compiler-flags" - "--print-c-compiler-link-flags" - "--print-debug-on" - "--print-gcc-linker-flags" - "--print-global-package-db" - "--print-have-interpreter" - "--print-have-native-code-generator" - "--print-host-platform" - "--print-ld-flags" - "--print-ld-linker-flags" - "--print-leading-underscore" - "--print-libdir" - "--print-object-splitting-supported" - "--print-project-git-commit-id" - "--print-project-version" - "--print-rts-ways" - "--print-stage" - "--print-support-smp" - "--print-tables-next-to-code" - "--print-target-platform" - "--print-unregisterised" - "--show-iface" - "--show-options" - "--show-packages" - "--supported-extensions" - "--supported-languages" - "--version" - "-?" - "-C" - "-D" - "-E" - "-F" - "-H" - "-I" - "-L" - "-M" - "-O" - "-Odph" - "-Onot" - "-Rghc-timing" - "-S" - "-U" - "-V" - "-W" - "-Wall" - "-Wall-missed-specialisations" - "-Walternative-layout-rule-transitional" - "-Wamp" - "-Wauto-orphans" - "-Wcompat" - "-Wcontext-quantification" - "-Wdefault" - "-Wdeferred-type-errors" - "-Wdeprecated-flags" - "-Wdeprecations" - "-Wderiving-typeable" - "-Wdodgy-exports" - "-Wdodgy-foreign-imports" - "-Wdodgy-imports" - "-Wduplicate-constraints" - "-Wduplicate-exports" - "-Wempty-enumerations" - "-Werror" - "-Weverything" - "-Wextra" - "-Whi-shadowing" - "-Widentities" - "-Wimplicit-prelude" - "-Wincomplete-patterns" - "-Wincomplete-record-updates" - "-Wincomplete-uni-patterns" - "-Winline-rule-shadowing" - "-Wmissed-specialisations" - "-Wmissing-exported-signatures" - "-Wmissing-exported-sigs" - "-Wmissing-fields" - "-Wmissing-import-lists" - "-Wmissing-local-signatures" - "-Wmissing-local-sigs" - "-Wmissing-methods" - "-Wmissing-monadfail-instances" - "-Wmissing-pattern-synonym-signatures" - "-Wmissing-signatures" - "-Wmonomorphism-restriction" - "-Wname-shadowing" - "-Wno-all" - "-Wno-all-missed-specialisations" - "-Wno-alternative-layout-rule-transitional" - "-Wno-amp" - "-Wno-auto-orphans" - "-Wno-compat" - "-Wno-context-quantification" - "-Wno-default" - "-Wno-deferred-type-errors" - "-Wno-deprecated-flags" - "-Wno-deprecations" - "-Wno-deriving-typeable" - "-Wno-dodgy-exports" - "-Wno-dodgy-foreign-imports" - "-Wno-dodgy-imports" - "-Wno-duplicate-constraints" - "-Wno-duplicate-exports" - "-Wno-empty-enumerations" - "-Wno-everything" - "-Wno-extra" - "-Wno-hi-shadowing" - "-Wno-identities" - "-Wno-implicit-prelude" - "-Wno-incomplete-patterns" - "-Wno-incomplete-record-updates" - "-Wno-incomplete-uni-patterns" - "-Wno-inline-rule-shadowing" - "-Wno-missed-specialisations" - "-Wno-missing-exported-signatures" - "-Wno-missing-exported-sigs" - "-Wno-missing-fields" - "-Wno-missing-import-lists" - "-Wno-missing-local-signatures" - "-Wno-missing-local-sigs" - "-Wno-missing-methods" - "-Wno-missing-monadfail-instances" - "-Wno-missing-pattern-synonym-signatures" - "-Wno-missing-signatures" - "-Wno-monomorphism-restriction" - "-Wno-name-shadowing" - "-Wno-noncanonical-monad-instances" - "-Wno-noncanonical-monadfail-instances" - "-Wno-noncanonical-monoid-instances" - "-Wno-orphans" - "-Wno-overflowed-literals" - "-Wno-overlapping-patterns" - "-Wno-partial-type-signatures" - "-Wno-redundant-constraints" - "-Wno-safe" - "-Wno-semigroup" - "-Wno-tabs" - "-Wno-trustworthy-safe" - "-Wno-type-defaults" - "-Wno-typed-holes" - "-Wno-unrecognised-pragmas" - "-Wno-unrecognised-warning-flags" - "-Wno-unsafe" - "-Wno-unsupported-calling-conventions" - "-Wno-unsupported-llvm-version" - "-Wno-unticked-promoted-constructors" - "-Wno-unused-binds" - "-Wno-unused-do-bind" - "-Wno-unused-foralls" - "-Wno-unused-imports" - "-Wno-unused-local-binds" - "-Wno-unused-matches" - "-Wno-unused-pattern-binds" - "-Wno-unused-top-binds" - "-Wno-unused-type-patterns" - "-Wno-warnings-deprecations" - "-Wno-wrong-do-bind" - "-Wnoncanonical-monad-instances" - "-Wnoncanonical-monadfail-instances" - "-Wnoncanonical-monoid-instances" - "-Wnot" - "-Worphans" - "-Woverflowed-literals" - "-Woverlapping-patterns" - "-Wpartial-type-signatures" - "-Wredundant-constraints" - "-Wsafe" - "-Wsemigroup" - "-Wtabs" - "-Wtrustworthy-safe" - "-Wtype-defaults" - "-Wtyped-holes" - "-Wunrecognised-pragmas" - "-Wunrecognised-warning-flags" - "-Wunsafe" - "-Wunsupported-calling-conventions" - "-Wunsupported-llvm-version" - "-Wunticked-promoted-constructors" - "-Wunused-binds" - "-Wunused-do-bind" - "-Wunused-foralls" - "-Wunused-imports" - "-Wunused-local-binds" - "-Wunused-matches" - "-Wunused-pattern-binds" - "-Wunused-top-binds" - "-Wunused-type-patterns" - "-Wwarn" - "-Wwarnings-deprecations" - "-Wwrong-do-bind" - "-XAllowAmbiguousTypes" - "-XAlternativeLayoutRule" - "-XAlternativeLayoutRuleTransitional" - "-XApplicativeDo" - "-XArrows" - "-XAutoDeriveTypeable" - "-XBangPatterns" - "-XBinaryLiterals" - "-XCApiFFI" - "-XCPP" - "-XConstrainedClassMethods" - "-XConstraintKinds" - "-XDataKinds" - "-XDatatypeContexts" - "-XDefaultSignatures" - "-XDeriveAnyClass" - "-XDeriveDataTypeable" - "-XDeriveFoldable" - "-XDeriveFunctor" - "-XDeriveGeneric" - "-XDeriveLift" - "-XDeriveTraversable" - "-XDisambiguateRecordFields" - "-XDoAndIfThenElse" - "-XDoRec" - "-XDuplicateRecordFields" - "-XEmptyCase" - "-XEmptyDataDecls" - "-XExistentialQuantification" - "-XExplicitForAll" - "-XExplicitNamespaces" - "-XExtendedDefaultRules" - "-XFlexibleContexts" - "-XFlexibleInstances" - "-XForeignFunctionInterface" - "-XFunctionalDependencies" - "-XGADTSyntax" - "-XGADTs" - "-XGHCForeignImportPrim" - "-XGeneralizedNewtypeDeriving" - "-XGenerics" - "-XHaskell2010" - "-XHaskell98" - "-XImplicitParams" - "-XImplicitPrelude" - "-XImpredicativeTypes" - "-XIncoherentInstances" - "-XInstanceSigs" - "-XInterruptibleFFI" - "-XJavaScriptFFI" - "-XKindSignatures" - "-XLambdaCase" - "-XLiberalTypeSynonyms" - "-XMagicHash" - "-XMonadComprehensions" - "-XMonadFailDesugaring" - "-XMonoLocalBinds" - "-XMonoPatBinds" - "-XMonomorphismRestriction" - "-XMultiParamTypeClasses" - "-XMultiWayIf" - "-XNPlusKPatterns" - "-XNamedFieldPuns" - "-XNamedWildCards" - "-XNegativeLiterals" - "-XNoAllowAmbiguousTypes" - "-XNoAlternativeLayoutRule" - "-XNoAlternativeLayoutRuleTransitional" - "-XNoApplicativeDo" - "-XNoArrows" - "-XNoAutoDeriveTypeable" - "-XNoBangPatterns" - "-XNoBinaryLiterals" - "-XNoCApiFFI" - "-XNoCPP" - "-XNoConstrainedClassMethods" - "-XNoConstraintKinds" - "-XNoDataKinds" - "-XNoDatatypeContexts" - "-XNoDefaultSignatures" - "-XNoDeriveAnyClass" - "-XNoDeriveDataTypeable" - "-XNoDeriveFoldable" - "-XNoDeriveFunctor" - "-XNoDeriveGeneric" - "-XNoDeriveLift" - "-XNoDeriveTraversable" - "-XNoDisambiguateRecordFields" - "-XNoDoAndIfThenElse" - "-XNoDoRec" - "-XNoDuplicateRecordFields" - "-XNoEmptyCase" - "-XNoEmptyDataDecls" - "-XNoExistentialQuantification" - "-XNoExplicitForAll" - "-XNoExplicitNamespaces" - "-XNoExtendedDefaultRules" - "-XNoFlexibleContexts" - "-XNoFlexibleInstances" - "-XNoForeignFunctionInterface" - "-XNoFunctionalDependencies" - "-XNoGADTSyntax" - "-XNoGADTs" - "-XNoGHCForeignImportPrim" - "-XNoGeneralizedNewtypeDeriving" - "-XNoGenerics" - "-XNoImplicitParams" - "-XNoImplicitPrelude" - "-XNoImpredicativeTypes" - "-XNoIncoherentInstances" - "-XNoInstanceSigs" - "-XNoInterruptibleFFI" - "-XNoJavaScriptFFI" - "-XNoKindSignatures" - "-XNoLambdaCase" - "-XNoLiberalTypeSynonyms" - "-XNoMagicHash" - "-XNoMonadComprehensions" - "-XNoMonadFailDesugaring" - "-XNoMonoLocalBinds" - "-XNoMonoPatBinds" - "-XNoMonomorphismRestriction" - "-XNoMultiParamTypeClasses" - "-XNoMultiWayIf" - "-XNoNPlusKPatterns" - "-XNoNamedFieldPuns" - "-XNoNamedWildCards" - "-XNoNegativeLiterals" - "-XNoNondecreasingIndentation" - "-XNoNullaryTypeClasses" - "-XNoNumDecimals" - "-XNoOverlappingInstances" - "-XNoOverloadedLabels" - "-XNoOverloadedLists" - "-XNoOverloadedStrings" - "-XNoPackageImports" - "-XNoParallelArrays" - "-XNoParallelListComp" - "-XNoPartialTypeSignatures" - "-XNoPatternGuards" - "-XNoPatternSignatures" - "-XNoPatternSynonyms" - "-XNoPolyKinds" - "-XNoPolymorphicComponents" - "-XNoPostfixOperators" - "-XNoQuasiQuotes" - "-XNoRank2Types" - "-XNoRankNTypes" - "-XNoRebindableSyntax" - "-XNoRecordPuns" - "-XNoRecordWildCards" - "-XNoRecursiveDo" - "-XNoRelaxedLayout" - "-XNoRelaxedPolyRec" - "-XNoRoleAnnotations" - "-XNoScopedTypeVariables" - "-XNoStandaloneDeriving" - "-XNoStaticPointers" - "-XNoStrict" - "-XNoStrictData" - "-XNoTemplateHaskell" - "-XNoTemplateHaskellQuotes" - "-XNoTraditionalRecordSyntax" - "-XNoTransformListComp" - "-XNoTupleSections" - "-XNoTypeApplications" - "-XNoTypeFamilies" - "-XNoTypeFamilyDependencies" - "-XNoTypeInType" - "-XNoTypeOperators" - "-XNoTypeSynonymInstances" - "-XNoUnboxedTuples" - "-XNoUndecidableInstances" - "-XNoUndecidableSuperClasses" - "-XNoUnicodeSyntax" - "-XNoUnliftedFFITypes" - "-XNoViewPatterns" - "-XNondecreasingIndentation" - "-XNullaryTypeClasses" - "-XNumDecimals" - "-XOverlappingInstances" - "-XOverloadedLabels" - "-XOverloadedLists" - "-XOverloadedStrings" - "-XPackageImports" - "-XParallelArrays" - "-XParallelListComp" - "-XPartialTypeSignatures" - "-XPatternGuards" - "-XPatternSignatures" - "-XPatternSynonyms" - "-XPolyKinds" - "-XPolymorphicComponents" - "-XPostfixOperators" - "-XQuasiQuotes" - "-XRank2Types" - "-XRankNTypes" - "-XRebindableSyntax" - "-XRecordPuns" - "-XRecordWildCards" - "-XRecursiveDo" - "-XRelaxedLayout" - "-XRelaxedPolyRec" - "-XRoleAnnotations" - "-XSafe" - "-XScopedTypeVariables" - "-XStandaloneDeriving" - "-XStaticPointers" - "-XStrict" - "-XStrictData" - "-XTemplateHaskell" - "-XTemplateHaskellQuotes" - "-XTraditionalRecordSyntax" - "-XTransformListComp" - "-XTrustworthy" - "-XTupleSections" - "-XTypeApplications" - "-XTypeFamilies" - "-XTypeFamilyDependencies" - "-XTypeInType" - "-XTypeOperators" - "-XTypeSynonymInstances" - "-XUnboxedTuples" - "-XUndecidableInstances" - "-XUndecidableSuperClasses" - "-XUnicodeSyntax" - "-XUnliftedFFITypes" - "-XUnsafe" - "-XViewPatterns" - "-auto" - "-auto-all" - "-c" - "-caf-all" - "-clear-package-db" - "-cpp" - "-dannot-lint" - "-dasm-lint" - "-dcmm-lint" - "-dcore-lint" - "-ddump-asm" - "-ddump-asm-conflicts" - "-ddump-asm-expanded" - "-ddump-asm-liveness" - "-ddump-asm-native" - "-ddump-asm-regalloc" - "-ddump-asm-regalloc-stages" - "-ddump-asm-stats" - "-ddump-bcos" - "-ddump-call-arity" - "-ddump-cmm" - "-ddump-cmm-cbe" - "-ddump-cmm-cfg" - "-ddump-cmm-cps" - "-ddump-cmm-info" - "-ddump-cmm-proc" - "-ddump-cmm-procmap" - "-ddump-cmm-raw" - "-ddump-cmm-sink" - "-ddump-cmm-sp" - "-ddump-cmm-split" - "-ddump-cmm-switch" - "-ddump-core-stats" - "-ddump-cs-trace" - "-ddump-cse" - "-ddump-debug" - "-ddump-deriv" - "-ddump-ds" - "-ddump-file-prefix" - "-ddump-foreign" - "-ddump-hi" - "-ddump-hi-diffs" - "-ddump-hpc" - "-ddump-if-trace" - "-ddump-inlinings" - "-ddump-llvm" - "-ddump-minimal-imports" - "-ddump-mod-cycles" - "-ddump-mod-map" - "-ddump-occur-anal" - "-ddump-opt-cmm" - "-ddump-parsed" - "-ddump-prep" - "-ddump-rn" - "-ddump-rn-stats" - "-ddump-rn-trace" - "-ddump-rtti" - "-ddump-rule-firings" - "-ddump-rule-rewrites" - "-ddump-rules" - "-ddump-simpl" - "-ddump-simpl-iterations" - "-ddump-simpl-stats" - "-ddump-simpl-trace" - "-ddump-spec" - "-ddump-splices" - "-ddump-stg" - "-ddump-str-signatures" - "-ddump-stranal" - "-ddump-strsigs" - "-ddump-tc" - "-ddump-tc-trace" - "-ddump-ticked" - "-ddump-to-file" - "-ddump-types" - "-ddump-vect" - "-ddump-view-pattern-commoning" - "-ddump-vt-trace" - "-ddump-worker-wrapper" - "-debug" - "-dep-makefile" - "-dep-suffix" - "-dfaststring-stats" - "-dinitial-unique" - "-distrust" - "-distrust-all-packages" - "-dno-debug-output" - "-dno-llvm-mangler" - "-dno-ppr-case-as-let" - "-dno-ppr-ticks" - "-dno-suppress-coercions" - "-dno-suppress-idinfo" - "-dno-suppress-module-prefixes" - "-dno-suppress-type-applications" - "-dno-suppress-type-signatures" - "-dno-suppress-unfoldings" - "-dno-suppress-uniques" - "-dno-suppress-var-kinds" - "-dppr-case-as-let" - "-dppr-cols" - "-dppr-debug" - "-dppr-ticks" - "-dppr-user-length" - "-dshow-passes" - "-dsource-stats" - "-dstg-lint" - "-dstg-stats" - "-dsuppress-all" - "-dsuppress-coercions" - "-dsuppress-idinfo" - "-dsuppress-module-prefixes" - "-dsuppress-type-applications" - "-dsuppress-type-signatures" - "-dsuppress-unfoldings" - "-dsuppress-uniques" - "-dsuppress-var-kinds" - "-dth-dec-file" - "-dtrace-level" - "-dumpdir" - "-dunique-increment" - "-dverbose-core2core" - "-dverbose-stg2stg" - "-dylib-install-name" - "-dynamic" - "-dynamic-too" - "-dynhisuf" - "-dynload" - "-dyno" - "-dynosuf" - "-e" - "-eventlog" - "-exclude-module" - "-fPArr" - "-fPIC" - "-fallow-incoherent-instances" - "-fallow-overlapping-instances" - "-fallow-undecidable-instances" - "-farrows" - "-fasm" - "-fbang-patterns" - "-fbuilding-cabal-package" - "-fbyte-code" - "-fcall-arity" - "-fcase-merge" - "-fcmm-elim-common-blocks" - "-fcmm-sink" - "-fconstraint-solver-iterations" - "-fcontext-stack" - "-fcpr-anal" - "-fcpr-off" - "-fcross-module-specialise" - "-fcse" - "-fdefer-type-errors" - "-fdefer-typed-holes" - "-fdicts-cheap" - "-fdicts-strict" - "-fdmd-tx-dict-sel" - "-fdo-eta-reduction" - "-fdo-lambda-eta-expansion" - "-feager-blackholing" - "-fembed-manifest" - "-fenable-rewrite-rules" - "-ferror-spans" - "-fexcess-precision" - "-fexpose-all-unfoldings" - "-fext-core" - "-fextended-default-rules" - "-fexternal-interpreter" - "-fffi" - "-ffi" - "-fflat-cache" - "-ffloat-all-lams" - "-ffloat-in" - "-ffloat-lam-args" - "-fforce-recomp" - "-ffrontend-opt" - "-ffull-laziness" - "-ffun-to-thunk" - "-fgen-manifest" - "-fghci-history" - "-fghci-sandbox" - "-fglasgow-exts" - "-fhelpful-errors" - "-fhistory-size" - "-fhpc" - "-fhpc-no-auto" - "-fignore-asserts" - "-fignore-interface-pragmas" - "-fimplicit-params" - "-fimplicit-prelude" - "-firrefutable-tuples" - "-fkill-absence" - "-fkill-one-shot" - "-flate-dmd-anal" - "-fliberate-case" - "-fliberate-case-threshold" - "-fllvm" - "-floopification" - "-fmax-inline-alloc-size" - "-fmax-inline-memcpy-insns" - "-fmax-inline-memset-insns" - "-fmax-pmcheck-iterations" - "-fmax-relevant-binds" - "-fmax-simplifier-iterations" - "-fmax-worker-args" - "-fmono-pat-binds" - "-fmonomorphism-restriction" - "-fno-PArr" - "-fno-PIC" - "-fno-allow-incoherent-instances" - "-fno-allow-overlapping-instances" - "-fno-allow-undecidable-instances" - "-fno-arrows" - "-fno-bang-patterns" - "-fno-building-cabal-package" - "-fno-call-arity" - "-fno-case-merge" - "-fno-cmm-elim-common-blocks" - "-fno-cmm-sink" - "-fno-code" - "-fno-cpr-anal" - "-fno-cross-module-specialise" - "-fno-cse" - "-fno-defer-type-errors" - "-fno-defer-typed-holes" - "-fno-dicts-cheap" - "-fno-dicts-strict" - "-fno-dmd-tx-dict-sel" - "-fno-do-eta-reduction" - "-fno-do-lambda-eta-expansion" - "-fno-eager-blackholing" - "-fno-embed-manifest" - "-fno-enable-rewrite-rules" - "-fno-error-spans" - "-fno-excess-precision" - "-fno-expose-all-unfoldings" - "-fno-ext-core" - "-fno-extended-default-rules" - "-fno-external-interpreter" - "-fno-ffi" - "-fno-fi" - "-fno-flat-cache" - "-fno-float-in" - "-fno-force-recomp" - "-fno-full-laziness" - "-fno-fun-to-thunk" - "-fno-gen-manifest" - "-fno-ghci-history" - "-fno-ghci-sandbox" - "-fno-glasgow-exts" - "-fno-helpful-errors" - "-fno-hpc" - "-fno-hpc-no-auto" - "-fno-ignore-asserts" - "-fno-ignore-interface-pragmas" - "-fno-implicit-params" - "-fno-implicit-prelude" - "-fno-irrefutable-tuples" - "-fno-kill-absence" - "-fno-kill-one-shot" - "-fno-late-dmd-anal" - "-fno-liberate-case" - "-fno-liberate-case-threshold" - "-fno-loopification" - "-fno-max-relevant-binds" - "-fno-mono-pat-binds" - "-fno-monomorphism-restriction" - "-fno-omit-interface-pragmas" - "-fno-omit-yields" - "-fno-opt-coercion" - "-fno-parr" - "-fno-pedantic-bottoms" - "-fno-pre-inlining" - "-fno-print-equality-relations" - "-fno-print-expanded-synonyms" - "-fno-print-explicit-coercions" - "-fno-print-explicit-foralls" - "-fno-print-explicit-kinds" - "-fno-print-explicit-runtime-reps" - "-fno-print-potential-instances" - "-fno-print-typechecker-elaboration" - "-fno-print-unicode-syntax" - "-fno-prof-auto" - "-fno-prof-cafs" - "-fno-prof-count-entries" - "-fno-regs-graph" - "-fno-regs-iterative" - "-fno-reverse-errors" - "-fno-rewrite-rules" - "-fno-safe-infer" - "-fno-scoped-type-variables" - "-fno-shared-implib" - "-fno-show-warning-groups" - "-fno-simple-list-literals" - "-fno-spec-constr" - "-fno-spec-constr-count" - "-fno-spec-constr-threshold" - "-fno-specialise" - "-fno-specialise-aggressively" - "-fno-state-hack" - "-fno-static-argument-transformation" - "-fno-strictness" - "-fno-th" - "-fno-unbox-small-strict-fields" - "-fno-unbox-strict-fields" - "-fno-use-rpaths" - "-fno-vectorisation-avoidance" - "-fno-vectorise" - "-fno-version-macros" - "-fno-warn-" - "-fno-warn-alternative-layout-rule-transitional" - "-fno-warn-amp" - "-fno-warn-auto-orphans" - "-fno-warn-context-quantification" - "-fno-warn-deprecated-flags" - "-fno-warn-deprecations" - "-fno-warn-deriving-typeable" - "-fno-warn-dodgy-exports" - "-fno-warn-dodgy-foreign-imports" - "-fno-warn-dodgy-imports" - "-fno-warn-duplicate-constraints" - "-fno-warn-duplicate-exports" - "-fno-warn-empty-enumerations" - "-fno-warn-hi-shadowing" - "-fno-warn-identities" - "-fno-warn-implicit-prelude" - "-fno-warn-incomplete-patterns" - "-fno-warn-incomplete-record-updates" - "-fno-warn-incomplete-uni-patterns" - "-fno-warn-inline-rule-shadowing" - "-fno-warn-missing-exported-sigs" - "-fno-warn-missing-fields" - "-fno-warn-missing-import-lists" - "-fno-warn-missing-local-sigs" - "-fno-warn-missing-methods" - "-fno-warn-missing-signatures" - "-fno-warn-monomorphism-restriction" - "-fno-warn-name-shadowing" - "-fno-warn-orphans" - "-fno-warn-overflowed-literals" - "-fno-warn-overlapping-patterns" - "-fno-warn-partial-type-signatures" - "-fno-warn-pointless-pragmas" - "-fno-warn-safe" - "-fno-warn-tabs" - "-fno-warn-trustworthy-safe" - "-fno-warn-type-defaults" - "-fno-warn-typed-holes" - "-fno-warn-unrecognised-pragmas" - "-fno-warn-unsafe" - "-fno-warn-unsupported-calling-conventions" - "-fno-warn-unsupported-llvm-version" - "-fno-warn-unticked-promoted-constructors" - "-fno-warn-unused-binds" - "-fno-warn-unused-do-bind" - "-fno-warn-unused-imports" - "-fno-warn-unused-matches" - "-fno-warn-warnings-deprecations" - "-fno-warn-wrong-do-bind" - "-fno-worker-wrapper" - "-fno-write-interface" - "-fobject-code" - "-fomit-interface-pragmas" - "-fomit-yields" - "-fpackage-trust" - "-fparr" - "-fpedantic-bottoms" - "-fplugin" - "-fplugin-opt" - "-fpre-inlining" - "-fprint-equality-relations" - "-fprint-expanded-synonyms" - "-fprint-explicit-coercions" - "-fprint-explicit-foralls" - "-fprint-explicit-kinds" - "-fprint-explicit-runtime-reps" - "-fprint-potential-instances" - "-fprint-typechecker-elaboration" - "-fprint-unicode-syntax" - "-fprof-auto" - "-fprof-auto-calls" - "-fprof-auto-exported" - "-fprof-auto-top" - "-fprof-cafs" - "-fprof-count-entries" - "-framework" - "-framework-path" - "-freduction-depth" - "-fregs-graph" - "-fregs-iterative" - "-freverse-errors" - "-frewrite-rules" - "-frule-check" - "-fscoped-type-variables" - "-fshared-implib" - "-fshow-warning-groups" - "-fsimpl-tick-factor" - "-fsimple-list-literals" - "-fsimplifier-phases" - "-fspec-constr" - "-fspec-constr-count" - "-fspec-constr-recursive" - "-fspec-constr-threshold" - "-fspecialise" - "-fspecialise-aggressively" - "-fstatic-argument-transformation" - "-fstrictness" - "-fstrictness-before" - "-fth" - "-ftype-function-depth" - "-funbox-small-strict-fields" - "-funbox-strict-fields" - "-funfolding-creation-threshold" - "-funfolding-dict-discount" - "-funfolding-fun-discount" - "-funfolding-keeness-factor" - "-funfolding-use-threshold" - "-fuse-rpaths" - "-fvectorisation-avoidance" - "-fvectorise" - "-fversion-macros" - "-fvia-C" - "-fvia-c" - "-fwarn-" - "-fwarn-alternative-layout-rule-transitional" - "-fwarn-amp" - "-fwarn-auto-orphans" - "-fwarn-context-quantification" - "-fwarn-deprecated-flags" - "-fwarn-deprecations" - "-fwarn-deriving-typeable" - "-fwarn-dodgy-exports" - "-fwarn-dodgy-foreign-imports" - "-fwarn-dodgy-imports" - "-fwarn-duplicate-constraints" - "-fwarn-duplicate-exports" - "-fwarn-empty-enumerations" - "-fwarn-hi-shadowing" - "-fwarn-identities" - "-fwarn-implicit-prelude" - "-fwarn-incomplete-patterns" - "-fwarn-incomplete-record-updates" - "-fwarn-incomplete-uni-patterns" - "-fwarn-inline-rule-shadowing" - "-fwarn-missing-exported-sigs" - "-fwarn-missing-fields" - "-fwarn-missing-import-lists" - "-fwarn-missing-local-sigs" - "-fwarn-missing-methods" - "-fwarn-missing-signatures" - "-fwarn-monomorphism-restriction" - "-fwarn-name-shadowing" - "-fwarn-orphans" - "-fwarn-overflowed-literals" - "-fwarn-overlapping-patterns" - "-fwarn-partial-type-signatures" - "-fwarn-pointless-pragmas" - "-fwarn-safe" - "-fwarn-tabs" - "-fwarn-trustworthy-safe" - "-fwarn-type-defaults" - "-fwarn-typed-holes" - "-fwarn-unrecognised-pragmas" - "-fwarn-unsafe" - "-fwarn-unsupported-calling-conventions" - "-fwarn-unsupported-llvm-version" - "-fwarn-unticked-promoted-constructors" - "-fwarn-unused-binds" - "-fwarn-unused-do-bind" - "-fwarn-unused-imports" - "-fwarn-unused-matches" - "-fwarn-warnings-deprecations" - "-fwarn-wrong-do-bind" - "-fworker-wrapper" - "-fwrite-interface" - "-g" - "-global-package-db" - "-gransim" - "-haddock" - "-haddock-opts" - "-hcsuf" - "-hide-all-packages" - "-hide-all-plugin-packages" - "-hide-package" - "-hidir" - "-hisuf" - "-hpcdir" - "-i" - "-ignore-package" - "-include-pkg-deps" - "-j" - "-keep-hc-file" - "-keep-hc-files" - "-keep-llvm-file" - "-keep-llvm-files" - "-keep-s-file" - "-keep-s-files" - "-keep-tmp-files" - "-l" - "-main-is" - "-mavx" - "-mavx2" - "-mavx512cd" - "-mavx512er" - "-mavx512f" - "-mavx512pf" - "-msse" - "-msse2" - "-msse3" - "-msse4" - "-msse4.2" - "-n" - "-ndp" - "-no-auto" - "-no-auto-all" - "-no-auto-link-packages" - "-no-caf-all" - "-no-global-package-db" - "-no-hs-main" - "-no-link" - "-no-recomp" - "-no-rtsopts" - "-no-rtsopts-suggestions" - "-no-user-package-conf" - "-no-user-package-db" - "-o" - "-odir" - "-ohi" - "-optF" - "-optL" - "-optP" - "-opta" - "-optc" - "-opti" - "-optl" - "-optlc" - "-optlo" - "-optwindres" - "-osuf" - "-outputdir" - "-package" - "-package-conf" - "-package-db" - "-package-env" - "-package-id" - "-package-key" - "-package-name" - "-parallel" - "-pgmF" - "-pgmL" - "-pgmP" - "-pgma" - "-pgmc" - "-pgmdll" - "-pgmi" - "-pgml" - "-pgmlc" - "-pgmlibtool" - "-pgmlo" - "-pgms" - "-pgmwindres" - "-plugin-package" - "-plugin-package-id" - "-prof" - "-rdynamic" - "-recomp" - "-relative-dynlib-paths" - "-rtsopts" - "-rtsopts=all" - "-rtsopts=none" - "-rtsopts=some" - "-shared" - "-sig-of" - "-smp" - "-split-objs" - "-split-sections" - "-static" - "-staticlib" - "-stubdir" - "-syslib" - "-this-package-key" - "-this-unit-id" - "-threaded" - "-ticky" - "-ticky-LNE" - "-ticky-allocd" - "-ticky-dyn-thunk" - "-tmpdir" - "-trust" - "-user-package-db" - "-v" - "-w" - "-with-rtsopts" - ;;; END haskell-ghc-supported-options - ) - "List of options supported by any known version of GHC. - -This list should be updated by running `haskell-update-ghc-support'.") - - -(defun haskell-update-ghc-support (ghc-path) - "Update `haskell-ghc-supported-options' and `haskell-ghc-supported-extensions'. - -This command should be run once a GHC is released. It will use ---show-options and --supported-extensions to source the -information from GHC-PATH. Then it will update source code to -include newly found options. Old options are never removed and -are retained to support old versions of the compiler. - -Options and extension are kept in ascending order." - (interactive - (list - (read-shell-command "GHC command: " nil nil - (let ((filename - (cond - (buffer-file-name) - ((eq major-mode 'dired-mode) - (when (fboundp 'dired-get-filename) - ;; silence the checker - (dired-get-filename nil t)))))) - (and filename (file-relative-name filename)))))) - - - (let ((extentions (split-string (shell-command-to-string (concat ghc-path " --supported-extensions")))) - (options (split-string (shell-command-to-string (concat ghc-path " --show-options"))))) - (with-current-buffer - (find-file-noselect (replace-regexp-in-string "\\.elc$" ".el" (symbol-file 'haskell-ghc-supported-options))) - (save-excursion - (goto-char (point-min)) - (re-search-forward "BEGIN haskell-ghc-supported-extensions") - (forward-line 1) - (let ((point (point))) - (re-search-forward "END haskell-ghc-supported-extensions") - (goto-char (line-beginning-position)) - (delete-region point (point))) - (setq haskell-ghc-supported-extensions - (delete-dups (sort (append extentions haskell-ghc-supported-extensions) #'string<))) - (dolist (item haskell-ghc-supported-extensions) - (insert " \"" item "\"\n")) - (re-search-forward "BEGIN haskell-ghc-supported-options") - (forward-line 1) - (let ((point (point))) - (re-search-forward "END haskell-ghc-supported-options") - (goto-char (line-beginning-position)) - (delete-region point (point))) - (setq haskell-ghc-supported-options - (delete-dups (sort (append options haskell-ghc-supported-options) #'string<))) - (dolist (item haskell-ghc-supported-options) - (insert " \"" item "\"\n")))))) - -(provide 'haskell-ghc-support) |