Maguyva 的 Elixir 支持:面向 Phoenix 与 OTP 应用的代码图谱
Elixir 的结构藏在宏里。图谱把它们当作结构来读。
扩展名
.ex, .exs
Haskell 调用函数不需要括号,用运算符组合函数,并通过类型类分派。render user 是一次调用,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 和 >>=),以及 Data.List、Control.Monad 等模块,会从关系中过滤掉。查找它们请使用 text_pattern_search。structural_search 中的 functions 预设只返回 lambda,methods 和 variables 预设什么也选不到。具名函数请使用 find_symbol。.lhs 文件会整体按 Haskell 语法读取,因此结果可能不完整。最适合场景
智能体工作流
引擎细节
常用 MCP 入口工具
需要函数或类型的定义和引用时使用它;结构化预设只返回 lambda。
对类型类使用 incoming 方向遍历,查看哪些类型拥有实例。
用于“追踪一个请求如何被解码和校验”这类提示词。