Reason · Reason lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.

Reason
sig
 external raise : exn -> 'a = "%raise"
 external raise_notrace : exn -> 'a = "%raise_notrace"
 val invalid_arg : string -> 'a
 val failwith : string -> 'a
 exception Exit
 exception Match_failure of (string * int * int)
 exception Assert_failure of (string * int * int)
 exception Invalid_argument of string
 exception Failure of string
 exception Not_found
 exception Out_of_memory
 exception Stack_overflow
 exception Sys_error of string
 exception End_of_file
 exception Division_by_zero
 exception Sys_blocked_io
 exception Undefined_recursive_module of (string * int * int)
 external ( = ) : 'a -> 'a -> bool = "%equal"
 external ( <> ) : 'a -> 'a -> bool = "%notequal"
 external ( < ) : 'a -> 'a -> bool = "%lessthan"
 external ( > ) : 'a -> 'a -> bool = "%greaterthan"
 external ( <= ) : 'a -> 'a -> bool = "%lessequal"
 external ( >= ) : 'a -> 'a -> bool = "%greaterequal"
 external compare : 'a -> 'a -> int = "%compare"
 val min : 'a -> 'a -> 'a
 val max : 'a -> 'a -> 'a
 external ( == ) : 'a -> 'a -> bool = "%eq"
 external ( != ) : 'a -> 'a -> bool = "%noteq"
 external not : bool -> bool = "%boolnot"
 external ( && ) : bool -> bool -> bool = "%sequand"
 external ( || ) : bool -> bool -> bool = "%sequor"
 external __LOC__ : string = "%loc_LOC"
 external __FILE__ : string = "%loc_FILE"
 external __LINE__ : int = "%loc_LINE"
 external __MODULE__ : string = "%loc_MODULE"
 external __POS__ : string * int * int * int = "%loc_POS"
 external __FUNCTION__ : string = "%loc_FUNCTION"
 external __LOC_OF__ : 'a -> string * 'a = "%loc_LOC"
 external __LINE_OF__ : 'a -> int * 'a = "%loc_LINE"
 external __POS_OF__ : 'a -> (string * int * int * int) * 'a = "%loc_POS"
 external ( |> ) : 'a -> ('a -> 'b) -> 'b = "%revapply"
 external ( @@ ) : ('a -> 'b) -> 'a -> 'b = "%apply"
 external ( ~- ) : int -> int = "%negint"
 external ( ~+ ) : int -> int = "%identity"
 external succ : int -> int = "%succint"
 external pred : int -> int = "%predint"
 external ( + ) : int -> int -> int = "%addint"
 external ( - ) : int -> int -> int = "%subint"
 external ( * ) : int -> int -> int = "%mulint"
 external ( / ) : int -> int -> int = "%divint"
 external ( mod ) : int -> int -> int = "%modint"
 val abs : int -> int
 val max_int : int
 val min_int : int
 external ( land ) : int -> int -> int = "%andint"
 external ( lor ) : int -> int -> int = "%orint"
 external ( lxor ) : int -> int -> int = "%xorint"
 val lnot : int -> int
 external ( lsl ) : int -> int -> int = "%lslint"
 external ( lsr ) : int -> int -> int = "%lsrint"
 external ( asr ) : int -> int -> int = "%asrint"
 external ( ~-. ) : float -> float = "%negfloat"
 external ( ~+. ) : float -> float = "%identity"
 external ( +. ) : float -> float -> float = "%addfloat"
 external ( -. ) : float -> float -> float = "%subfloat"
 external ( *. ) : float -> float -> float = "%mulfloat"
 external ( /. ) : float -> float -> float = "%divfloat"
 external ( ** ) : float -> float -> float = "caml_power_float" "pow"
  [@@unboxed] [@@noalloc]
 external sqrt : float -> float = "caml_sqrt_float" "sqrt" [@@unboxed]
  [@@noalloc]
 external exp : float -> float = "caml_exp_float" "exp" [@@unboxed]
  [@@noalloc]
 external log : float -> float = "caml_log_float" "log" [@@unboxed]
  [@@noalloc]
 external log10 : float -> float = "caml_log10_float" "log10" [@@unboxed]
  [@@noalloc]
 external expm1 : float -> float = "caml_expm1_float" "caml_expm1"
  [@@unboxed] [@@noalloc]
 external log1p : float -> float = "caml_log1p_float" "caml_log1p"
  [@@unboxed] [@@noalloc]
 external cos : float -> float = "caml_cos_float" "cos" [@@unboxed]
  [@@noalloc]
 external sin : float -> float = "caml_sin_float" "sin" [@@unboxed]
  [@@noalloc]
 external tan : float -> float = "caml_tan_float" "tan" [@@unboxed]
  [@@noalloc]
 external acos : float -> float = "caml_acos_float" "acos" [@@unboxed]
  [@@noalloc]
 external asin : float -> float = "caml_asin_float" "asin" [@@unboxed]
  [@@noalloc]
 external atan : float -> float = "caml_atan_float" "atan" [@@unboxed]
  [@@noalloc]
 external atan2 : float -> float -> float = "caml_atan2_float" "atan2"
  [@@unboxed] [@@noalloc]
 external hypot : float -> float -> float = "caml_hypot_float" "caml_hypot"
  [@@unboxed] [@@noalloc]
 external cosh : float -> float = "caml_cosh_float" "cosh" [@@unboxed]
  [@@noalloc]
 external sinh : float -> float = "caml_sinh_float" "sinh" [@@unboxed]
  [@@noalloc]
 external tanh : float -> float = "caml_tanh_float" "tanh" [@@unboxed]
  [@@noalloc]
 external acosh : float -> float = "caml_acosh_float" "caml_acosh"
  [@@unboxed] [@@noalloc]
 external asinh : float -> float = "caml_asinh_float" "caml_asinh"
  [@@unboxed] [@@noalloc]
 external atanh : float -> float = "caml_atanh_float" "caml_atanh"
  [@@unboxed] [@@noalloc]
 external ceil : float -> float = "caml_ceil_float" "ceil" [@@unboxed]
  [@@noalloc]
 external floor : float -> float = "caml_floor_float" "floor" [@@unboxed]
  [@@noalloc]
 external abs_float : float -> float = "%absfloat"
 external copysign : float -> float -> float = "caml_copysign_float"
  "caml_copysign" [@@unboxed] [@@noalloc]
 external mod_float : float -> float -> float = "caml_fmod_float" "fmod"
  [@@unboxed] [@@noalloc]
 external frexp : float -> float * int = "caml_frexp_float"
 external ldexp :
  (float [@unboxed]) -> (int [@untagged]) -> (float [@unboxed])
  = "caml_ldexp_float" "caml_ldexp_float_unboxed" [@@noalloc]
 external modf : float -> float * float = "caml_modf_float"
 external float : int -> float = "%floatofint"
 external float_of_int : int -> float = "%floatofint"
 external truncate : float -> int = "%intoffloat"
 external int_of_float : float -> int = "%intoffloat"
 val infinity : float
 val neg_infinity : float
 val nan : float
 val max_float : float
 val min_float : float
 val epsilon_float : float
 type fpclass = FP_normal | FP_subnormal | FP_zero | FP_infinite | FP_nan
 external classify_float : (float [@unboxed]) -> Stdlib.fpclass
  = "caml_classify_float" "caml_classify_float_unboxed" [@@noalloc]
 val ( ^ ) : string -> string -> string
 external int_of_char : char -> int = "%identity"
 val char_of_int : int -> char
 external ignore : 'a -> unit = "%ignore"
 val string_of_bool : bool -> string
 val bool_of_string_opt : string -> bool option
 val bool_of_string : string -> bool
 val string_of_int : int -> string
 val int_of_string_opt : string -> int option
 external int_of_string : string -> int = "caml_int_of_string"
 val string_of_float : float -> string
 val float_of_string_opt : string -> float option
 external float_of_string : string -> float = "caml_float_of_string"
 external fst : 'a * 'b -> 'a = "%field0"
 external snd : 'a * 'b -> 'b = "%field1"
 val ( @ ) : 'a list -> 'a list -> 'a list
 type in_channel
 type out_channel
 val stdin : Stdlib.in_channel
 val stdout : Stdlib.out_channel
 val stderr : Stdlib.out_channel
 val print_char : char -> unit
 val print_string : string -> unit
 val print_bytes : bytes -> unit
 val print_int : int -> unit
 val print_float : float -> unit
 val print_endline : string -> unit
 val print_newline : unit -> unit
 val prerr_char : char -> unit
 val prerr_string : string -> unit
 val prerr_bytes : bytes -> unit
 val prerr_int : int -> unit
 val prerr_float : float -> unit
 val prerr_endline : string -> unit
 val prerr_newline : unit -> unit
 val read_line : unit -> string
 val read_int_opt : unit -> int option
 val read_int : unit -> int
 val read_float_opt : unit -> float option
 val read_float : unit -> float
 type open_flag =
   Open_rdonly
  | Open_wronly
  | Open_append
  | Open_creat
  | Open_trunc
  | Open_excl
  | Open_binary
  | Open_text
  | Open_nonblock
 val open_out : string -> Stdlib.out_channel
 val open_out_bin : string -> Stdlib.out_channel
 val open_out_gen :
  Stdlib.open_flag list -> int -> string -> Stdlib.out_channel
 val flush : Stdlib.out_channel -> unit
 val flush_all : unit -> unit
 val output_char : Stdlib.out_channel -> char -> unit
 val output_string : Stdlib.out_channel -> string -> unit
 val output_bytes : Stdlib.out_channel -> bytes -> unit
 val output : Stdlib.out_channel -> bytes -> int -> int -> unit
 val output_substring : Stdlib.out_channel -> string -> int -> int -> unit
 val output_byte : Stdlib.out_channel -> int -> unit
 val output_binary_int : Stdlib.out_channel -> int -> unit
 val output_value : Stdlib.out_channel -> 'a -> unit
 val seek_out : Stdlib.out_channel -> int -> unit
 val pos_out : Stdlib.out_channel -> int
 val out_channel_length : Stdlib.out_channel -> int
 val close_out : Stdlib.out_channel -> unit
 val close_out_noerr : Stdlib.out_channel -> unit
 val set_binary_mode_out : Stdlib.out_channel -> bool -> unit
 val open_in : string -> Stdlib.in_channel
 val open_in_bin : string -> Stdlib.in_channel
 val open_in_gen :
  Stdlib.open_flag list -> int -> string -> Stdlib.in_channel
 val input_char : Stdlib.in_channel -> char
 val input_line : Stdlib.in_channel -> string
 val input : Stdlib.in_channel -> bytes -> int -> int -> int
 val really_input : Stdlib.in_channel -> bytes -> int -> int -> unit
 val really_input_string : Stdlib.in_channel -> int -> string
 val input_byte : Stdlib.in_channel -> int
 val input_binary_int : Stdlib.in_channel -> int
 val input_value : Stdlib.in_channel -> 'a
 val seek_in : Stdlib.in_channel -> int -> unit
 val pos_in : Stdlib.in_channel -> int
 val in_channel_length : Stdlib.in_channel -> int
 val close_in : Stdlib.in_channel -> unit
 val close_in_noerr : Stdlib.in_channel -> unit
 val set_binary_mode_in : Stdlib.in_channel -> bool -> unit
 module LargeFile :
  sig
   val seek_out : Stdlib.out_channel -> int64 -> unit
   val pos_out : Stdlib.out_channel -> int64
   val out_channel_length : Stdlib.out_channel -> int64
   val seek_in : Stdlib.in_channel -> int64 -> unit
   val pos_in : Stdlib.in_channel -> int64
   val in_channel_length : Stdlib.in_channel -> int64
  end
 type 'a ref = { mutable contents : 'a; }
 external ref : 'a -> 'a Stdlib.ref = "%makemutable"
 external ( ! ) : 'a Stdlib.ref -> 'a = "%field0"
 external ( := ) : 'a Stdlib.ref -> 'a -> unit = "%setfield0"
 external incr : int Stdlib.ref -> unit = "%incr"
 external decr : int Stdlib.ref -> unit = "%decr"
 type ('a, 'b) result = Ok of 'a | Error of 'b
 type ('a, 'b, 'c, 'd, 'e, 'f) format6 =
   ('a, 'b, 'c, 'd, 'e, 'f) CamlinternalFormatBasics.format6
 type ('a, 'b, 'c, 'd) format4 = ('a, 'b, 'c, 'c, 'c, 'd) Stdlib.format6
 type ('a, 'b, 'c) format = ('a, 'b, 'c, 'c) Stdlib.format4
 val string_of_format : ('a, 'b, 'c, 'd, 'e, 'f) Stdlib.format6 -> string
 external format_of_string :
  ('a, 'b, 'c, 'd, 'e, 'f) Stdlib.format6 ->
  ('a, 'b, 'c, 'd, 'e, 'f) Stdlib.format6 = "%identity"
 val ( ^^ ) :
  ('a, 'b, 'c, 'd, 'e, 'f) Stdlib.format6 ->
  ('f, 'b, 'c, 'e, 'g, 'h) Stdlib.format6 ->
  ('a, 'b, 'c, 'd, 'g, 'h) Stdlib.format6
 val exit : int -> 'a
 val at_exit : (unit -> unit) -> unit
 val valid_float_lexem : string -> string
 val unsafe_really_input : Stdlib.in_channel -> bytes -> int -> int -> unit
 val do_at_exit : unit -> unit
 val do_domain_local_at_exit : (unit -> unit) Stdlib.ref
 module Arg = Stdlib__Arg
 module Array = Stdlib__Array
 module ArrayLabels = Stdlib__ArrayLabels
 module Atomic = Stdlib__Atomic
 module Bigarray = Stdlib__Bigarray
 module Bool = Stdlib__Bool
 module Buffer = Stdlib__Buffer
 module Bytes = Stdlib__Bytes
 module BytesLabels = Stdlib__BytesLabels
 module Callback = Stdlib__Callback
 module Char = Stdlib__Char
 module Complex = Stdlib__Complex
 module Condition = Stdlib__Condition
 module Digest = Stdlib__Digest
 module Domain = Stdlib__Domain
 module Effect = Stdlib__Effect
 module Either = Stdlib__Either
 module Ephemeron = Stdlib__Ephemeron
 module Filename = Stdlib__Filename
 module Float = Stdlib__Float
 module Format = Stdlib__Format
 module Fun = Stdlib__Fun
 module Gc = Stdlib__Gc
 module Hashtbl = Stdlib__Hashtbl
 module In_channel = Stdlib__In_channel
 module Int = Stdlib__Int
 module Int32 = Stdlib__Int32
 module Int64 = Stdlib__Int64
 module Lazy = Stdlib__Lazy
 module Lexing = Stdlib__Lexing
 module List = Stdlib__List
 module ListLabels = Stdlib__ListLabels
 module Map = Stdlib__Map
 module Marshal = Stdlib__Marshal
 module MoreLabels = Stdlib__MoreLabels
 module Mutex = Stdlib__Mutex
 module Nativeint = Stdlib__Nativeint
 module Obj = Stdlib__Obj
 module Oo = Stdlib__Oo
 module Option = Stdlib__Option
 module Out_channel = Stdlib__Out_channel
 module Parsing = Stdlib__Parsing
 module Printexc = Stdlib__Printexc
 module Printf = Stdlib__Printf
 module Queue = Stdlib__Queue
 module Random = Stdlib__Random
 module Result = Stdlib__Result
 module Scanf = Stdlib__Scanf
 module Semaphore = Stdlib__Semaphore
 module Seq = Stdlib__Seq
 module Set = Stdlib__Set
 module Stack = Stdlib__Stack
 module StdLabels = Stdlib__StdLabels
 module String = Stdlib__String
 module StringLabels = Stdlib__StringLabels
 module Sys = Stdlib__Sys
 module Uchar = Stdlib__Uchar
 module Unit = Stdlib__Unit
 module Weak = Stdlib__Weak
end

AltStyle によって変換されたページ (->オリジナル) /