My working unpac repository
at opam/upstream/seq 40 lines 1.7 kB view raw
1(**************************************************************************) 2(* *) 3(* OCaml *) 4(* *) 5(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) 6(* *) 7(* Copyright 1996 Institut National de Recherche en Informatique et *) 8(* en Automatique. *) 9(* *) 10(* All rights reserved. This file is distributed under the terms of *) 11(* the GNU Lesser General Public License version 2.1, with the *) 12(* special exception on linking described in the file LICENSE. *) 13(* *) 14(**************************************************************************) 15 16(** Lambda simplification. 17 18 {b Warning:} this module is unstable and part of 19 {{!Compiler_libs}compiler-libs}. 20 21*) 22 23(* Elimination of useless Llet(Alias) bindings. 24 Transformation of let-bound references into variables. 25 Simplification over staticraise/staticcatch constructs. 26 Generation of tail-call annotations if -annot is set. *) 27 28open Lambda 29 30val simplify_lambda: lambda -> lambda 31 32val split_default_wrapper 33 : id:Ident.t 34 -> kind:function_kind 35 -> params:(Ident.t * Lambda.value_kind) list 36 -> return:Lambda.value_kind 37 -> body:lambda 38 -> attr:function_attribute 39 -> loc:Lambda.scoped_location 40 -> rec_binding list