Middlemodule Expr : sig ... endMIR types and modules corresponding to the expressions of the language
module Flag_vars : sig ... endmodule Fun_kind : sig ... endTypes for function kinds, e.g. StanLib or UserDefined, and function suffix types, e.g. foo_ldfp, bar_lp
module Index : sig ... endTypes of indexing operations
module Internal_fun : sig ... endLanguage functions defined internally by the compiler
module Location : sig ... endStoring locations in the original source
module Location_span : sig ... endDelimited locations in source code
module Mem_pattern : sig ... endmodule Operator : sig ... endUtilities for Stan's built in operators
module Program : sig ... endDefines the core of the MIR
module SizedType : sig ... endTypes which have a concrete size associated, e.g. vector[n]
module Stmt : sig ... endMIR types and modules corresponding to the statements of the language
module Transformation : sig ... endmodule Type : sig ... endA type which unifies SizedTypes and UnsizedTypes for declarations
module UnsizedType : sig ... endTypes which have dimensionalities but not sizes, e.g. array[,,]
module Utils : sig ... endUtilities, primarily surrounding distribution names and suffixes