Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Genspio.Language
Sourceand _ t =
| Exec : c_string t list -> unit t
| Raw_cmd : string -> 'a t
| Bool_operator : bool t * [ `And | `Or ] * bool t -> bool t
| String_operator : byte_array t * [ `Eq | `Neq ] * byte_array t -> bool t
| Not : bool t -> bool t
| Returns : {
expr : 'a t;
value : int;
} -> bool t
| No_op : unit t
| If : bool t * unit t * unit t -> unit t
| Seq : unit t list -> unit t
| Literal : 'a Literal.t -> 'a t
| Output_as_string : unit t -> byte_array t
| Redirect_output : unit t * fd_redirection list -> unit t
| Write_output : {
expr : unit t;
stdout : c_string t option;
stderr : c_string t option;
return_value : c_string t option;
} -> unit t
| Feed : byte_array t * unit t -> unit t
| Pipe : unit t list -> unit t
| While : {
} -> unit t
| Fail : string -> unit t
| Int_to_string : int t -> c_string t
| String_to_int : c_string t -> int t
| Bool_to_string : bool t -> c_string t
| String_to_bool : c_string t -> bool t
| List_to_string : 'a list t * ('a t -> byte_array t) -> byte_array t
| String_to_list : byte_array t * (byte_array t -> 'a t) -> 'a list t
| List : 'a t list -> 'a list t
| C_string_concat : c_string list t -> c_string t
| Byte_array_concat : byte_array list t -> byte_array t
| List_append : ('a list t * 'a list t) -> 'a list t
| List_iter : 'a list t * ((unit -> 'a t) -> unit t) -> unit t
| Byte_array_to_c_string : byte_array t -> c_string t
| C_string_to_byte_array : c_string t -> byte_array t
| Int_bin_op : int t * [ `Plus | `Minus | `Mult | `Div | `Mod ] * int t -> int t
| Int_bin_comparison : int t
* [ `Eq | `Ne | `Gt | `Ge | `Lt | `Le ]
* int t -> bool t
| Getenv : c_string t -> c_string t
| Setenv : c_string t * c_string t -> unit t
| Comment : string * 'a t -> 'a t
val pp_fun_call :
Format.formatter ->
string ->
(Format.formatter -> 'a -> unit) ->
'a list ->
unit
val pp_internal_error_details :
big_string:(Format.formatter -> string -> unit) ->
Format.formatter ->
internal_error_details ->
unit
type death_message =
| User of string
| C_string_failure of internal_error_details
| String_to_int_failure of internal_error_details
val pp_death_message :
?style:[< `Lispy | `User Lispy ] ->
big_string:(Format.formatter -> string -> unit) ->
Format.formatter ->
death_message ->
unit
type output_parameters = {
statement_separator : string;
die_command : death_function option;
max_argument_length : int option;
}
type compilation_error = {
error : [ `No_fail_configured of death_message
| `Max_argument_length of string
| `Not_a_c_string of string ];
code : string option;
comment_backtrace : string list;
}
val error :
?code:string ->
comment_backtrace:string list ->
[ `Max_argument_length of string
| `No_fail_configured of death_message
| `Not_a_c_string of string ] ->
'a
val with_die_function :
print_failure:(comment_stack:'a -> 'b -> string) ->
statement_separator:string ->
signal_name:string ->
?trap:[< `Exit_with of int | `None Exit_with ] ->
(die:(comment_stack:'a -> 'b -> string) -> string) ->
string