Module Middle

module Expr : sig ... end

MIR types and modules corresponding to the expressions of the language

module Flag_vars : sig ... end
module Fun_kind : sig ... end

Types for function kinds, e.g. StanLib or UserDefined, and function suffix types, e.g. foo_ldfp, bar_lp

module Index : sig ... end

Types of indexing operations

module Internal_fun : sig ... end

Language functions defined internally by the compiler

module Location : sig ... end

Storing locations in the original source

module Location_span : sig ... end

Delimited locations in source code

module Mem_pattern : sig ... end
module Operator : sig ... end

Utilities for Stan's built in operators

module Program : sig ... end

Defines the core of the MIR

module SizedType : sig ... end

Types which have a concrete size associated, e.g. vector[n]

module Stan_math_signatures : sig ... end

This module stores a table of all signatures from the Stan math C++ library which are exposed to Stan, and some helper functions for dealing with those signatures.

module Stmt : sig ... end

MIR types and modules corresponding to the statements of the language

module Transformation : sig ... end
module Type : sig ... end

A type which unifies SizedTypes and UnsizedTypes for declarations

module UnsizedType : sig ... end

Types which have dimensionalities but not sizes, e.g. array[,,]

module Utils : sig ... end

Utilities, primarily surrounding distribution names and suffixes