Ast_mltype tok = Parse_info.infoand 'a wrap = 'a * tokand 'a comma_list = ('a, tok) Common.either listand 'a and_list = ('a, tok) Common.either listand 'a star_list = ('a, tok) Common.either listand 'a pipe_list = ('a, tok) Common.either listand 'a semicolon_list = ('a, tok) Common.either listand lname = nameand uname = nameand expr = | C of constant| L of long_name| Constr of long_name * expr option| Tuple of expr comma_list| List of expr semicolon_list bracket| Sequence of seq_expr paren| Prefix of string wrap * expr| Infix of expr * string wrap * expr| FunCallSimple of long_name * argument list| FunCall of expr * argument list| RefAccess of tok * expr| RefAssign of expr * tok * expr| FieldAccess of expr * tok * long_name| FieldAssign of expr * tok * long_name * tok * expr| Record of record_expr brace| New of tok * long_name| ObjAccess of expr * tok * name| LetIn of tok * rec_opt * let_binding and_list * tok * seq_expr| Fun of tok * parameter list * match_action| Function of tok * match_case pipe_list| If of tok * seq_expr * tok * expr * (tok * expr) option| Match of tok * seq_expr * tok * match_case pipe_list| Try of tok * seq_expr * tok * match_case pipe_list| While of tok * seq_expr * tok * seq_expr * tok| For of tok
* name
* tok
* seq_expr
* for_direction
* seq_expr
* tok
* seq_expr
* tok| ParenExpr of expr paren| ExprTodoand seq_expr = expr semicolon_listand record_expr = | RecordNormal of field_and_expr semicolon_list| RecordWith of expr * tok * field_and_expr semicolon_listand match_case = pattern * match_actionand rec_opt = tok optionand pattern = | PatVar of name| PatConstant of pattern_signed_constant| PatConstr of long_name * pattern option| PatConsInfix of pattern * tok * pattern| PatTuple of pattern comma_list| PatList of pattern semicolon_list bracket| PatUnderscore of tok| PatRecord of field_pattern semicolon_list brace| PatAs of pattern * tok * name| PatDisj of pattern * tok * pattern| PatTyped of tok * pattern * tok * ty * tok| ParenPat of pattern paren| PatTodoand ty_params = | TyNoParam| TyParam1 of ty_parameter| TyParamMulti of ty_parameter comma_list parenand type_def_kind = | TyCore of ty| TyAlgebric of constructor_declaration pipe_list| TyRecord of field_declaration semicolon_list braceand constructor_declaration = name * constructor_argumentsand item = | Type of tok * type_declaration and_list| Exception of tok * name * constructor_arguments| External of tok * name * tok * ty * tok * string wrap list| Open of tok * long_name| Val of tok * name * tok * ty| Let of tok * rec_opt * let_binding and_list| Module of tok * uname * tok * module_expr| ItemTodo of toktype sig_item = itemtype struct_item = itemtype program = toplevel listtype any = | Ty of ty| Expr of expr| Pattern of pattern| Item of item| Toplevel of toplevel| Program of program| TypeDeclaration of type_declaration| TypeDefKind of type_def_kind| FieldDeclaration of field_declaration| MatchCase of match_case| LetBinding of let_binding| Constant of constant| Argument of argument| Body of seq_expr| Info of tok| InfoList of tok listval str_of_name : name -> stringval uncomma : ('a, 'b) Common.either list -> 'a listval unpipe : ('a, 'b) Common.either list -> 'a listval module_of_long_name : ((name * 'a) list * 'b) -> string