Це команда ghci-70.3, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
GHC - компілятор Haskell Glasgow
СИНТАКСИС
ghc [варіант|ім'я файлу]...
ghci [варіант|ім'я файлу]...
ОПИС
На цій сторінці посібника коротко описано ghc та ghci команди. Зауважте, що ghci ще немає
доступний на всіх архітектурах. Розширена документація доступна в різних інших
формати, включаючи DVI, PostScript і HTML; Дивись нижче.
Кожний з параметрів командного рядка GHC класифікується як один статичний or динамічний. Статика
прапор можна вказати лише в командному рядку, тоді як динамічний прапор також може бути заданий
у прагмі OPTIONS у вихідному файлі або встановити з командного рядка GHCi за допомогою :set.
Як правило, всі параметри мови є динамічними, як і параметри попереджень і
параметри налагодження.
Решта статичні, за помітними винятками -v, -cpp, -фам, -fvia-C, -fllvm та
" -#include . У розділах OPTIONS перераховано статус кожного прапора.
Поширені суфікси імен файлів для Haskell:
.hs вихідний код Haskell; попередня обробка, компіляція
.lhs грамотне джерело Haskell; unlit, preprocess, compile
.Привіт файл інтерфейсу; містить інформацію про експортовані символи
.hc проміжні файли C
.x_o шлях x об'єктні файли; поширені способи: p, u, s
.x_Привіт шлях x файли інтерфейсу
ВАРІАНТИ
Багатослівність опції
-в -вn -fprint-explicit-foralls -fprint-explicit-kinds -ferror-spans -Hрозмір
-Rghc-таймінг
Alternative Режими of операція
--допомога,-? --interactive --make -e expr --show-iface -M --supported-extensions,
--supported-languages --show-options --info --version, -V --numeric-version
--print-libdir
Котрий фаз до пробіг
-E -C -S -c -x Суфікс
Перенаправлення вихід
-hcsuf Суфікс -хідир реж -гісуф Суфікс -o ім'я файлу -одір реж -Ой ім'я файлу -осуф
Суфікс -stubdir реж -dumpdir реж - вихідний каталог реж
зберігання проміжний файли
-keep-hc-file або
-keep-hc-files -keep-llvm-file або
-keep-llvm-files -keep-s-files або
-keep-s-файли -keep-tmp-файли
Тимчасовий файли
-tmpdir
Виявлення імпорт
-idir1:dir2:... -я
інтерфейс файл опції
-ddump-hi -ddump-hi-diffs -ddump-minimal-imports --show-iface файл
Перекомпіляція контроль
-fforce-recomp -fno-force-recomp
Інтерактивний режим опції
-ignore-dot-ghci -ghci-script -fbreak-on-error -fno-break-on-error -fbreak-on-exception
-fno-break-on-exception -fghci-hist-size=n (за замовчуванням 50) -fprint-evld-with-show
-fno-print-evld-with-show -fprint-bind-result -fno-print-bind-result
-fno-print-bind-contents -fno-implicit-import-qualified -interactive-print
Пакети
- цей ключ-пакет P - пакет P -приховати-всі-пакети -приховати-пакет ім'я -ignore-package
ім'я -package-db файл -clear-package-db -no-global-package-db -global-package-db
-no-user-package-db -user-package-db -no-auto-link-packages -trust P -недовіра P
-недовіра-всі
Language опції
-fcontext-stack=n -fglasgow-exts -fno-glasgow-exts -firrefutable-tuples
-fno-irreutable-tuples -fpackage-trust -ftype-function-depth=n -XAllowAmbiguousTypes
-XNoAllowAmbiguousTypes -XArrows -XNoArrows -XAutoDeriveTypeable -XNoAutoDeriveTypeable
-XBangPatterns -XNoBangPatterns -XBinaryLiterals -XNoBinaryLiterals -XCApiFFI
-XNoCAPIFFI -XConstrainedClassMethods -XNoConstrainedClassMethods -XConstraintKinds
-XNoConstraintKinds -XCPP -XNoCPP -XDataKinds -XNoDataKinds -XDefaultSignatures
-XNoDefaultSignatures -XDeriveAnyClass -XNoDeriveAnyClass -XDeriveDataTypeable
-XNoDeriveDataTypeable -XDeriveFunctor -XNoDeriveFunctor -XDeriveFoldable
-XNoDeriveFoldable -XDeriveGeneric -XNoDeriveGeneric -XDeriveTraversable
-XNoDeriveTraversable -XDisambiguateRecordFields -XNoDisambiguateRecordFields
-XEmptyCase -XNoEmptyCase -XEmptyDataDecls -XNoEmptyDataDecls
-XExistentialQuantification -XNoExistentialQuantification -XExplicitForAll
-XNoExplicitForAll -XExplicitNamespaces -XNoExplicitNamespaces -XExtendedDefaultRules
-XNoExtendedDefaultRules -XFlexibleContexts -XNoFlexibleContexts -XFlexibleInstances
-XNoFlexibleInstances -XForeignFunctionInterface -XNoForeignFunctionInterface
-XFunctionalDependencies -XNoFunctionalDependencies -XGADTs -XNoGADTs -XGADTSsyntax
-XNoGADTSsyntax -XGeneralizedNewtypeDeriving -XNoGeneralizedNewtypeDeriving -XGenerics
-XNoGenerics -XImplicitParams -XNoImplicitParams -XNoImplicitPrelude -XImplicitPrelude
-XImpredicativeTypes -XNoImpredicativeTypes -XIncoherentInstances -XNoIncoherentInstances
-XInstanceSigs -XNoInstanceSigs -XInterruptibleFFI -XNoInterruptibleFFI -XKindSignatures
-XNoKindSignatures -XLambdaCase -XNoLambdaCase -XLiberalTypeСиноніми
-XNoLiberalTypeСиноніми -XMagicHash -XNoMagicHash -XMonadComprehensions
-XNoMonadComprehensions -XMonoLocalBinds -XNoMonoLocalBinds -XNoMonomorphismRestriction
-XMonomorphismRestriction -XMultiParamTypeClasses -XNoMultiParamTypeClasses -XMultiWayIf
-XNoMultiWayIf -XNamedFieldPuns -XNoNamedFieldPuns -XNamedWildCards -XNoNamedWildCards
-XNegativeLiterals -XNoNegativeLiterals -XNoNPlusKPatterns -XNPlusKPatterns
-XNullaryTypeClasses -XNoNullaryTypeClasses -XNumDecimals -XNoNumDecimals
-XOverlappingInstances -XNoOverlappingInstances -XOverloadedLists -XNoOverloadedLists
-XOverloadedStrings -XNoOverloadedStrings -XPackageImports -XNoPackageImports
-XParallelArrays -XNoParallelArrays -XParallelListComp -XNoParallelListComp
-XPartialTypeSignatures -XNoPartialTypeSignatures -XPatternGuards -XNoPatternGuards
-XPatternСиноніми -XNoPatternСиноніми -XPolyKinds -XNoPolyKinds -XPolymorphicComponents
-XNoPolymorphicComponents -XPostfixOperators -XNoPostfixOperators -XQuasiQuotes
-XNoQuasiQuotes -XRank2Types -XNoRank2Types -XRankNTypes -XNoRankNTypes
-XRebindableSyntax -XNoRebindableSyntax -XRecordWildCards -XNoRecordWildCards
-XRecursiveDo -XNoRecursiveDo -XRelaxedPolyRec -XNoRelaxedPolyRec -XRoleAnnotations
-XNoRoleAnnotations -XSafe -XScopedTypeVariables -XNoScopedTypeVariables
-XStandaloneDeriving -XNoStandaloneDeriving -XTemplateHaskell -XNoTemplateHaskell
-XNoTraditionalRecordSyntax -XTraditionalRecordSyntax -XTransformListComp
-XNoTransformListComp -XTrustworthy -XTupleSections -XNoTupleSections -XTypeFamilies
-XNoTypeFamilies -XTypeOperators -XNoTypeOperators -XTypeSynonymExces
-XNoTypeSynonymInstances -XUnboxedTuples -XNoUnboxedTuples -XUndecidableInstances
-XNoUndecidableInstances -XUnicodeSyntax -XNoUnicodeSyntax -XUnliftedFFITypes
-XNoUnliftedFFITypes -XUnsafe -XViewPatterns -XNoViewPatterns
Попередження
-W -w -w -Wall -w -Помилка -Wwarn -fdefer-type-errors -fno-defer-type-errors
-fdefer-typed-holes -fno-defer-typed-holes -fhelpful-errors -fno-helpful-errors
-fwarn-deprecated-flags -fno-warn-deprecated-flags -fwarn-duplicate-constraints
-fno-warn-duplicate-constraints -fwarn-duplicate-exports -fno-warn-duplicate-exports
-fwarn-hi-shadowing -fno-warn-hi-shadowing -fwarn-identities -fno-warn-identities
-fwarn-implicit-prelude -fno-warn-implicit-prelude -fwarn-incomplete-patterns
-fno-warn-incomplete-patterns -fwarn-incomplete-uni-patterns
-fno-warn-incomplete-uni-patterns -fwarn-incomplete-record-updates
-fno-warn-incomplete-record-updates -fwarn-lazy-unlifted-bindings
-fno-warn-lazy-unlifted-bindings -fwarn-missing-fields -fno-warn-missing-fields
-fwarn-missing-import-lists -fnowarn-missing-import-lists -fwarn-missing-methods
-fno-warn-missing-methods -fwarn-missing-signatures -fno-warn-missing-signatures
-fwarn-missing-exported-sigs -fno-warn-missing-exported-sigs -fwarn-missing-local-sigs
-fno-warn-missing-local-sigs -fwarn-monomorphism-restriction
-fno-warn-monomorphism-restriction -fwarn-name-shadowing -fno-warn-name-shadowing
-fwarn-сироти, -fwarn-авто-сироти -fno-warn-сироти, -fno-warn-auto-сироти
-fwarn-overlapping-patterns -fno-warn-overlapping-patterns -fwarn-tabs -fno-warn-tabs
-fwarn-type-defaults -fno-warn-type-defaults -fwarn-unrecognised-pragmas
-fno-warn-unrecognised-pragmas -fwarn-unticked-promoted-constructors
-fno-warn-unticked-promoted-constructors -fwarn-unused-binds -fno-warn-unused-binds
-fwarn-unused-imports -fno-warn-unused-imports -fwarn-unused-matches
-fno-warn-unused- matches -fwarn-unused-do-bind -fno-warn-unused-do-bind
-fwarn-wrong-do-bind -fno-warn-wrong-do-bind -fwarn-unsafe -fno-warn-unsafe -fwarn-safe
-fno-warn-safe -fwarn-trustworthy-safe -fno-warn-safe -fwarn-warnings-deprecations
-fno-warn-warnings-deprecations -fwarn-amp -fno-warn-amp -fwarn-typed-holes
-fno-warn-typed-holes -fwarn-partial-type-signatures -fno-warn-partial-type-signatures
-fwarn-похідний-типовий -fno-попередження-виведення-типу
оптимізація рівні
-O0 -O -O або -O1 -O0 -O2 -O0 -Odph
Людина оптимізації
-fcall-arity -fno-call-arity -fcase-merge -fno-case-merge -fcmm-elim-common-blocks
-fno-cmm-elim-common-blocks -fcmm-sink -fno-cmm-sink -fcpr-off -fcse -fno-cse
-fdicts-cheap -fno-dicts-cheap -fdicts-strict -fno-dicts-strict -fdmd-tx-dict-sel
-fno-dmd-tx-dict-sel -fdo-eta-reduction -fno-do-eta-reduction
-fdo-lambda-eta-expansion -fno-do-lambda-eta-expansion -feager-blackholing
-fenable-rewrite-rules -fno-enable-rewrite-rules -fexcess-precision -fno-excess-precision
-fexpose-all-unfoldings -fno-expose-all-unfoldings -ffloat-in -fno-float-in
-повна-лінь -fno-повна-лінь -ffun-to-thunk -fno-full-to-thunk
-fno-ignore-asserts -fignore-interface-pragmas -fno-ignore-interface-pragmas
-flate-dmd-anal -fno-late-dmd-anal -fliberate-case -fliberate-case-threshold=n
-fno-liberate-case-threshold -floopification -fno-loopification
-fmax-inline-alloc-size=n
-fmax-inline-memcpy-insns=n
-fmax-inline-memset-insns=n
-fmax-relevant-binds=n -fno-max-relevant-binds
-fmax-simplifier-iterations=n -fmax-worker-args=n -fno-opt-coercion -fno-pre-inlining
-fno-state-hack -fomit-interface-pragmas -fno-omit-interface-pragmas -fomit-yields
-fno-omit-yields -fpedantic-bottoms -fno-pedantic-bottoms -fregs-graph -fno-regs-graph
-fregs-iterative -fno-regs-iterative -fsimplifier-phases=n -fsimpl-tick-factor=n
-fspec-constr -fno-spec-constr -fspec-constr-count=n -fno-spec-constr-count
-fspec-constr-threshold=n -Fno-spec-cons-threehold -fscialise -fno-спеціалізуються
-fstatic-argument-transformation -fno-static-argument-transformation -fstrictness
-fno-суворість -fstrictness-before=n -funbox-small-strict-fields
-fno-unbox-small-strict-fields -funbox-strict-fields -fno-unbox-strict-fields
-funfolding-creation-threshold=n -funfolding-dict-discount=n -funfolding-fun-discount=n
-Funfolding-keeness-factor=n -funfolding-use-threshold=n -fvectorization-uoidance
-fno-векторизація-уникнення -fvectorise -fno-vectorise
Профілювання опції
-prof -fprof-auto -fno-prof-auto -fprof-auto-top -fno-prof-auto -fprof-auto-exported
-fno-prof-auto -fprof-cafs -fno-prof-cafs -fno-prof-count-entries -fprof-count-entries
- клейкі
програма охоплення опції
-fhpc -hpcdir реж
Haskell попередній процесор опції
-F
C попередній процесор опції
-cpp -Dсимвол=значення -У -Усимвол -Iреж
код покоління опції
-fasm -fllvm -fno-код -fwrite-інтерфейс -fbyte-код -fobject-код
Зв'язуючий опції
-shared -staticlib -fPIC -dynamic -dynamic-too -dyno -dynosuf -dynload -framework
ім'я -фреймворк-шлях ім'я -lлиб -Lреж -main-is --mk-dll -no-hs-main -rtsopts,
-rtsopts={жоден,деякі,всі} -with-rtsopts=opts -no-link -split-objs -static -threaded
-debug -ticky -eventlog -fno-gen-manifest -fno-embed-manifest -fno-shared-implib
-dylib-ім'я встановлення шлях -rдинамічний
Підключати опції
-fplugin=Модулі -fplugin-opt=модуль: args
заміна фаз
-pgmL CMD -pgmP CMD -pgmc CMD -pgmlo CMD -pgmlc CMD -pgms CMD -pgma CMD -pgml CMD
-pgmdll CMD -pgmF CMD -pgmwindres CMD -pgmlibtool CMD -pgmreadelf CMD
Примус опції до приватність фаз
-optL варіант -optP варіант -optF варіант -опц варіант -оптло варіант -optlc варіант
-опта варіант -оптл варіант -optdll варіант -optwindres варіант
Специфічна для платформи опції
-msse2
компілятор налагодження опції
-dcore-lint -ddump-to-file -ddump-asm -ddump-bcos -ddump-cmm -ddump-core-stats
-ddump-cse -ddump-deriv -ddump-ds -ddump-foreign -ddump-hpc -ddump-inlinings
-ddump-llvm -ddump-occur-anal -ddump-opt-cmm -ddump-parsed -ddump-prep -ddump-rn
-ddump-rule-firings -ddump-rule-rewrites -ddump-rules -ddump-vect -ddump-simpl
-ddump-simpl-iterations -ddump-spec -ddump-splices -ddump-stg -ddump-stranal
-ddump-strsigs -ddump-tc -dth-dec-file -ddump-types -ddump-worker-wrapper
-ddump-if-trace -ddump-tc-trace -ddump-vt-trace -ddump-rn-trace -ddump-rn-stats
-ddump-simpl-stats -dno-debug-output -dppr-debug -dppr-user-length -dppr-colsNNN
-dppr-case-as-let -dsuppress-all -dsuppress-uniques -dsuppress-idinfo
-dsuppress-module-prefixes -dsuppress-type-signatures -dsuppress-type-applications
-dsuppress-coercions -dsource-stats -dcmm-lint -dstg-lint -dstg-stats
-dverbose-core2core -dverbose-stg2stg -dshow-passes -dfaststring-stats -frule-check
Різне компілятор опції
-jN -fno-hi-version-check -fhistory-size -fno-ghci-history -fno-ghci-sandbox
ДОСЛІДНІСТЬ ВАРІАНТИ
-v багатослівний режим (еквівалентно -v3)
[динамічний]
-vn встановити рівень детальності
[динамічний]
-fprint-explicit-foralls
надрукувати явну для всіх кількісних характеристик у типах
[динамічний]
-fprint-explicit-kinds
друкувати явні foralls виду та аргументи виду у типах
[динамічний]
-ферор-прольоти
вивести повний діапазон у повідомленнях про помилки
[динамічний]
-Hрозмір Встановіть мінімальний розмір купи розмір
[динамічний]
-Rghc-таймінг
Підсумуйте статистику часу для GHC (так само, як +RTS -tstderr)
[динамічний]
АЛЬТЕРНАТИВА РЕЖИМИ OF РОБОТА
--допомога,-?
Показати допомогу
[режим]
--інтерактивні
Інтерактивний режим - зазвичай використовується лише запущеним ghci; див. для деталей.
[режим]
--зробити Створіть багатомодульну програму Haskell, яка автоматично визначає залежності.
Ймовірно, це набагато простіше і швидше, ніж використання make; дивіться подробиці..
[режим]
-e експр
Оцінювати експр; див. для деталей.
[режим]
--show-iface
Відобразити вміст файлу інтерфейсу.
[режим]
-M Згенерувати інформацію про залежності, придатну для використання в Makefile; див. для деталей.
[режим]
--supported-extensions, --підтримувані мови
відобразити підтримувані мовні розширення
[режим]
--параметри шоу
відобразити підтримувані параметри командного рядка
[режим]
--інформація відобразити інформацію про компілятор
[режим]
--версія, -V
відобразити версію GHC
[режим]
--числова версія
відобразити версію GHC (лише числові)
[режим]
--print-libdir
відобразити каталог бібліотеки GHC
[режим]
КОТРИЙ ФАЗИ TO RUN
-E Зупинити після попередньої обробки (файл .hspp)
[режим]
-C Зупинити після створення C (файл .hc)
[режим]
-S Зупинити після створення збірки (файл .s)
[режим]
-c Зупинити після створення файлу об’єкта (.o).
[режим]
-x Суфікс
Замінити поведінку за замовчуванням для вихідних файлів
[динамічний]
ПЕРЕНАСПРАВЛЕННЯ ВИХІД
-hcsuf Суфікс
встановити суфікс для використання проміжних файлів C
[динамічний]
-хідир реж
встановити каталог для файлів інтерфейсу
[динамічний]
-гісуф Суфікс
встановити суфікс для файлів інтерфейсу
[динамічний]
-o ім'я файлу
встановити назву вихідного файлу
[динамічний]
-одір реж
встановити каталог для об’єктних файлів
[динамічний]
-Ой ім'я файлу
встановіть ім'я файлу, в який розмістити інтерфейс
[динамічний]
-осуф Суфікс
встановити суфікс вихідного файлу
[динамічний]
-stubdir реж
перенаправити заглушки файли FFI
[динамічний]
-dumpdir реж
перенаправити файли дампа
[динамічний]
- вихідний каталог реж
встановити вихідний каталог
[динамічний]
ЗБЕРІГАННЯ ПОСЕРЕДНІЙ ФАЙЛИ
-keep-hc-файл or
-keep-hc-файли зберігати проміжні файли .hc
[динамічний]
-keep-llvm-файл or
-keep-llvm-файли зберігати проміжні файли LLVM .ll
[динамічний]
-зберігати файл or
-keep-s-файли зберігати проміжні файли .s
[динамічний]
-keep-tmp-файли
зберегти всі проміжні тимчасові файли
[динамічний]
ЧАСНИЙ ФАЙЛИ
-tmpdir
встановити каталог для тимчасових файлів
[динамічний]
ВИЗНАЧЕННЯ ІМПОРТ
-idir1:dir2: ...
додавати реж, dir2, тощо, щоб імпортувати шлях
[динамічний/:набір]
-i Очистіть список каталогів імпорту
[динамічний/:набір]
ІНТЕРФЕЙС Фото ВАРІАНТИ
-ddump-привіт
Дампуйте новий інтерфейс у стандартний вивід
[динамічний]
-ddump-hi-diffs
Покажіть відмінності від старого інтерфейсу
[динамічний]
-ddump-minimal-imports
Дамп мінімального набору імпорту
[динамічний]
--show-iface файл
Побачити .
[]
ПЕРЕКОМПІЛЯЦІЯ ПЕРЕВІРКА
-force-recomp
Вимкніть перевірку перекомпіляції. Це мається на увазі будь-яким -ddump-X варіант коли
компіляція одного файлу (тобто при використанні -c).
[динамічний]
ІНТЕРАКТИВНИЙ-РЕЖИМ ВАРІАНТИ
-ігнорувати-точка-ghci
Вимкніть читання файлів .ghci
[динамічний]
-ghci-скрипт
Прочитайте додаткові файли .ghci
[динамічний]
-fbreak-on-error
Перерва на неперехоплені винятки та помилки
[динамічний]
-fbreak-on-exception
Перерва на будь-який виключений виняток
[динамічний]
-fghci-hist-size=n
Встановіть кількість записів, які GHCi зберігає для :history
[динамічний]
-fprint-evld-with-show
Увімкнути використання Показати екземпляри в :print
[динамічний]
-fprint-bind-result
Увімкніть друк результатів зв’язування в GHCi
[динамічний]
-fno-print-bind-contents
Вимкніть друк вмісту для палітурки в GHCi
[динамічний]
-fno-implicit-import-qualified
Вимкніть неявний кваліфікований імпорт всього в GHCi
[динамічний]
-інтерактив-друк
Виберіть функцію для друку оцінених виразів у GHCi
[динамічний]
ПАКЕТИ
- цей ключ-пакет P
Компілюйте, щоб бути частиною пакета P
[динамічний]
- пакет P
Виставити пакет P
[динамічний/:набір]
-приховати всі пакети
Приховати всі пакунки за замовчуванням
[динамічний]
-приховати-пакет ім'я
Сховати пакет P
[динамічний/:набір]
-ignore-package ім'я
Ігнорувати пакет P
[динамічний/:набір]
-package-db файл
додавати файл до пакету db stack.
[динамічний]
-clear-package-db
Очистіть пакунок стек баз даних.
[динамічний]
-no-global-package-db
Видаліть глобальний пакет db зі стеку.
[динамічний]
-global-package-db
Додайте глобальний пакет db до стека.
[динамічний]
-no-user-package-db
Видаліть пакунок db користувача зі стеку.
[динамічний]
-пакет користувача-база даних
Додайте пакунок db користувача до стека.
[динамічний]
-пакети без автоматичного посилання
Не підключайте автоматично пакети base та rts.
[динамічний]
-довіра P
Виставити пакет P і налаштувати його на довіру
[динамічний/:набір]
-недовіра P
Виставити пакет P і поставити його як недовіру
[динамічний/:набір]
-недовіра-всі
Не довіряйте всім пакетам за замовчуванням
[динамічний/:набір]
МОВА ВАРІАНТИ
-fcontext-stack=n
встановити обмеження для скорочення контексту класу типу. За замовчуванням 100.
[динамічний]
-fglasgow-exts
Не підтримується. Увімкнути більшість мовних розширень; подивіться, які саме.
[динамічний]
-firrefetable-tuples
Зробіть відповідність шаблону кортежу незаперечним
[динамічний]
-fpackage-trust
Увімкніть вимогу довіреного пакета Safe Haskell для надійних модулів.
[динамічний]
-ftype-function-depth=n
встановити обмеження для скорочень функцій типу. За замовчуванням 200.
[динамічний]
-XAllowAmbiguousTypes
Дозволити користувачеві писати неоднозначні типи, а механізм виведення типу робити висновок
Ними.
[динамічний]
-Xстрілки
Увімкнути розширення позначення стрілки
[динамічний]
-XAutoDeriveTypeable
Починаючи з GHC 7.10, ця опція не потрібна і не повинна використовуватися. Автоматично
вивести екземпляри Typeable для кожного оголошення типу даних і класу типу. Має на увазі
-XDeriveDataTypeable.
[динамічний]
-XBangPatterns
Увімкнути візерунки чубчика.
[динамічний]
-XBinaryLiterals
Увімкнути підтримку бінарних літералів.
[динамічний]
-XCApiFFI
Увімкнути конвенцію про виклики CAPI.
[динамічний]
-XConstrainedClassMethods
Увімкнути методи обмеженого класу.
[динамічний]
-XConstraintKinds
Увімкнути певні обмеження.
[динамічний]
-XCPP Увімкніть препроцесор C.
[динамічний]
-XDataKinds
Увімкнути просування типу даних.
[динамічний]
-XDefaultSsignatures
Увімкнути підписи за замовчуванням.
[динамічний]
-XDeriveAnyClass
Увімкнути отримання для будь-якого класу.
[динамічний]
-XDeriveDataTypeable
Увімкнути отримання для класу Data. Мається на увазі -XAutoDeriveTypeable.
[динамічний]
-XDeriveFunctor
Увімкнути виведення для класу Functor. Мається на увазі -XDeriveTraversable.
[динамічний]
-XDeriveFoldable
Увімкнути отримання для класу Foldable. Мається на увазі -XDeriveTraversable.
[динамічний]
-XDeriveGeneric
Увімкнути отримання для класу Generic.
[динамічний]
-XDeriveTraversable
Увімкнути отримання для класу Traversable. Має на увазі -XDeriveFunctor та
-XDeriveFoldable.
[динамічний]
-XDisambiguateRecordFields
Увімкнути розшифровку поля запису. Мається на увазі -XRecordWildCards.
[динамічний]
-XEmptyCase
Дозволити порожній регістр.
[динамічний]
-XEmptyDataDecls
Увімкнути оголошення пустих даних.
[динамічний]
-XЕкзистенційна квантифікація
Увімкнути екзистенційну кількісну оцінку.
[динамічний]
-XExplicitForAll
Увімкнути явне універсальне кількісне визначення. Мається на увазі -XScopedTypeVariables,
-XLiberalTypeСиноніми, -XRankNTypes та -XЕкзистенційна квантифікація.
[динамічний]
-XExplicitNamespaces
Увімкніть використання типу ключового слова, щоб указати простір імен записів у імпорті та
експорт (). Мається на увазі -Оператори XType та -XTypeFamilies.
[динамічний]
-XExtendedDefaultRules
Використовуйте розширені правила за замовчуванням GHCi у звичайному модулі.
[динамічний]
-XFlexibleContexts
Увімкнути гнучкі контексти. Мається на увазі -XImplicitParams.
[динамічний]
-XFlexibleInstances
Увімкнути гнучкі екземпляри. Має на увазі -Екземпляри синонімів XType. Мається на увазі
-XImplicitParams.
[динамічний]
-XForeignFunctionInterface
Увімкнути інтерфейс зовнішніх функцій.
[динамічний]
-XFunctionalDependencies
Увімкнути функціональні залежності. Має на увазі -XMultiParamTypeClasses.
[динамічний]
-XGADTs
Увімкнути узагальнені алгебраїчні типи даних. Має на увазі -Синтаксис XGADTS та -XMonoLocalBinds.
[динамічний]
-Синтаксис XGADTS
Увімкнути синтаксис узагальненого алгебраїчного типу даних.
[динамічний]
-XGeneralizedNewtypeDeriving
Увімкнути отримання нового типу.
[динамічний]
-XGenerics
Не підтримується, нічого не робить. Більше не вмикає загальні класи. Дивіться також підтримку GHC
для загального програмування.
[динамічний]
-XImplicitParams
Увімкнути неявні параметри. Має на увазі -XFlexibleContexts та -XFlexibleInstances.
[динамічний]
-XNoImplicitPrelude
Не неявно імпортуйте Prelude. Мається на увазі -XRebindableSyntax.
[динамічний]
-XImpredicativeTypes
Увімкнути непредикативні типи. Має на увазі -XRankNTypes.
[динамічний]
-XIncoherentInstances
Увімкнути некомгерентні екземпляри. Має на увазі -XOverlappingInstances.
[динамічний]
-XInstanceSigs
Увімкнути підписи екземплярів.
[динамічний]
-XInterruptibleFFI
Увімкнути переривання FFI.
[динамічний]
-XКінзиндатури
Увімкнути добрі підписи. Мається на увазі -XTypeFamilies та -XPolyKinds.
[динамічний]
-XLambdaCase
Увімкнути лямбда-регістр.
[динамічний]
-XLiberalTypeСиноніми
Увімкнути лібералізовані синоніми типу.
[динамічний]
-XMagicHash
Дозволити "#" як постфіксний модифікатор для ідентифікаторів.
[динамічний]
-XMonadComprehensions
Увімкнути розуміння монад.
[динамічний]
-XMonoLocalBinds
Увімкнути не узагальнювати локальні прив’язки. Мається на увазі -XTypeFamilies та -XGADTs.
[динамічний]
-XNoMonomorphismRestriction
Вимкнути обмеження мономорфізму.
[динамічний]
-XMultiParamTypeClasses
Увімкнути класи типів кількох параметрів. Мається на увазі -XFunctionalDependencies.
[динамічний]
-XMultiWayIf
Увімкнути багатосторонні вирази if.
[динамічний]
-XNamedFieldPuns
Увімкнути запис каламбурів.
[динамічний]
-XNamedWildCards
Увімкнути іменовані підстановки.
[динамічний]
-XNegativeLiterals
Увімкнути підтримку негативних літералів.
[динамічний]
-XNoNPlusKPPatterns
Вимкнути підтримку n+k шаблонів.
[динамічний]
-XNullaryTypeClasses
Не підтримується, нічого не робить. nullary (без параметрів) класи типів тепер увімкнено за допомогою
-XMultiParamTypeClasses.
[динамічний]
-XNumDecimals
Увімкнути підтримку «дробових» цілих літералів.
[динамічний]
-XOverlappingInstances
Увімкнути перекриваються екземпляри.
[динамічний]
-XПеревантажені списки
Увімкнути перевантажені списки.
[динамічний]
-XOverloadedStrings
Увімкнути перевантажені рядкові літерали.
[динамічний]
-XPackageImports
Увімкнути імпорт для пакетів.
[динамічний]
-XParallelArrays
Увімкнути паралельні масиви. Має на увазі -XParallelListComp.
[динамічний]
-XParallelListComp
Увімкнути паралельне розуміння списків. Мається на увазі -XParallelArrays.
[динамічний]
-XPartialTypeSignatures
Увімкнути підписи часткового типу.
[динамічний]
-XPatternGuards
Увімкнути захист від шаблонів.
[динамічний]
-XPatternСиноніми
Увімкнути синоніми шаблону.
[динамічний]
-XPolyKinds
Увімкнути поліморфізм роду. Має на увазі -XКінзиндатури.
[динамічний]
-XPolymorphicComponents
Увімкнути поліморфні компоненти для конструкторів даних.
[динамічний, синонім до -XRankNTypes]
-XPostfixOperators
Увімкнути постфіксні оператори.
[динамічний]
-XQuasiQuotes
Увімкнути квазіцитування.
[динамічний]
-XRank2Types
Увімкнути типи рангу 2.
[динамічний, синонім до -XRankNTypes]
-XRankNTypes
Увімкнути типи рангу N. Мається на увазі -XImpredicativeTypes.
[динамічний]
-XRebindableSyntax
Використовуйте синтаксис з можливістю повторного зв’язування. Має на увазі -XNoImplicitPrelude.
[динамічний]
-XRecordWildCards
Увімкнути підстановкові знаки запису. Має на увазі -XDisambiguateRecordFields.
[динамічний]
-XRecursiveDo
Увімкнути рекурсивну нотацію do (mdo).
[динамічний]
-XRelaxedPolyRec
(не підтримується) Розслаблена перевірка взаємно-рекурсивних поліморфних функцій.
[динамічний]
-Анотації XRole
Увімкнути анотації ролей.
[динамічний]
-XSafe Увімкніть безпечний безпечний режим Haskell.
[динамічний]
-XScopedTypeVariables
Увімкнути змінні типу з лексичною областю.
[динамічний]
-XSandaloneDeriving
Увімкнути автономне отримання.
[динамічний]
-XTemplateHaskell
Увімкнути шаблон Haskell.
[динамічний]
-XNoTraditionalRecordSyntax
Вимкнути підтримку традиційного синтаксису записів (як підтримується Haskell 98) C {f =
x}
[динамічний]
-Xtransformlistcomp
Увімкнути розуміння узагальнених списків.
[динамічний]
-XНадійний
Увімкніть режим Safe Haskell Trustworthy.
[динамічний]
-XTupleSections
Увімкнути розділи кортежів.
[динамічний]
-XTypeFamilies
Увімкнути сімейства типів. Має на увазі -XExplicitNamespaces, -XКінзиндатури та
-XMonoLocalBinds.
[динамічний]
-Оператори XType
Увімкнути оператори типу. Має на увазі -XExplicitNamespaces.
[динамічний]
-Екземпляри синонімів XType
Увімкнути синоніми типів у заголовках екземплярів. Мається на увазі -XFlexibleInstances.
[динамічний]
-XUnboxedTuples
Увімкнути розпаковані кортежи.
[динамічний]
-XНерозбірливі екземпляри
Увімкнути невизначені екземпляри.
[динамічний]
-Синтаксис XUnicode
Увімкнути синтаксис Unicode.
[динамічний]
-XUnliftedFFITypes
Увімкнути непідняті типи FFI.
[динамічний]
-XНебезпечно
Увімкнути Safe Haskell Unsafe mode.
[динамічний]
-XViewPatterns
Увімкнути шаблони перегляду.
[динамічний]
ПОПЕРЕДЖЕННЯ
-W увімкнути звичайні попередження
[динамічний]
-w вимкнути всі попередження
[динамічний]
-Стінка увімкнути майже всі попередження (деталі в )
[динамічний]
- Помилка
зробити попередження фатальними
[динамічний]
-Уперед робити попередження не смертельними
[динамічний]
-fdefer-type-errors
Перетворіть помилки типу на попередження, відкладаючи помилку до часу виконання. Має на увазі
-fdefer-typed-holes.
[динамічний]
-fdefer-typed-holes
Перетворіть введені помилки отвору в попередження, відкладаючи помилку до часу виконання. Мається на увазі
by -fdefer-type-errors, Див. Також -fwarn-typed-holes.
[динамічний]
-корисні помилки
Внесіть пропозиції щодо неправильно написаних імен.
[динамічний]
-fwarn-deprecated-flags
попереджати про використання застарілих прапорів командного рядка
[динамічний]
-fwarn-duplicate-constraints
попереджати, коли обмеження дублюється в сигнатурі типу
[динамічний]
-fwarn-duplicate-exports
попереджати, коли об’єкт експортується кілька разів
[динамічний]
-fwarn-hi-shadowing
попереджати, коли файл .hi у поточному каталозі перекриває бібліотеку
[динамічний]
-fwarn-identity
попереджати про використання числових перетворень Prelude, які, ймовірно, є ідентифікатором (і
тому можна пропустити)
[динамічний]
-fwarn-імпліцитна-прелюдія
попереджати, коли Prelude неявно імпортовано
[динамічний]
-fwarn-неповні-шаблони
попереджати про помилку збігу шаблону
[динамічний]
-fwarn-incomplete-uni-шаблони
попереджати, коли збіг з шаблоном у лямбда-виразі або прив’язці шаблону може бути невдалим
[динамічний]
-fwarn-incomplete-record-updates
попереджати про помилку оновлення запису
[динамічний]
-fwarn-lazy-unlifted-bindings
(застаріло) попереджає, коли прив’язка шаблону виглядає лінивою, але має бути суворою
[динамічний]
-fwarn-відсутні-поля
попереджати, коли поля запису не ініціалізовані
[динамічний]
-fwarn-missing-import-lists
попереджати, коли в декларації імпорту явно не вказано всі внесені імена
сфера
[динамічний]
-fwarn-missing-methods
попереджати, коли методи класу не визначені
[динамічний]
-fwarn-відсутні-підписи
попереджати про функції верхнього рівня без підписів
[динамічний]
-fwarn-missing-exported-sigs
попереджати про функції верхнього рівня без підписів, тільки якщо вони експортовані. бере
пріоритет над -fwarn-missing-signatures
[динамічний]
-fwarn-missing-local-sigs
попереджати про поліморфні локальні прив'язки без підписів
[динамічний]
-fwarn-мономорфізм-обмеження
попереджати, коли застосовується обмеження мономорфізму
[динамічний]
-fwarn-name-shadowing
попереджати, коли імена затінені
[динамічний]
-фварн-сироти, -fwarn-автосироти
попереджати, коли модуль містить оголошення екземплярів-сирот або правила перезапису
[динамічний]
-fwarn-перекривання-шаблони
попереджати про перекриття візерунків
[динамічний]
-fwarn-tabs
попереджати про наявність вкладок у вихідному файлі
[динамічний]
-fwarn-type-defaults
попереджати, коли відбувається дефолт
[динамічний]
-fwarn-нерозпізнані-прагми
попереджати про використання прагм, які GHC не визнає
[динамічний]
-fwarn-unticked-promoted-constructors
попереджати, якщо просувані конструктори не позначені
[динамічний]
-fwarn-unused-bids
попереджати про прив’язки, які не використовуються
[динамічний]
-fwarn-unused-imports
попереджають про непотрібний імпорт
[динамічний]
-fwarn-unused- matches
попереджати про змінні у шаблонах, які не використовуються
[динамічний]
-fwarn-unused-do-bind
попереджати про прив’язки, які, здається, відкидають значення типів, відмінних від ()
[динамічний]
-fwarn-wrong-do-bind
попереджайте про прив’язки do, які, здається, відкидають монадичні значення, які ви повинні
натомість зв’язали
[динамічний]
-fwarn-небезпечно
попереджати, якщо модуль, який компілюється, вважається небезпечним. Слід використовувати для перевірки
стан безпеки модулів при використанні безпечного висновку. Працює з усіма типами модулів,
навіть ті, що використовують явні режими Safe Haskell (наприклад -XНадійний) і так може бути
використовувався для того, щоб компілятор перевіряв будь-які зроблені припущення.
[динамічний]
-fwarn-safe
попередити, якщо модуль, який компілюється, вважається безпечним. Слід використовувати для перевірки
стан безпеки модулів при використанні безпечного висновку. Працює з усіма типами модулів,
навіть ті, що використовують явні режими Safe Haskell (наприклад -XНадійний) і так може бути
використовувався для того, щоб компілятор перевіряв будь-які зроблені припущення.
[динамічний]
-fwarn-надійний-безпечний
попереджати, якщо модуль, що компілюється, позначений як -XНадійний але це могло б замість цього
бути позначено як -XSafe, більш інформативна межа. Можна використовувати для виявлення одноразового сейфа
Прив’язку Haskell можна покращити в міру оновлення залежностей.
[динамічний]
-fwarn-warnings-deprecations
попереджати про використання функцій і типів, які мають попередження або застарілі прагми
[динамічний]
-fwarn-amp
(не підтримується) попереджає про визначення, що суперечать аплікативно-монадній пропозиції
(AMP)
[динамічний]
-fwarn-typed-holes
Повідомлення про попередження про помилки введених отворів відкладається до часу виконання. Побачити
-fdefer-typed-holes.
[динамічний]
-fwarn-частковий-тип-підписи
попереджати про діри в підписах часткового типу, коли -XPartialTypesignatures is
увімкнено. Не застосовується, коли -XPartialTypesignatures не ввімкнено, у такому випадку
для таких отворів генеруються помилки. Побачити .
[динамічний]
-fwarn-deriving-typeable
попереджати, коли зустрічає запит на отримання екземпляра класу Typeable. Щодо GHC
7.10, такі оголошення не потрібні і ігноруються компілятором, оскільки GHC
має спеціальний вирішувач для зняття цього типу обмеження.
[динамічний]
ОПТИМІЗАЦІЯ РІВНІ
-О0 Вимкнути оптимізацію (за замовчуванням)
[динамічний]
-O or -О1
Увімкнути оптимізацію рівня 1
[динамічний]
-О2 Увімкнути оптимізацію рівня 2
[динамічний]
-Одф Увімкнути оптимізацію рівня 2, встановити -fmax-simplifier-iterations=20 та
-fsimplifier-phases=3.
[динамічний]
ІНДИВІДУАЛЬНІ ОПТИМІЗАЦІЇ
-fcall-arity
Увімкніть оптимізацію дзвінків. Мається на увазі -O.
[динамічний]
-fcase-злиття
Увімкнути об’єднання регістрів. Мається на увазі -O.
[динамічний]
-fcmm-elim-загальні-блоки
Увімкнути видалення загального блоку Cmm. Мається на увазі -O.
[динамічний]
-fcmm-раковина
Увімкніть поглинання Cmm. Мається на увазі -O.
[динамічний]
-fcpr-вимкнено
Вимкніть аналіз СЛР в аналізаторі попиту.
[статичний]
-fcse Увімкнути видалення загального підвиразу. Мається на увазі -O.
[динамічний]
-fdicts-дешево
Зробіть вирази зі словниковими значеннями дешевими для оптимізатора.
[динамічний]
-fdicts-суворий
Зробіть словники суворими
[динамічний]
-fdmd-tx-dict-sel
Використовуйте спеціальний трансформатор попиту для селектора словників. Завжди вмикається за допомогою
за замовчуванням.
[динамічний]
-fdo-eta-зменшення
Увімкнути eta-reduction. Мається на увазі -O.
[динамічний]
-fdo-лямбда-ета-розширення
Увімкнути лямбда-ета-розширення. Завжди ввімкнено за замовчуванням.
[динамічний]
-feager-blackholing
Увімкніть жадібну чорну дірку
[динамічний]
-fenable-rewrite-rules
Увімкніть усі правила перезапису (включаючи правила, створені автоматичною спеціалізацією
перевантажених функцій). Мається на увазі -O.
[динамічний]
-fexcess-точність
Увімкнути надлишкову проміжну точність
[динамічний]
-fexpose-все-розгортання
Відкрити всі розгортання, навіть для дуже великих або рекурсивних функцій.
[динамічний]
-запливає
Увімкніть перетворення з плаваючою вставкою. Мається на увазі -O.
[динамічний]
-повна лінь
Увімкніть повну лінь (плаваючі прив'язки назовні). Мається на увазі -O.
[динамічний]
-забавляти-думати
Дозволити worker-wrapper перетворювати закриття функції в thunk, якщо функція
не використовує жодного зі своїх аргументів. Вимкнено за замовчуванням.
[динамічний]
-фіньор-стверджує
Ігноруйте твердження в джерелі. Мається на увазі -O.
[динамічний]
-fignore-interface-pragmas
Ігноруйте прагми у файлах інтерфейсу. Мається на увазі -О0 тільки.
[динамічний]
-flate-dmd-anal
Знову запустіть аналіз попиту в кінці конвеєру спрощення
[динамічний]
-fliberate-кейс
Увімкніть перетворення звільнення регістру. Мається на увазі -О2.
[динамічний]
-fliberate-case-threshold=n
Встановіть поріг розміру для перетворення вільного регістру n (за замовчуванням: 2000)
[динаміка]
-флопіфікація
Перетворіть насичені саморекурсивні хвостові виклики в локальні стрибки в згенерованому
складання. Мається на увазі -O.
[динамічний]
-fmax-inline-alloc-size=n
Встановіть максимальний розмір розміщення вбудованого масиву n байт (за замовчуванням: 128). GHC
виділить незакріплені масиви статично відомого розміру в поточному розпліднику
блокувати, якщо вони не більші ніж n байт, ігноруючи перевантаження GC. Це значення має бути
трохи менше, ніж розмір блоку (зазвичай: 4096).
[динамічний]
-fmax-inline-memcpy-insns=n
Вбудовані виклики memcpy, якщо вони генерують не більше ніж n псевдо інструкції
(за замовчуванням: 32).
[динамічний]
-fmax-inline-memset-insns=n
Вбудовані виклики memset, якщо вони генерують не більше ніж n псевдо інструкції
(за замовчуванням: 32).
[динамічний]
-fmax-relevant-binds=n
Встановіть максимальну кількість прив’язок для відображення в повідомленнях про помилку типу (за замовчуванням 6).
[динамічний]
-fmax-simplifier-iterations=n
Встановіть максимальну кількість ітерацій для спрощувача (за замовчуванням 4).
[динамічний]
-fmax-worker-args=n
Якщо працівник має стільки аргументів, жоден більше не буде розпакований (за замовчуванням: 10)
[динамічний]
-fno-opt-примус
Вимкніть оптимізатор примусу
[статичний]
-fno-попереднє вставлення
Вимкніть попередню підкладку
[динамічний]
-fno-state-hack
Вимкніть «злом стану», за допомогою якого будь-яка лямбда з реальним маркером стану як
аргумент вважається однозаписним. Тому добре вставляти речі всередині нього.
[статичний]
-fomit-інтерфейс-pragmas
Не генеруйте прагми інтерфейсу. Мається на увазі -О0 тільки.
[динамічний]
-фоміт-урожайність
Пропустіть перевірки купи, якщо розподілення не виконується.
[динамічний]
-fpedantic-низ
Зробіть GHC більш точним щодо обробки дна (але див. також
-fno-state-hack). Зокрема, GHC не буде eta-розширюватися за допомогою виразу case.
[динамічний]
-fregs-граф
Використовуйте розподільник регістрів забарвлення графіка для розподілу регістрів у рідному
генератор коду. Мається на увазі -О2.
[динамічний]
-fregs-ітеративний
Використовуйте ітераційний розподільник регістрів розфарбовування графів об’єднання у рідному коді
генератор
[динамічний]
-fsimplifier-phases=n
Встановіть кількість фаз для спрощувача (за замовчуванням 2). Проігноровано з -О0.
[динамічний]
-fsimpl-tick-factor=n
Встановіть відсотковий коефіцієнт для спрощення (за замовчуванням 100)
[динамічний]
-fspec-constr
Увімкніть перетворення SpecConstr. Мається на увазі -О2.
[динамічний]
-fspec-constr-count=n
Встановити n (за замовчуванням: 3) максимальна кількість створених спеціалізацій
для будь-якої однієї функції за допомогою перетворення SpecConstr
[динамічний]
-fspec-constr-threshold=n
Встановіть поріг розміру для перетворення SpecConstr n (за замовчуванням: 2000)
[динамічний]
-спеціалізація
Увімкніть спеціалізацію перевантажених функцій. Мається на увазі -O.
[динамічний]
-Fstatic-Argument-трансформація
Увімкніть перетворення статичного аргументу.
[динамічний]
- строгість
Увімкніть аналіз суворості. Мається на увазі -O.
[динамічний]
-суворість-перед=n
Виконайте додатковий аналіз суворості перед фазою спрощення n
[динамічний]
-funbox-small-strict-fields
Зрівняти строгі поля конструктора за допомогою представлення розміром з покажчик. Мається на увазі
-O.
[динамічний]
-funbox-strict-fields
Зрівняти строгі поля конструктора
[динамічний]
-funfolding-creation-threshold=n
Налаштуйте параметри розгортання. За замовчуванням: 750
[динамічний]
-funfolding-dict-discount=n
Налаштуйте параметри розгортання. За замовчуванням: 30
[динамічний]
-funfolding-fun-discount=n
Налаштуйте параметри розгортання. За замовчуванням: 60
[динамічний]
-factoring-keeness-factor=n
Налаштуйте параметри розгортання. За замовчуванням: 1.5
[динамічний]
-funfolding-use-threshold=n
Налаштуйте параметри розгортання. За замовчуванням: 60
[динамічний]
-векторизація-уникнення
Увімкнути уникнення векторізації. Завжди ввімкнено за замовчуванням.
[динамічний]
-векторизація
Увімкнути векторізацію паралельності вкладених даних
[динамічний]
ПРОФІЛЮВАННЯ ВАРІАНТИ
-проф Увімкніть профілювання
[динамічний]
-fprof-авто
Автоматично додавати SCC до всіх прив’язок, не позначених INLINE
[динамічний]
-fprof-auto-top
Автоматично додавати SCC до всіх прив’язок верхнього рівня, не позначених як INLINE
[динамічний]
-fprof-автоматично експортовано
Автоматично додавати SCC до всіх експортованих прив’язок, не позначених INLINE
[динамічний]
-fprof-cafs
Автоматично додавати SCC до всіх CAF
[динамічний]
-fno-prof-count-entries
Не збирайте кількість в’їздів
[динамічний]
- клейкі Увімкніть профіль «тиккі-тиккі».
[динамічний]
ПРОГРАМА ПОКРИТТЯ ВАРІАНТИ
-fhpc Увімкніть інструменти покриття програми Haskell
[динамічний]
-hpcdir реж
Каталог для зберігання файлів .mix під час компіляції (за замовчуванням – .hpc)
[динамічний]
HASKELL ПЕРЕПРОЦЕСОР ВАРІАНТИ
-F Увімкнути використання попереднього процесора (встановити за допомогою -pgmF)
[динамічний]
C ПЕРЕПРОЦЕСОР ВАРІАНТИ
-cpp Запустіть попередній процесор C на вихідних файлах Haskell
[динамічний]
-Dсимвол=значення
Визначте символ у препроцесорі C
[динамічний]
-Uсимвол
Скасувати визначення символу в препроцесорі C
[динамічний]
-Iреж додавати реж до списку пошуку в каталозі файлів #include
[динамічний]
КОД ПОКОЛІННЯ ВАРІАНТИ
-фам Використовуйте власний генератор коду
[динамічний]
-fllvm Компіляція за допомогою генератора коду LLVM
[динамічний]
-fno-код
Пропустіть генерацію коду
[динамічний]
-fwrite-інтерфейс
Завжди записуйте файли інтерфейсу
[динамічний]
-fbyte-код
Згенерувати байт-код
[динамічний]
-об'єкт-код
Згенерувати об'єктний код
[динамічний]
ПОСИЛАННЯ ВАРІАНТИ
- поділилися
Створення спільної бібліотеки (на відміну від виконуваного файлу)
[динамічний]
-staticlib
Тільки в Darwin/OS X/iOS створіть окрему статичну бібліотеку (на відміну від файлу
виконуваний). Це звичайний спосіб компіляції для iOS.
[динамічний]
-fPIC Згенерувати незалежний від позиції код (якщо доступний)
[динамічний]
-динамічний
Використовуйте динамічні бібліотеки Haskell (якщо доступні)
[динамічний]
- також динамічний
Створюйте динамічні об’єктні файли, а також статичні об’єктні файли під час компіляції
[динамічний]
-дино Встановіть вихідний шлях для динамічно пов’язаних об’єктів
[динамічний]
-динозуф
Встановіть вихідний суфікс для динамічних об’єктних файлів
[динамічний]
-розвантаження
Вибирає один із кількох режимів пошуку спільних бібліотек під час виконання.
[динамічний]
- каркас ім'я
Лише на Darwin/OS X/iOS посилання у фреймворку ім'я. Цей параметр відповідає
- каркас варіант для компоновщика Apple.
[динамічний]
-фреймворк-шлях ім'я
Лише для Darwin/OS X/iOS додайте реж до списку шуканих каталогів
рамки. Цей параметр відповідає -F варіант для компоновщика Apple.
[динамічний]
-lлиб Посилання в бібліотеці либ
[динамічний]
-Lреж додавати реж до списку каталогів для пошуку бібліотек
[динамічний]
-основне-є
Встановити основний модуль і функцію
[динамічний]
--mk-dll
Режим створення DLL (тільки для Windows)
[динамічний]
-no-hs-main
Не думайте, що ця програма містить main
[динамічний]
-рцопц, -rtsopts={жоден, деякі, всі}
Контролюйте, чи можна налаштувати поведінку RTS за допомогою прапорців командного рядка та
Змінна середовища GHCRTS. Використання none означає, що прапори RTS не можуть бути надані; деякі засоби
можна задати лише мінімум безпечних параметрів (за замовчуванням) і всі (або без аргументу
взагалі) означає, що всі прапори RTS дозволені.
[динамічний]
-with-rtsopts=опц
Установіть параметри RTS за замовчуванням на вибирає.
[динамічний]
-без посилання
Пропустіть посилання
[динамічний]
-split-objs
Розділені об'єкти (для бібліотек)
[динамічний]
-статичний
Використовуйте статичні бібліотеки Haskell
[динамічний]
-різьбовий
Використовуйте потокове середовище виконання
[динамічний]
-відлагоджувати Використовуйте середовище виконання налагодження
[динамічний]
- клейкі Для посилань це просто означає -відлагоджувати; побачити .
[динамічний]
-журнал подій
Увімкнути відстеження подій під час виконання
[динамічний]
-fno-gen-маніфест
Не створювати файл маніфесту (тільки для Windows)
[динамічний]
-fno-embed-маніфест
Не вставляйте маніфест у виконуваний файл (тільки для Windows)
[динамічний]
-fno-shared-implib
Не створюйте бібліотеку імпорту для DLL (лише для Windows)
[динамічний]
-dylib-ім'я встановлення шлях
Встановіть ім’я встановлення (через -install_name, передане компоновщику Apple), вказавши
повний шлях встановлення до файлу бібліотеки. Будь-які бібліотеки або виконувані файли, які пов’язані з
пізніше він вибере цей шлях як місце для пошуку під час виконання. (Дарвін/ОС
тільки X)
[динамічний]
-rдинамічний
Це вказує компоновщику додати всі символи, а не тільки використані, до динамічного
таблиця символів. Наразі лише Linux та Windows/MinGW32. Це еквівалентно використанню
-optl -rdynamic у Linux і -optl -export-all-symbols у Windows.
[динамічний]
ПІДКЛЮЧАТИ ВАРІАНТИ
-fplugin=Модулі
Завантажте плагін, експортований заданим модулем
[динамічний]
-fplugin-opt=модуль: args
Надайте аргументи модулю плагіна; модуль необхідно вказати з -fplugin
[динамічний]
ЗАМІНА ФАЗИ
-pgmL CMD
Скористайтесь CMD як грамотний препроцесор
[динамічний]
-pgmP CMD
Скористайтесь CMD як препроцесор C (з -cpp тільки)
[динамічний]
-pgmc CMD
Скористайтесь CMD як компілятор C
[динамічний]
-pgmlo CMD
Скористайтесь CMD як оптимізатор LLVM
[динамічний]
-pgmlc CMD
Скористайтесь CMD як компілятор LLVM
[динамічний]
-pgms CMD
Скористайтесь CMD як розгалужувач
[динамічний]
-pgma CMD
Скористайтесь CMD як асемблера
[динамічний]
-pgml CMD
Скористайтесь CMD як лінкер
[динамічний]
-pgmdll CMD
Скористайтесь CMD як генератор DLL
[динамічний]
-pgmF CMD
Скористайтесь CMD як препроцесор (з -F тільки)
[динамічний]
-pgmwindres CMD
Скористайтесь CMD як програма для вбудовування маніфестів у Windows.
[динамічний]
-pgmlibtool CMD
Скористайтесь CMD як команда для libtool (з -staticlib тільки)
[динамічний]
-pgmreadelf CMD
Скористайтесь CMD як команда для readelf (частина Unix binutils)
[динамічний]
ВИМОСУВАННЯ ВАРІАНТИ TO ОСОБЛИВО ФАЗИ
-optL варіант
проходити варіант грамотному препроцесору
[динамічний]
-optP варіант
проходити варіант до cpp (з -cpp тільки)
[динамічний]
-optF варіант
проходити варіант до спеціального препроцесора
[динамічний]
-опц варіант
проходити варіант до компілятора C
[динамічний]
-оптло варіант
проходити варіант до оптимізатора LLVM
[динамічний]
-optlc варіант
проходити варіант до компілятора LLVM
[динамічний]
-опта варіант
проходити варіант до асемблера
[динамічний]
-оптл варіант
проходити варіант до лінкера
[динамічний]
-optdll варіант
проходити варіант до генератора DLL
[динамічний]
-optwindres варіант
проходити варіант до windres.
[динамічний]
СПЕЦИФІЧНІ ПЛАТФОРМИ ВАРІАНТИ
-msse2 (лише x86) Використовуйте SSE2 для плаваючої коми
[динамічний]
КОМПІЛЯТОР ВІДМОВЛЕННЯ ВАРІАНТИ
-dcore-lint
Увімкніть внутрішню перевірку працездатності
[динамічний]
-ddump-у-файл
Дамп у файли замість стандартного виведення
[динамічний]
-ddump-asm
Складання відвалу
[динамічний]
-ddump-bcos
Дамп байт-коду інтерпретатора
[динамічний]
-ddump-cmm
Дамп C-- вихід
[динамічний]
-ddump-core-stats
Надрукуйте однорядковий підсумок розміру основної програми в кінці
конвеєр оптимізації
[динамічний]
-ddump-cse
Дамп виведення CSE
[динамічний]
-ddump-deriv
Дамп отримання виводу
[динамічний]
-ddump-ds
Звільніть вихід цукрозасобу
[динамічний]
-ddump-іноземний
Кидайте заглушки закордонного експорту
[динамічний]
-ddump-hpc
Дамп після інструментів для охоплення програми
[динамічний]
-ddump-inlinings
Скидати вбудовану інформацію
[динамічний]
-ddump-llvm
Дамп проміжного коду LLVM
[динамічний]
-ddump-occur-anal
Вихід аналізу дампів
[динамічний]
-ddump-opt-cmm
Скидайте результати оптимізаційних проходів C-- в C--
[динамічний]
-ddump-розібрано
Дерево розбору дампу
[динамічний]
-ddump-prep
Звалить підготовлену серцевину
[динамічний]
-ddump-rn
Дамп виводу перейменування
[динамічний]
-ddump-rule-firings
Дамп інформації про запуск правила
[динамічний]
-ddump-rule-rewrites
Дайте детальну інформацію про запуск правила
[динамічний]
-ddump-правила
Правила скидання
[динамічний]
-ddump-vect
Дамп векторизатора введення та виведення
[динамічний]
-ddump-простий
Дамп остаточного результату спрощувача
[динамічний]
-ddump-simpl-іterations
Дамп виведення з кожної ітерації спрощувача
[динамічний]
-ddump-spec
Дамп виведення спеціалізатора
[динамічний]
-ddump-з'єднання
Дамп TH зрощених виразів і того, що вони оцінюють
[динамічний]
-ddump-stg
Дамп остаточний STG
[динамічний]
-ddump-stranal
Дамп виходу аналізатора суворості
[динамічний]
-ddump-strsigs
Скидайте підписи суворості
[динамічний]
-ddump-tc
Дамп виведення перевірки типів
[динамічний]
-dth-dec-файл
Показати оцінені оголошення TH у файлі .th.hs
[динамічний]
-ddump-типи
Сигнатури типу дампу
[динамічний]
-ddump-worker-wrapper
Дамп виходу робочого обгортки
[динамічний]
-ddump-if-trace
Відстежуйте файли інтерфейсу
[динамічний]
-ddump-tc-trace
Перевірка типів відстеження
[динамічний]
-ddump-vt-trace
Векторизатор трасування
[динамічний]
-ddump-rn-trace
Перейменування трасування
[динамічний]
-ddump-rn-stats
Статистика перейменування
[динамічний]
-ddump-simpl-stats
Скидати статистику спрощувача
[динамічний]
-dno-debug-вивід
Придушити небажаний вихід налагодження
[статичний]
-dppr-debug
Увімкнути налагоджувальний друк (більш докладний)
[статичний]
-dppr-довжина-користувача
Встановіть глибину для друку виразів у повідомленнях про помилку
[динамічний]
-dppr-colsNNN
Встановіть ширину виводу налагодження. Наприклад -dppr-cols200
[динамічний]
-dppr-case-as-let
Друкувати одиничний альтернативний регістр виразів як строгі дозволи.
[динамічний]
-duppress-все
У дампах ядра придушуйте все (крім унікальних), що можна придушити.
[динамічний]
-dsuppress-uniques
Придушити друк унікальних елементів у налагодженні (простіше використовувати diff)
[динамічний]
-dsuppress-idinfo
Приховати розширену інформацію про ідентифікатори, де вони прив’язані
[динамічний]
-dsuppress-модуль-префікси
Придушити друк префіксів кваліфікації модуля
[динамічний]
-dsuppress-type-signatures
Придушити підписи типу
[динамічний]
-dsuppress-type-applications
Придушити програми типу
[динамічний]
-dsuppress-примуси
Придушіть друк примусів у дампах Core, щоб зробити їх коротшими
[динамічний]
-dsource-статистика
Скидати статистику джерела haskell
[динамічний]
-dcmm-lint
C-- пройти перевірку на осудність
[динамічний]
-dstg-lint
STG проходить перевірку на осудність
[динамічний]
-dstg-статистика
Дайте статистику STG
[динамічний]
-dverbose-core2core
Показати результат кожного проходу від ядра до ядра
[динамічний]
-dverbose-stg2stg
Показувати вихідні дані кожного проходу STG до STG
[динамічний]
-dshow-pass
Роздрукуйте кожне ім’я пропуску в міру його виникнення
[динамічний]
-dfaststring-stats
Показати статистику швидкого використання рядка після завершення
[динамічний]
-фруле-чек
Повідомте про сайти з правилами, які могли спрацювати, але не спрацювали. Бере рядковий аргумент.
[динамічний]
РІЗНЕ КОМПІЛЯТОР ВАРІАНТИ
-jN Під час компіляції з --make, компілюйте N модулі паралельно.
[динамічний]
-fno-hi-version-check
Не скаржтеся на невідповідність файлів .hi
[динамічний]
-fісторія-розмір
Встановити розмір історії спрощення
[динамічний]
-fno-ghci-історія
Не використовуйте завантаження/зберігання історії команд GHCi з/до ghci_history.
[динамічний]
-fno-ghci-пісочниця
Вимкніть пісочницю GHCi. Це означає, що обчислення виконуються в основному потокі
ніж роздвоєна нитка.
[динамічний]
Використовуйте ghci-70.3 онлайн за допомогою сервісів onworks.net