Перейти к основному содержанию

Форматировщик кода Haskell

API reference

Форматирование и аккуратная запись исходного кода Haskell: единообразные пробелы вокруг операторов, отсортированные и без дубликатов pragma LANGUAGE, отсортированные блоки import и сворачивание пустых строк по соглашениям Fourmolu/Ormolu. Есть базовая проверка синтаксиса и отчёт о длинных строках. Работает полностью в браузере.

Ввод

Вывод

Отформатированный Haskell
 
Проверка
Проблема
No data yet
Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/haskell-code-formatter \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "haskellInput": "{-# LANGUAGE ScopedTypeVariables #-}\n{-# LANGUAG…",
    "indentSize": "2",
    "maxLineLength": "100",
    "sortImports": "true",
    "sortPragmas": "true",
    "collapseBlankLines": "true"
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `haskell-code-formatter` tool (Haskell Code Formatter) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/haskell-code-formatter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Форматировщик кода Haskell — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

Вставьте исходный код Haskell с непоследовательными пробелами и получите аккуратно отформатированный модуль: единообразные пробелы вокруг ->, <-, ::, =, операторов сравнения и арифметики; отсортированные и без дубликатов pragma LANGUAGE; блоки import, отсортированные по алфавиту; и сворачивание серий пустых строк. Форматирование ориентировано на соглашения Fourmolu/Ormolu. Быстрая проверка выявляет несбалансированные скобки, незакрытые строки и блочные комментарии. Всё работает локально в вашем браузере.

Как пользоваться

  1. Вставьте свой исходный код Haskell (.hs).
  2. Выберите 2 пробела (по умолчанию в Fourmolu) или 4 пробела (по умолчанию в Ormolu) для отступа.
  3. Задайте максимальную длину строки, по которой в отчёте валидации помечаются слишком длинные строки (100 — значение по умолчанию для Fourmolu/Ormolu).
  4. При необходимости включите или отключите сортировку import, сортировку и удаление дубликатов pragma LANGUAGE и сворачивание пустых строк.
  5. Проверьте панель Проверка на наличие ошибок синтаксиса, затем скопируйте или скачайте отформатированный результат.

Что форматируется

  • Сигнатуры типов, определения функций, сопоставление с образцом и охранные выражения (guards) с несколькими ветками.
  • Блоки where и let, блоки do и списковые включения.
  • Записи (records), клаузы deriving и объявления данных.
  • Несколько pragma LANGUAGE — переносятся наверх, по одной на строку, без дубликатов и в отсортированном порядке.
  • Подряд идущие строки import — сортируются по имени модуля, при этом квалифицированные импорты группируются после неквалифицированных.
  • Строчные (--) и блочные ({- -}, с возможностью вложенности) комментарии, а также pragma-комментарии ({-# ... #-}).

Полностью ли это воспроизводит Fourmolu или Ormolu?

Нет — это лёгкий токенизатор без зависимостей и построчный корректор пробелов, а не полноценный парсер на основе AST GHC. Он исправляет пробелы, порядок pragma и порядок импортов внутри каждой строки, не перестраивая код между строками, поэтому не переносит длинные выражения так, как это сделал бы настоящий pretty-printer. Чтобы получить вывод, полностью совпадающий с Fourmolu/Ormolu побайтно, запускайте настоящий инструмент как часть своей сборки.

Загружается ли мой исходный код куда-либо?

Нет. Токенизация и форматирование выполняются полностью в вашем браузере; ничего не отправляется на сервер.

Нужно отформатировать другой функциональный язык или конфигурацию?

Посмотрите Форматировщик кода Elixir для исходного кода на Elixir или Форматировщик Terraform для конфигураций HCL.

haskellformatterfourmoluormoludeveloper

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.