Documentation
¶
Overview ¶
Package haskell implements a gorisk analyzer for Haskell projects. It supports cabal.project.freeze, stack.yaml.lock, and *.cabal files.
Package haskell implements a gorisk analyzer for Haskell projects. It supports cabal.project.freeze, stack.yaml.lock, and *.cabal files.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildIRGraph ¶
func BuildIRGraph(g *graph.DependencyGraph) ir.IRGraph
BuildIRGraph builds a function-level IR graph for a Haskell dependency graph.
func Detect ¶
func Detect(dir string) capability.CapabilitySet
Detect walks .hs and .lhs files in dir and returns the combined capability set.
func DetectFunctions ¶
func DetectFunctions(dir, pkgName string, files []string) (map[string]ir.FunctionCaps, []ir.CallEdge, error)
DetectFunctions parses Haskell source files and returns per-function capability sets and call edges.
Types ¶
type Adapter ¶
type Adapter struct{}
Adapter implements the analyzer.Adapter interface for Haskell projects.
type HaskellFunction ¶
HaskellFunction represents a top-level Haskell function definition.
type HaskellPackage ¶
HaskellPackage represents a Haskell dependency extracted from a lockfile.
func Load ¶
func Load(dir string) (pkgs []HaskellPackage, retErr error)
Load detects and parses the Haskell dependency lockfile in dir. Priority: cabal.project.freeze → stack.yaml.lock → *.cabal (glob top-level) Load never panics; it returns a structured error on failure.