MaguyvaのElixir対応: PhoenixとOTPアプリのコードグラフ
Elixirの構造はマクロの中にあります。グラフはそれを構造として読み取ります。
拡張子
.ex, .exs
Haskellは括弧なしで関数を呼び出し、演算子で関数を合成し、型クラスを通してディスパッチします。render user は1つの呼び出しで、f . g <$> xs には複数の呼び出しが含まれ、show の意味はその型のインスタンスが決めます。テキスト検索は名前を見つけても、その背後のインスタンスは見つけられません。
Maguyvaはインスタンスとコンストラクターを関係性として記録するため、エージェントはどの型がクラスを実装し、値がどこで構築されるかを確認できます。
Maguyvaは .hs と .lhs ファイルをHaskellに対応付けます。関数と束縛は呼び出し可能なものとして、型クラス、data 型、newtype は型として抽出されます。呼び出しは空白区切りの関数適用と中置演算子の両方で認識され、インポートは qualified、hiding、as 句を正規化します。
型クラスとコンストラクターは、次のようにグラフの関係性になります。
instance Eq Point は、Point が Eq を実装していることを記録します。Point 1 2 のようなデータコンストラクターの適用は、インスタンス化として数えられます。error、undefined、throw はスローを記録し、catch のようなハンドラーはキャッチを記録します。インスタンス宣言は show や return のような名前を定義できるため、同じファイル内の定義が、その名前を持つレシーバーなしの呼び出しの対象だとはみなされません。
parseConfig を呼び出しているのは誰で、どのモジュールからか?」(find_symbol、次に dependency_search の incoming)ToJSON のインスタンスを持つ型はどれか?」(dependency_search)get_task_context)map、foldr、fmap、pure、>>= のような約130個のPreludeと基本ライブラリの名前、そして Data.List や Control.Monad のようなモジュールは、関係性から除外されます。それらには text_pattern_search を使ってください。structural_search の functions プリセットはラムダだけを返し、methods と variables のプリセットは何も選択しません。名前付きの関数には find_symbol を使ってください。.lhs ファイルは全体がHaskellの文法で読み込まれるため、部分的な結果になることを想定してください。クイックスタートでリポジトリを接続し、互換性ページで対応マトリクスを確認してください。ほかの関数型のコードベースについては、Elixirガイドをご覧ください。
最適な用途
エージェントワークフロー
エンジンの詳細
役立つMCPエントリーポイント
定義と参照が必要なときに、関数や型で使ってください。構造的なプリセットはラムダだけを返します。
型クラスに対してincomingのトラバーサルを使い、インスタンスを持つ型を確認してください。
「リクエストがどのようにデコードされ、検証されるかを追跡して」のようなプロンプトに使ってください。
関連ガイド
Elixirの構造はマクロの中にあります。グラフはそれを構造として読み取ります。
拡張子
.ex, .exs
Rustを使う価値をもたらしている構造的なガードレールを失うことなく、RustでAI支援を受けたいときに関連性があります。
拡張子
.rs