Fortran Support in Maguyva: Code Graphs for Scientific Codebases
For numerical code that outlived its authors, a call graph is the first piece of documentation.
Extensions
.f, .f03, .f08, .f90, +3 more
Maguyva parses R with AST, symbol, and graph support, so AI agents can follow functions, S3 and S4 dispatch, and model-fitting calls across R scripts and packages.
R puts base functions, package functions, and your own in one flat namespace. Dots are part of names, not member access: is.na, data.frame, and print.summary_table are single identifiers. A tool that reads print.summary_table as a method on print gets the structure wrong, and one that records every base call buries your functions under c() and paste().
Maguyva keeps R names whole and filters the base noise, so an agent sees the functions your analysis actually depends on.
Maguyva maps .R, .Rmd, and .Rnw files to R. Functions assigned to a name, such as clean_survey <- function(df), are extracted under that name, and anonymous functions are not treated as definitions. Dotted names are never split into a receiver and a member.
Some base R calls stay in the graph on purpose because they show how analysis code is wired: S3 and S4 dispatch (UseMethod, standardGeneric), the apply family (lapply, sapply, vapply, mapply), model fitting (lm, predict, anova), package loading (library, require), and error handling with tryCatch.
The graph also records instantiation and reads and writes.
clean_survey, and which models use its output?” (find_symbol, then dependency_search incoming)fit_model?” (dependency_search)load_raw_data to the final regression.” (get_task_context)stats, and graphics names are filtered from relationships, such as print, paste, c, data.frame, plotting calls, and random-number generators. Use text_pattern_search for them.classes, imports, and variables presets in structural_search select nothing. Use find_symbol and text_pattern_search..Rmd and .Rnw files are read with the R grammar as a whole rather than chunk by chunk, so expect partial results for R Markdown and Sweave documents.Connect a repository with the quickstart, then check the support matrix on the compatibility page. For mixed data-science repos, read the Python guide too.
Best fit
Agent workflows
Engine details
Useful MCP entry points
Use it for a cleaning, modelling, or S3 method name when you need the definition and callers.
Use incoming traversal on a helper function to see which analyses depend on it before changing its output.
Use it for prompts like “trace the path from raw data loading to the final regression.”
Related guides
For numerical code that outlived its authors, a call graph is the first piece of documentation.
Extensions
.f, .f03, .f08, .f90, +3 more
Useful when Python codebases sprawl across services, scripts, type stubs, and operational glue.
Extensions
.py, .pyi, .pyw