Elixir in Maguyva: codegrafen voor Phoenix- en OTP-apps
De structuur van Elixir zit in macro's. De graaf leest ze als structuur.
Extensies
.ex, .exs
Maguyva ondersteunt Haskell met AST, symbolen en graaf, zodat AI-agents functies, typeklasse-instances en dataconstructors over modules heen volgen.
Haskell roept functies aan zonder haakjes, combineert ze met operatoren en dispatcht via typeklassen. render user is één aanroep, f . g <$> xs bevat er meerdere, en show betekent wat de instance voor dat type zegt. Tekstzoeken vindt de namen, niet de instances erachter.
Maguyva legt instances en constructors vast als relaties, zodat een agent ziet welke types een klasse implementeren en waar een waarde wordt opgebouwd.
Maguyva koppelt .hs- en .lhs-bestanden aan Haskell. Functies en bindings worden als callables geëxtraheerd, en typeklassen, data-types en newtypes als types. Aanroepen worden herkend in applicatie met spaties en via infix-operatoren, en imports normaliseren qualified-, hiding- en as-clausules.
Typeklassen en constructors worden graafrelaties:
instance Eq Point legt vast dat Point Eq implementeert.Point 1 2, telt als instantiatie.error, undefined en throw leggen throws vast, en handlers zoals catch leggen catches vast.Omdat instance-declaraties namen als show of return kunnen definiëren, wordt een definitie in hetzelfde bestand niet automatisch als doel van een aanroep zonder receiver met die naam beschouwd.
parseConfig aan, en vanuit welke modules?” (find_symbol, daarna dependency_search incoming)ToJSON-instance?” (dependency_search)get_task_context)map, foldr, fmap, pure en >>=, en modules zoals Data.List en Control.Monad, worden uit de relaties gefilterd. Gebruik daarvoor text_pattern_search.functions in structural_search geeft alleen lambda’s terug, en de presets methods en variables selecteren niets. Gebruik find_symbol voor benoemde functies..lhs-bestanden worden in hun geheel met de Haskell-grammatica gelezen, dus reken daar op onvolledige resultaten.Koppel een repository via de snelstart en bekijk daarna de ondersteuningsmatrix op de compatibiliteitspagina. Lees voor andere functionele codebases de Elixir-gids.
Beste toepassing
Agentworkflows
Enginedetails
Nuttige MCP-instappunten
Gebruik het voor een functie of type wanneer je de definitie en referenties nodig hebt; structurele presets geven alleen lambda's terug.
Gebruik incoming-traversal op een typeklasse om te zien welke types instances hebben.
Gebruik het voor prompts als "volg hoe een request wordt gedecodeerd en gevalideerd."
Gerelateerde gidsen
De structuur van Elixir zit in macro's. De graaf leest ze als structuur.
Extensies
.ex, .exs
Relevant wanneer je AI-ondersteuning in Rust wilt zonder de structurele guardrails te verliezen die Rust de moeite waard maken.
Extensies
.rs