Pular para o conteúdo principal

Formatador de Código Haskell

API reference

Formate e deixe bonito código-fonte Haskell — espaçamento consistente de operadores, pragmas LANGUAGE ordenados e sem duplicatas, blocos de import ordenados e recolhimento de linhas em branco, seguindo as convenções do Fourmolu/Ormolu. Inclui validação básica de sintaxe e relatório de linhas longas. Roda inteiramente no seu navegador.

Entrada

Saída

Haskell formatado
 
Validação
Problema
No data yet
Isso foi útil?

Mais formas de usar esta ferramenta

API REST

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"
  }'

Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.

Peça a um agente de IA

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

YOUR_INPUT_HERE

Cole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.

Widget para incorporar

<iframe
  src="https://iotools.cloud/embed/haskell-code-formatter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Formatador de Código 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>

Coloque isso na sua própria página — grátis, sem chave, só um link de volta.

Custo por chamada de API/MCPA partir de 5 créditos
Precisa de mais créditos?Ver preços

Também disponível via

Guias

Cole código Haskell com espaçamento inconsistente e receba um módulo bem formatado — espaçamento consistente de operadores em torno de ->, <-, ::, =, operadores de comparação e aritmética, pragmas LANGUAGE ordenados e sem duplicatas, blocos de import em ordem alfabética e redução de sequências de linhas em branco — aproximando as convenções do Fourmolu/Ormolu. Uma validação rápida sinaliza parênteses desbalanceados e strings ou comentários de bloco não fechados. Tudo roda localmente no seu navegador.

Como usar

  1. Cole o seu código-fonte Haskell (.hs).
  2. Escolha 2 espaços (padrão do Fourmolu) ou 4 espaços (padrão do Ormolu) para a indentação.
  3. Defina o comprimento máximo da linha, usado para marcar linhas longas no relatório de validação (100 é o padrão do Fourmolu/Ormolu).
  4. Ative ou desative ordenar imports, ordenar/remover duplicatas dos pragmas LANGUAGE e reduzir linhas em branco, conforme necessário.
  5. Confira o painel Validação para problemas de sintaxe e, em seguida, copie ou baixe o resultado formatado.

O que é formatado

  • Assinaturas de tipo, definições de função, casamento de padrões e guardas com múltiplos casos.
  • Blocos where e let, blocos do e list comprehensions.
  • Registros, cláusulas deriving e declarações de dados.
  • Vários pragmas LANGUAGE — movidos para o topo, separados um por linha, sem duplicatas e em ordem.
  • Linhas import consecutivas — ordenadas alfabeticamente pelo nome do módulo, com os imports qualificados agrupados após os não qualificados.
  • Comentários de linha (--) e de bloco ({- -}, aninháveis), além de comentários de pragma ({-# ... #-}).

Isso replica totalmente o Fourmolu ou o Ormolu?

Não — trata-se de um tokenizador leve, sem dependências, e de um reformatador de espaçamento baseado em linhas, e não de um parser completo construído sobre a AST do GHC. Ele reformata espaçamento, ordem dos pragmas e ordem dos imports dentro de cada linha, sem reorganizar o código entre linhas, por isso não quebra expressões longas como faria um pretty-printer de verdade. Para obter uma saída idêntica, byte a byte, à do Fourmolu/Ormolu, execute a ferramenta real como parte do seu build.

O meu código-fonte é enviado para algum lugar?

Não. A tokenização e a formatação rodam inteiramente no seu navegador; nada é enviado a um servidor.

Preciso formatar outra linguagem funcional ou de configuração?

Veja o Formatador de Código Elixir para código Elixir ou o Formatador do Terraform para configurações em HCL.

haskellformatterfourmoluormoludeveloper

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.