Module Middleend.Inferencer

Copyright 2024-2025, Danil Usoltsev

SPDX-License-Identifier: LGPL-3.0-or-later

type error =
  1. | OccursCheck of string * Frontend.Ast.ty
  2. | NoVariable of string
  3. | UnificationFailed of Frontend.Ast.ty * Frontend.Ast.ty
  4. | SeveralBounds of string
  5. | LHS of string
  6. | RHS of string
  7. | UnexpectedFunction of Frontend.Ast.ty
val pp_error : Stdlib.Format.formatter -> error -> unit
module ResultMonad : sig ... end
module Substitution : sig ... end
module VarSet : Stdlib.Set.S with type elt = string
module Scheme : sig ... end
module TypeEnv : sig ... end
val infer_simple_expression : Frontend.Ast.expr -> (Frontend.Ast.ty, error) Stdlib.Result.t
val run_infer : Frontend.Ast.program -> (TypeEnv.t, error) Stdlib.Result.t