Elixir dans Maguyva : des graphes de code pour les apps Phoenix et OTP
La structure d'Elixir vit dans les macros. Le graphe la lit comme de la structure.
Extensions
.ex, .exs
Maguyva prend en charge Haskell avec AST, symboles et graphe, pour que les agents IA suivent fonctions, instances de classes de types et constructeurs de données entre modules.
Haskell appelle les fonctions sans parenthèses, les compose avec des opérateurs et répartit les appels via les classes de types. render user est un appel, f . g <$> xs en contient plusieurs, et show signifie ce que dit l’instance de ce type. Une recherche textuelle trouve les noms, pas les instances qui se cachent derrière.
Maguyva enregistre instances et constructeurs comme des relations : l’agent voit quels types implémentent une classe et où une valeur est construite.
Maguyva associe les fichiers .hs et .lhs à Haskell. Les fonctions et liaisons sont extraites comme appelables, et les classes de types, les types data et les newtype comme types. Les appels sont reconnus dans l’application séparée par des espaces et à travers les opérateurs infixes, et les imports normalisent les clauses qualified, hiding et as.
Les classes de types et les constructeurs deviennent des relations du graphe :
instance Eq Point enregistre que Point implémente Eq.Point 1 2, compte comme une instanciation.error, undefined et throw enregistrent des throws, et les handlers comme catch enregistrent des catches.Comme les déclarations d’instance peuvent définir des noms comme show ou return, une définition du même fichier n’est pas considérée d’office comme la cible d’un appel sans receveur portant ce nom.
parseConfig, et depuis quels modules ? » (find_symbol, puis dependency_search en incoming)ToJSON ? » (dependency_search)get_task_context)map, foldr, fmap, pure et >>=, ainsi que des modules comme Data.List et Control.Monad, sont filtrés des relations. Utilisez text_pattern_search pour les retrouver.functions de structural_search ne renvoie donc que des lambdas, et les presets methods et variables ne sélectionnent rien. Utilisez find_symbol pour les fonctions nommées..lhs sont lus en entier avec la grammaire Haskell : attendez-vous à des résultats partiels.Connectez un dépôt avec le démarrage rapide, puis consultez la matrice de prise en charge sur la page de compatibilité. Pour d’autres bases de code fonctionnelles, lisez le guide Elixir.
Idéal pour
Workflows d'agent
Détails du moteur
Points d'entrée MCP utiles
Utilisez-le pour une fonction ou un type quand vous avez besoin de la définition et des références ; les presets structurels ne renvoient que des lambdas.
Utilisez la traversée incoming sur une classe de types pour voir quels types en ont une instance.
Utilisez-le pour des prompts comme « retrace comment une requête est décodée et validée ».
Guides connexes
La structure d'Elixir vit dans les macros. Le graphe la lit comme de la structure.
Extensions
.ex, .exs
Pertinent quand vous voulez une assistance IA en Rust sans perdre les garde-fous structurels qui font tout l'intérêt de Rust.
Extensions
.rs