Lewati ke konten utama

Pemformat Kode Haskell

API reference

Format dan rapikan kode sumber Haskell — spasi operator yang konsisten, pragma LANGUAGE yang diurutkan dan tanpa duplikat, blok import yang terurut, serta penyederhanaan baris kosong, mengikuti konvensi Fourmolu/Ormolu. Dilengkapi validasi sintaks dasar dan laporan baris panjang. Berjalan sepenuhnya di browser Anda.

Input

Output

Haskell yang sudah diformat
 
Validasi
Masalah
No data yet
Apakah ini membantu?

Cara lain menggunakan alat ini

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

Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.

Tanyakan ke agen AI

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

YOUR_INPUT_HERE

Tempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.

Widget sematan

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

Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.

Biaya per panggilan API/MCPMulai dari 5 kredit
Butuh kredit lebih?Lihat harga

Juga tersedia melalui

Panduan

Tempel kode Haskell dengan spasi yang tidak konsisten, lalu dapatkan modul yang sudah diformat rapi — spasi operator yang konsisten di sekitar ->, <-, ::, =, operator perbandingan dan aritmetika, pragma LANGUAGE yang diurutkan dan tanpa duplikat, blok import yang diurutkan secara abjad, serta penciutan rangkaian baris kosong — mendekati konvensi Fourmolu/Ormolu. Pemeriksaan validasi singkat menandai tanda kurung yang tidak seimbang serta string atau komentar blok yang tidak ditutup. Semuanya berjalan secara lokal di browser Anda.

Cara menggunakan

  1. Tempel kode sumber Haskell (.hs) Anda.
  2. Pilih 2 spasi (default Fourmolu) atau 4 spasi (default Ormolu) untuk indentasi.
  3. Atur panjang baris maksimum yang dipakai untuk menandai baris yang terlalu panjang di laporan validasi (100 adalah default Fourmolu/Ormolu).
  4. Aktifkan atau nonaktifkan urutkan import, urutkan/hapus duplikat pragma LANGUAGE, dan ciutkan baris kosong sesuai kebutuhan.
  5. Periksa panel Validasi untuk masalah sintaks, lalu salin atau unduh hasil yang sudah diformat.

Yang diformat

  • Tanda tangan tipe, definisi fungsi, pencocokan pola, dan guard multi-cabang.
  • Binding where dan let, blok do, serta list comprehension.
  • Record, klausa deriving, dan deklarasi data.
  • Beberapa pragma LANGUAGE — dipindahkan ke atas, dipisah satu per baris, dihapus duplikatnya, dan diurutkan.
  • Baris import yang berurutan — diurutkan secara abjad berdasarkan nama modul, dengan import qualified dikelompokkan setelah import unqualified.
  • Komentar baris (--) dan komentar blok ({- -}, dapat disarangkan), serta komentar pragma ({-# ... #-}).

Apakah ini sepenuhnya meniru Fourmolu atau Ormolu?

Tidak — ini adalah tokenizer ringan tanpa dependensi dan perapi spasi berbasis baris, bukan parser lengkap yang dibangun di atas AST GHC. Alat ini hanya merapikan spasi, urutan pragma, dan urutan import di dalam setiap baris tanpa menata ulang kode lintas baris, sehingga tidak akan memotong ekspresi panjang seperti pretty-printer sungguhan. Untuk hasil yang sama persis byte demi byte dengan keluaran Fourmolu/Ormolu, jalankan alat aslinya sebagai bagian dari build Anda.

Apakah kode sumber saya diunggah ke suatu tempat?

Tidak. Tokenisasi dan pemformatan berjalan sepenuhnya di browser Anda; tidak ada yang dikirim ke server.

Perlu memformat bahasa fungsional atau bahasa konfigurasi lain?

Lihat Pemformat Kode Elixir untuk kode Elixir, atau Pemformat Terraform untuk konfigurasi HCL.

haskellformatterfourmoluormoludeveloper

Suka alat-alatnya? Hilangkan iklannya.

Satu kali pembayaran menghapus semua iklan dari akun Anda, selamanya. Tanpa langganan, tanpa pelacakan.