Pemformat Kode Haskell
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
| Masalah |
|---|
| No data yet |
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_HERETempelkan 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/MCP | Mulai 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
- Tempel kode sumber Haskell (
.hs) Anda. - Pilih 2 spasi (default Fourmolu) atau 4 spasi (default Ormolu) untuk indentasi.
- Atur panjang baris maksimum yang dipakai untuk menandai baris yang terlalu panjang di laporan validasi (100 adalah default Fourmolu/Ormolu).
- Aktifkan atau nonaktifkan urutkan import, urutkan/hapus duplikat pragma LANGUAGE, dan ciutkan baris kosong sesuai kebutuhan.
- 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
wheredanlet, blokdo, serta list comprehension. - Record, klausa
deriving, dan deklarasi data. - Beberapa pragma
LANGUAGE— dipindahkan ke atas, dipisah satu per baris, dihapus duplikatnya, dan diurutkan. - Baris
importyang 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.