Spec-Zone.ru › Haskell 9

5. Использование GHC

  • 5.1. Использование GHC
    • 5.1.1. Начало работы: компиляция программ
    • 5.1.2. Обзор опций
      • 5.1.2.1. Аргументы командной строки
      • 5.1.2.2. Опции командной строки в исходных файлах
      • 5.1.2.3. Установка опций в GHCi
    • 5.1.3. Опции динамические и опции режима
    • 5.1.4. Значимые расширения файлов
    • 5.1.5. Режимы работы
      • 5.1.5.1. Использование ghc --make
      • 5.1.5.2. Протокол GHC Jobserver
      • 5.1.5.3. Несколько блоков домашней памяти
        • 5.1.5.3.1. Требование закрытия блока домашней памяти
      • 5.1.5.4. Режим вычисления выражений
      • 5.1.5.5. Режим пакетной компиляции
        • 5.1.5.5.1. Переопределение поведения по умолчанию для файла
    • 5.1.6. Опции подробности
    • 5.1.7. Флаги, специфичные для платформы
    • 5.1.8. Haddock
    • 5.1.9. Разные флаги
      • 5.1.9.1. Другие переменные окружения
  • 5.2. Предупреждения и проверка корректности
    • 5.2.1. Группы предупреждений
    • 5.2.2. Обращение с предупреждениями как с фатальными ошибками
    • 5.2.3. Отдельные опции предупреждений
  • 5.3. Оптимизация (улучшение кода)
    • 5.3.1. -O*: удобные «пакеты» флагов оптимизации.
    • 5.3.2. -f*: платформонезависимые флаги
  • 5.4. Использование Concurrent Haskell
  • 5.5. Использование SMP-параллелизма
    • 5.5.1. Опции времени компиляции для SMP-параллелизма
    • 5.5.2. Опции RTS для SMP-параллелизма
    • 5.5.3. Советы по использованию SMP-параллелизма
  • 5.6. Справочник по флагам
    • 5.6.1. Опции подробности
    • 5.6.2. Альтернативные режимы работы
    • 5.6.3. Какие фазы запускать
    • 5.6.4. Перенаправление вывода
    • 5.6.5. Сохранение промежуточных файлов
    • 5.6.6. Временные файлы
    • 5.6.7. Поиск импортов
    • 5.6.8. Опции файла интерфейса
    • 5.6.9. Расширенные опции файла интерфейса
    • 5.6.10. Проверка повторной компиляции
    • 5.6.11. Опции интерактивного режима
    • 5.6.12. Пакеты
    • 5.6.13. Опции языка
    • 5.6.14. Предупреждения
    • 5.6.15. Уровни оптимизации
    • 5.6.16. Отдельные оптимизации
    • 5.6.17. Опции профилирования
    • 5.6.18. Опции покрытия программы
    • 5.6.19. Опции препроцессора C
    • 5.6.20. Опции генерации кода
    • 5.6.21. Опции компоновки
    • 5.6.22. Опции плагинов
    • 5.6.23. Замена фаз
    • 5.6.24. Принудительное назначение опций конкретным фазам
    • 5.6.25. Платформоспецифические опции
    • 5.6.26. Опции отладки компилятора
    • 5.6.27. Разные опции компилятора
  • 5.7. Опции системного времени выполнения (RTS)
    • 5.7.1. Установка опций RTS
      • 5.7.1.1. Установка опций RTS в командной строке
      • 5.7.1.2. Установка опций RTS во время компиляции
      • 5.7.1.3. Установка опций RTS с помощью переменной окружения GHCRTS
      • 5.7.1.4. «Зацепки» для изменения поведения RTS
        • 5.7.1.4.1. События во время выполнения
        • 5.7.1.4.2. Вывод журнала событий
    • 5.7.2. Разные опции RTS
    • 5.7.3. Опции RTS для управления сборщиком мусора
    • 5.7.4. Опции RTS для получения статистики выполнения
    • 5.7.5. Опции RTS для конкурентности и параллелизма
    • 5.7.6. Опции RTS для профилирования
    • 5.7.7. Трассировка
    • 5.7.8. Опции RTS для покрытия Haskell-программы
    • 5.7.9. Опции RTS для хакеров, отладчиков и любопытных душ
    • 5.7.10. Получение информации о RTS
  • 5.8. Имена файлов и отдельная компиляция
    • 5.8.1. Файлы исходного кода Haskell
    • 5.8.2. Файлы вывода
    • 5.8.3. Путь поиска
    • 5.8.4. Перенаправление вывода компиляции
    • 5.8.5. Сохранение промежуточных файлов
    • 5.8.6. Перенаправление временных файлов
    • 5.8.7. Другие параметры, относящиеся к файлам интерфейса
    • 5.8.8. Параметры, относящиеся к расширенным файлам интерфейса
    • 5.8.9. Проверка повторной компиляции
      • 5.8.9.1. Повторная компиляция для Template Haskell и плагинов
    • 5.8.10. Взаимно рекурсивные модули и файлы hs-boot
    • 5.8.11. Подписи модулей
    • 5.8.12. Использование make
    • 5.8.13. Генерация зависимостей
    • 5.8.14. Модули-сироты и объявления экземпляров
  • 5.9. Пакеты
    • 5.9.1. Использование пакетов
    • 5.9.2. Пакет main
    • 5.9.3. Последствия использования пакетов для языка Haskell
    • 5.9.4. Утончение и переименование модулей
    • 5.9.5. Базы данных пакетов
      • 5.9.5.1. Переменная среды GHC_PACKAGE_PATH
      • 5.9.5.2. Среды пакетов
    • 5.9.6. Установленные идентификаторы пакетов, зависимости и поврежденные пакеты
    • 5.9.7. Управление пакетами (команда ghc-pkg)
    • 5.9.8. Сборка пакета из исходного кода Haskell
    • 5.9.9. InstalledPackageInfo: описание пакета
    • 5.9.10. Связывание с библиотеками C++
  • 5.10. Бэкэнды GHC
    • 5.10.1. Генератор нативного кода (-fasm)
    • 5.10.2. Генератор кода LLVM (-fllvm)
    • 5.10.3. Генератор кода C (-fvia-C)
    • 5.10.4. Генератор JavaScript-кода
    • 5.10.5. Компиляция без регистрации
  • 5.11. Параметры, относящиеся к определённой фазе
    • 5.11.1. Замена программы для одной или нескольких фаз
    • 5.11.2. Принудительное применение параметров к определённой фазе
    • 5.11.3. Параметры, влияющие на препроцессор C
      • 5.11.3.1. Стандартные макросы CPP
      • 5.11.3.2. CPP и пробелы в строках
    • 5.11.4. Параметры, влияющие на препроцессор Haskell
    • 5.11.5. Параметры, влияющие на генерацию кода
    • 5.11.6. Параметры, влияющие на компоновку
  • 5.12. Использование общих библиотек
    • 5.12.1. Создание программ, использующих общие библиотеки
    • 5.12.2. Общие библиотеки для пакетов Haskell
    • 5.12.3. Общие библиотеки, экспортирующие C API
    • 5.12.4. Поиск общих библиотек во время выполнения
      • 5.12.4.1. Unix
      • 5.12.4.2. Mac OS X
  • 5.13. Отладка компилятора
    • 5.13.1. Вывод промежуточных структур компилятора
      • 5.13.1.1. Передняя часть
      • 5.13.1.2. Проверка типов и переименование
      • 5.13.1.3. Представление ядра и упрощение
      • 5.13.1.4. Представление STG
      • 5.13.1.5. Представление C
      • 5.13.1.6. Генератор кода LLVM
      • 5.13.1.7. Генератор кода C
      • 5.13.1.8. Генератор нативного кода
      • 5.13.1.9. Генератор JavaScript-кода
      • 5.13.1.10. Разные выводы бэкенда
    • 5.13.2. Форматирование выводов
    • 5.13.3. Подавление нежелательной информации
    • 5.13.4. Проверка на согласованность
    • 5.13.5. Проверка детерминированности
    • 5.13.6. Другое

© 2002–2007 The University Court of the University of Glasgow. All rights reserved.
Licensed under the Glasgow Haskell Compiler License.
https://downloads.haskell.org/~ghc/9.12.1/docs/users_guide/usage.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API