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. Протокол Jobserver GHC
      • 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. Использование конкурентного 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. Разделяемые библиотеки, экспортирующие API C
    • 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. Представление Core и упрощение
      • 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.14.1/docs/users_guide/usage.html

Spec-Zone.ru

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