Haskell v Maguyva: grafy kódu pro typové třídy a moduly
Typy v Haskellu toho řeknou hodně. Graf ukáže, kdo na nich stojí.
Přípony
.hs, .lhs
Maguyva podporuje Elixir s AST, symboly a grafem, takže AI agenti sledují moduly, behaviours, protokoly a struktury v kódu Phoenix a OTP.
Téměř všechno v Elixiru je volání makra. defmodule, def, use, alias i @impl se parsují jako volání a use GenServer přináší chování, které se v souboru nikdy neobjeví. Nástroj, který vidí jen syntaxi volání, nerozezná definici od závislosti ani callback GenServeru od pomocné funkce.
Maguyva tato makra převádí na relace, takže agent vidí, které moduly implementují behaviour a kdo volá kontextovou funkci.
Maguyva pokrývá soubory .ex a .exs. Makra Elixiru se převádějí na relace takto:
alias, import a require zaznamenávají importy.use zaznamenává import. U behaviours z OTP a frameworků, jako jsou GenServer, Supervisor, Agent, Task, Phoenix.Controller, Phoenix.LiveView a Ecto.Schema, navíc zaznamenává, že modul daný behaviour implementuje.@behaviour a bloky defimpl zaznamenávají implementaci behaviour nebo protokolu.@doc, @spec, @impl a @callback se zaznamenávají jako anotace následující funkce. Hodnotové atributy jako @timeout 5_000 ne.%User{} se počítají jako vytvoření instance, raise zaznamenává vyhození výjimky a rescue a catch její zachycení.Jazyková makra jako def, defp, defmodule, case a with se z volání odfiltrují, takže graf volání ukazuje vaše funkce.
Accounts.register_user a z kterých kontrolerů?“ (find_symbol, pak dependency_search incoming)GenServer?“ (dependency_search)get_task_context)def, defmodule, alias a import jsou v gramatice uzly volání, takže v structural_search vrací výsledky jen preset functions, a to pouze pro anonymní funkce fn. Pro pojmenované funkce a moduly použijte find_symbol.IO.puts, String.*, Enum.take a Process.*, se z relací odfiltruje. Pro ně použijte text_pattern_search.Připojte repozitář podle rychlého startu a pak si prohlédněte matici podpory na stránce kompatibility. U dalších funkcionálních kódových základen si přečtěte průvodce jazykem Haskell.
Nejlépe se hodí pro
Workflow agentů
Podrobnosti enginu
Užitečné vstupní body MCP
Použijte ho pro kontextovou funkci nebo modul, když potřebujete definici a volající; strukturní presety nevybírají pojmenované formy `def`.
Použijte incoming procházení na behaviour nebo protokolu, abyste viděli, které moduly ho implementují.
Použijte ho pro prompty jako „vysleduj požadavek na platbu od kontroleru až do databáze“.
Související průvodci
Typy v Haskellu toho řeknou hodně. Graf ukáže, kdo na nich stojí.
Přípony
.hs, .lhs
Ruby se čte jako próza. Závislosti za ním ale pořád potřebují mapu.
Přípony
.gemfile, .gemspec, .rake, .rakefile, +2 dalších