Author: Christian.Queinnec@lip6.fr

# Index of concepts

- abstract
  - class, 15
  - method, 15
- abstract machine, 7
- abstract type, 14
- abstraction, 2
- affectation, 3
- aggregation, 15
- allocation
  - dynamic, 9
  - static, 9
- application, 2
  - of a function, 2
  - partial, 2
- arity, 2
- array, 3
- BNF, see grammar
- big numbers, 8
- binding
  - delayed, 15
  - static, 2
- boolean, 2
- boucle d'interaction, 7
  - construction, 7
  - options, 7
- bytecode, 7
  - dynamic loading, 8
  - the compiler, see compiler
- bytecode, see bytecode
- C (the langage), 12
- callback, 12
- cartesian product, 2
- character, 2
- character string, 2
- character strings, 3
- class, 15
  - abstract, 15
  - inheritance, 15
  - instance, 15
  - interface, 15
  - local declaration, 15
  - multiple inheritance, 15
  - open type, 15
  - parameterized, 15
  - type, 15
  - variable, 15
  - virtual, 15
- class instance, 15
- client-server, 20
- closure, 2, 2
  - from C, 12
  - representation, 12
- command line, 8
  - parsing of, 8
- communication channel, 3, 18
- communication pipes, 18
  - named, 18
- compilateur, 7
- compilation, 7
  - portabilité, 7
  - unité, 7
- compilation unit, 7
- compiler
  - debug, 10
  - bytecode, 7, 7
  - command, 7
  - linking, 7
  - native, 7
  - profiling, 10
- concurrency, 19, 19
- conditional, 2
- conflict, see parsing
- conservative, 9
- constraint, 14
- constructor, 2, 2
  - constant, 2
  - functional, 2
- critical section, 19
- cyclic
  - type, A
- debugger, see debugging
- debugging, 10, 10
- declaration
  - of an exception, 2
  - external, 12
  - of function, 2
  - global, 2
  - local, 2
  - by matching, 2
  - of an operator, 2
  - recursive, 2
  - simultaneous global, 2
  - simultaneous local, 2
  - of type, 2
    - scope, 2
  - of value, 2
- destructor, 9
- digest, see fingerprint
- dot notation, 8
- dynamic loading, 8
- environment, 2, 12
- evaluation
  - deferred, 4
  - retardée, 4
  - order of evaluation, 3
- événement, 5
- exception, 2
  - declaration, 2
  - handling, 2
  - printing, 8
  - raising, 2
  - with C, 12
- execution stack, 10
- expression
  - functional, 2
  - rational, 11
  - regular, 11
- external declaration, see declaration
- famine, 19
- file
  - extension
    - .ml, 7
    - .mli, 7
    - .mll, 11
    - .mly, 11
  - interface, 7
- finalization, 12
- fingerprint, 8
- floating-point number, 2
- floats
  - arrays of, 12
  - representation, 12
- function, 2
  - for finalization, 12
  - higher order, 2
  - mutually recursive, 2
  - partial, 2
  - polymorphic, 2
    - trace, 10
  - recursive, 2
    - trace, 10
  - registration with C, 12
  - tail recursive, 4
- function call, see application
- functional, 2
- functor, 14
- GC, 9, 9, Mark& Sweep9
  - , conservative, 9
  - , generational, 9
  - from C, 12
  - incremental, 9
  - major, 9
  - minor, 9
  - Stop&Copy, 9
- garbage collection, see GC, 9
- garbage collector, see GC
- grammar, 11
  - contextual, 11
  - definition, 11
  - rule, 11
- Has-a, 15
- hashing, 8
- heap, 9
- Is-a, 15
- identifier, 11
- inclusion
  - polymorphism, 15
- inheritance, 15
- inlining, 7
- input-output, 8
  - with C, 12
- installing Objective CAML, 1
  - Linux, 1
  - online HTML help, 1
  - Unix, 1
  - Windows, 1
- installingObjective CAML
  - MacOS, 1
- instance
  - class, 15
  - classe, 15
  - variable, 15
- integer, 2
- interface, 14, 15
  - graphical, 13
  - with C, 12, 12
  - with the system, 8
- interoperability, 12
- intput-output, 8
- label, B
- lazy (data), 4
- lexical analysis, 11
  - `ocamllex`, 11
  - stream, 11
- lexical unit, 11
  - `ocamlyacc`, 11
- library, 8
  - preloaded, 8
  - standard, 8
- linearization, 8
- linking, 7
  - with C, 12
- list, 2
  - association, 8
  - matching, 2
- Mark&Sweep, 9
- mémoire
  - récupération
    - explicite, 9
    - implicite, 9
- matching, 2
  - exhaustive, 2
  - destructive, 4
- memory
  - allocation, 9
  - automatic
    - deallocation, 9
  - cache, 9
  - deallocation, 9, 9
  - dynamic, 9
  - explicit deallocation, 9
  - management, 9
  - reclamation, 9
  - static, 9
- message sending, 15
- method, 15
  - abstract, 15
  - virtual, 15
- modifiable, 3
- module, 14
  - constraint, 14
  - dependency, 10
  - local definition, 14
  - opening, 8
  - parameterized, 14
  - sub-module, 14
- mutual exclusion, 19
- OCamlBrowser, B
- object, 15
  - copy, 15
  - creation, 15
- operator
  - associativity, 11
  - declaration, 2
  - precedence, 11
- optional (argument), B
- pair, 2
- parsing
  - bottom-up, 11
  - conflict, 11, 11
    - shift-reduce, 11
  - `ocamlyacc`, 11
  - stream, 11, 11
  - top-down, 11
- pattern
  - character interval, 2
  - combining, 2
  - guard, 2
  - matching, 2
  - naming, 2
  - wildcard, 2, 2
- pattern matching, see matching
- persistence, 8
- persistent
  - value, 8
- pointer, 3
  - weak, 9
- polymorphism, 2
  - inclusion, 15
- portabilité, 7
- process, 18
- processus
  - création, 18, 19
  - léger, 19
- producteur-consommateur, 19
- production rule, see grammar
- profiling, 10
  - bytecode, 10, 10
  - natif, 10
  - native, 10
- protocol, 20
  - http, 20
- reader-writer, 19
- record, 2
  - mutable field, 3
- reference, 3
- root, 9
- Sequence, 3
- Stop&Copy, 9
- scope of a variable, 2
- self, 15
- semaphore, 19
- session, 7
- sharing, 8
- signal, 18
- signature, 14
  - constraint, 14
- socket, 20
- stack, 9
- standalone executable, 7
- stream, 4
  - lexical analysis, 11
  - parsing, 11, 11
- strict (language), 4
- string, see character string
- strings
  - representation, 12
- structure, 14
- subtyping-typage, 15
- super, 15
- synchronization, 19
- syntax analysis, 11
- Toplevel loop
  - directives, 7
- tag bits, 9
- this, 15
- thread, see processus léger
- toplevel, see boucle d'interaction
- trace, 10
- tree, 2
- tuple, 2
- type
  - abstract, 14
  - constraint, 2, 14, 15, 15
  - constructor, 2
  - declaration, 2
  - enumerated, 2
  - function, 2
  - functional, 2
  - mutually recursive, 2
  - object, 15
  - open, 15, 15
  - parameterized, 2, 2, 2
  - product, 2
  - record, 2
  - recursive, 2
  - sum, 2, 2
  - sum types
    - representation, 12
  - union, 2
- UML, 15
- value
  - atomic, 3
  - construction, 9
  - declaration, 2
  - exploration, 12
  - function, 12
  - global declaration, 2
  - immediate, 12
  - inspection, 10
  - local declaration, 2
  - persistent
    - type, 8
  - representation, 12
    - in C, 12
  - sharing, 3
  - structured, 3, 12
- variable
  - bound, 2
  - free, 2, 2
  - type, 2
  - weak type, 3
- variants
  - polymorphic, B
- vector, see array
- virtual
  - class, 15
  - method, 15
- Zinc, 7
  - interpreter, 7
- zombie, 18