Jump To
Table of Contents
- ocaml-base-compiler
- Library
compiler-libs.bytecomp
- Library
compiler-libs.common
- Annot
- Arg_helper
- Ast_helper
- Ast_invariants
- Ast_iterator
- Ast_mapper
- Asttypes
- Attr_helper
- Binutils
- Btype
- Build_path_prefix_map
- Builtin_attributes
- Bytesections
- CamlinternalMenhirLib
- Ccomp
- Clflags
- Cmi_format
- Cmo_format
- Cmt2annot
- Cmt_format
- Compenv
- Compile_common
- Compmisc
- Compression
- Config
- Config_boot
- Config_main
- Consistbl
- Ctype
- Datarepr
- Debuginfo
- Depend
- Diffing
- Diffing_with_keys
- Dll
- Docstrings
- Domainstate
- Env
- Envaux
- Errortrace
- Expunge
- Ident
- Identifiable
- Includeclass
- Includecore
- Includemod
- Includemod_errorprinter
- Int_replace_polymorphic_compare
- Lambda
- Lazy_backtrack
- Lexer
- Load_path
- Local_store
- Location
- Longident
- Main_args
- Makedepend
- Matching
- Meta
- Misc
- Mtype
- Numbers
- Opcodes
- Oprint
- Outcometree
- Parmatch
- Parse
- Parser
- Parsetree
- Path
- Patterns
- Persistent_env
- Pparse
- Pprintast
- Predef
- Primitive
- Printast
- Printlambda
- Printpat
- Printtyp
- Printtyped
- Profile
- Runtimedef
- Shape
- Shape_reduce
- Signature_group
- Simplif
- Strongly_connected_components
- Stypes
- Subst
- Switch
- Symtable
- Syntaxerr
- Targetint
- Tast_iterator
- Tast_mapper
- Terminfo
- Tmc
- Translattribute
- Translclass
- Translcore
- Translmod
- Translobj
- Translprim
- Type_immediacy
- Typeclass
- Typecore
- Typedecl
- Typedecl_immediacy
- Typedecl_properties
- Typedecl_separability
- Typedecl_unboxed
- Typedecl_variance
- Typedtree
- Typemod
- Typeopt
- Types
- Typetexp
- Unit_info
- Untypeast
- Value_rec_check
- Value_rec_compiler
- Value_rec_types
- Warnings
- X86_ast
- Library
compiler-libs.optcomp
- Afl_instrument
- Alias_analysis
- Allocated_const
- Arch
- Asmgen
- Asmlibrarian
- Asmlink
- Asmpackager
- Augment_specialised_args
- Backend_intf
- Backend_var
- Branch_relaxation
- Branch_relaxation_intf
- Build_export_info
- CSE
- CSEgen
- Clambda
- Clambda_primitives
- Closure
- Closure_conversion
- Closure_conversion_aux
- Closure_element
- Closure_id
- Closure_middle_end
- Closure_offsets
- Closure_origin
- Cmm
- Cmm_helpers
- Cmm_invariants
- Cmmgen
- Cmmgen_state
- Cmx_format
- Cmxs_format
- Coloring
- Comballoc
- Compilation_unit
- Compilenv
- Convert_primitives
- Dataflow
- Deadcode
- Effect_analysis
- Emit
- Emitaux
- Emitenv
- Export_id
- Export_info
- Export_info_for_pack
- Extract_projections
- Find_recursive_functions
- Flambda
- Flambda_invariants
- Flambda_iterators
- Flambda_middle_end
- Flambda_to_clambda
- Flambda_utils
- Freshening
- Id_types
- Import_approx
- Inconstant_idents
- Initialize_symbol_to_let_symbol
- Inline_and_simplify
- Inline_and_simplify_aux
- Inlining_cost
- Inlining_decision
- Inlining_decision_intf
- Inlining_stats
- Inlining_stats_types
- Inlining_transforms
- Interf
- Internal_variable_names
- Interval
- Invariant_params
- Lift_code
- Lift_constants
- Lift_let_to_initialize_symbol
- Linear
- Linear_format
- Linearize
- Linkage_name
- Linscan
- Liveness
- Mach
- Mutable_variable
- Optcompile
- Opterrors
- Optmaindriver
- Parameter
- Pass_wrapper
- Polling
- Printclambda
- Printclambda_primitives
- Printcmm
- Printlinear
- Printmach
- Proc
- Projection
- Ref_to_variables
- Reg
- Reload
- Reloadgen
- Remove_free_vars_equal_to_args
- Remove_unused_arguments
- Remove_unused_closure_vars
- Remove_unused_program_constructs
- Schedgen
- Scheduling
- Selectgen
- Selection
- Semantics_of_primitives
- Set_of_closures_id
- Set_of_closures_origin
- Share_constants
- Simple_value_approx
- Simplify_boxed_integer_ops
- Simplify_boxed_integer_ops_intf
- Simplify_common
- Simplify_primitives
- Spill
- Split
- Stackframe
- Stackframegen
- Static_exception
- Strmatch
- Symbol
- Tag
- Thread_sanitizer
- Traverse_for_exported_symbols
- Un_anf
- Unbox_closures
- Unbox_free_vars_of_closures
- Unbox_specialised_args
- Var_within_closure
- Variable
- Library
compiler-libs.toplevel
- Library
dynlink
- Library
runtime_events
- Library
stdlib
- CamlinternalFormat
- CamlinternalFormatBasics
- CamlinternalLazy
- CamlinternalMod
- CamlinternalOO
- Stdlib
- LargeFile
- Arg
- Array
- ArrayLabels
- Atomic
- Bigarray
- Bool
- Buffer
- Bytes
- BytesLabels
- Callback
- Char
- Complex
- Condition
- Digest
- Domain
- Dynarray
- Effect
- Either
- Ephemeron
- Filename
- Float
- Format
- Fun
- Gc
- Hashtbl
- In_channel
- Int
- Int32
- Int64
- Lazy
- Lexing
- List
- ListLabels
- Map
- Marshal
- MoreLabels
- Mutex
- Nativeint
- Obj
- Oo
- Option
- Out_channel
- Parsing
- Printexc
- Printf
- Queue
- Random
- Result
- Scanf
- Semaphore
- Seq
- Set
- Stack
- StdLabels
- String
- StringLabels
- Sys
- Type
- Uchar
- Unit
- Weak
- Library
str
- Library
threads
- Library
unix
- Library
Operations on objects
Oo.copy o
returns a copy of object o
, that is a fresh object with the same methods and instance variables as o
.
- alert unsynchronized_access Unsynchronized accesses to mutable objects are a programming error.
Return an integer identifying this object, unique for the current execution of the program. The generic comparison and hashing functions are based on this integer. When an object is obtained by unmarshaling, the id is refreshed, and thus different from the original object. As a consequence, the internal invariants of data structures such as hash table or sets containing objects are broken after unmarshaling the data structures.