メインコンテンツにスキップ

Haskellコードフォーマッター

API reference

Haskellのソースコードを整形して見やすく出力します。演算子の間隔の統一、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"
  }'

ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。

AIエージェントに依頼する

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

YOUR_INPUT_HERE

IOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。

埋め込みウィジェット

<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 1回あたりの費用5クレジットから
クレジットが足りませんか?料金を見る

次の方法でも利用可能

ガイド

空白の揃っていないHaskellのソースを貼り付けるだけで、きれいに整形されたモジュールを取得できます。->、<-、::、=、比較演算子や算術演算子の周りの間隔を統一し、LANGUAGEプラグマを並べ替えて重複を削除し、importブロックをアルファベット順に並べ、連続する空行をまとめます。Fourmolu/Ormoluの慣習に近い整形を行います。簡単な検証では、括弧の対応が取れていない箇所や閉じられていない文字列・ブロックコメントを検出します。すべての処理はブラウザ内でローカルに実行されます。

使い方

  1. Haskell(.hs)のソースコードを貼り付けます。
  2. インデントに 2スペース(Fourmoluの既定値)か 4スペース(Ormoluの既定値)を選びます。
  3. 最大行長を設定します。検証レポートでこの長さを超える行に警告を表示します(100はFourmolu/Ormoluの既定値です)。
  4. 必要に応じて import文の並べ替え、LANGUAGEプラグマの並べ替えと重複削除、空行の圧縮のオン・オフを切り替えます。
  5. 検証パネルで構文の問題を確認し、整形結果をコピーまたはダウンロードします。

整形の対象

  • 型シグネチャ、関数定義、パターンマッチ、複数の分岐を持つガード。
  • whereとletの束縛、doブロック、リスト内包表記。
  • レコード、deriving節、データ宣言。
  • 複数のLANGUAGEプラグマ — 先頭にまとめ、1行に1つずつ分け、重複を削除して並べ替えます。
  • 連続するimport行 — モジュール名でアルファベット順に並べ、修飾インポート(qualified)は非修飾インポートの後にまとめます。
  • 行コメント(--)、ネスト可能なブロックコメント({- -})、プラグマコメント({-# ... #-})。

Fourmolu や Ormolu を完全に再現しますか?

いいえ。これはGHCのASTに基づく本格的なパーサーではなく、依存関係のない軽量なトークナイザーと行単位の間隔調整ツールです。各行の中で間隔、プラグマの順序、importの順序を整えますが、行をまたいでコードを組み直すことはないため、本物の整形ツールのように長い式を折り返すことはありません。Fourmolu/Ormoluの出力とバイト単位で完全に一致させたい場合は、ビルドの一部として本物のツールを実行してください。

ソースコードがどこかにアップロードされますか?

いいえ。トークン化と整形はすべてブラウザ内で実行され、サーバーには何も送信されません。

別の関数型言語や設定言語を整形したい場合は?

ElixirのソースにはElixirコードフォーマッターを、HCLの設定ファイルにはTerraformフォーマッターをお使いください。

haskellformatterfourmoluormoludeveloper

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。