• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/usr/eclipseclp/documents/userman/

Lines Matching defs:of

4 % The contents of this file are subject to the Cisco-style Mozilla Public
6 % in compliance with the License. You may obtain a copy of the License
15 % The Initial Developer of the Original Code is Cisco Systems, Inc.
32 \subsection{Purpose of Modules}
35 The purpose of the module system is to provide a way to package
36 a piece of code in such a way that
44 \item Structuring of large applications:
47 \item Provision of libraries:
49 defined in terms of what the module makes visible to the world.
50 \item Different implementations of the same predicate:
52 implementations of a constraint, which all have the same declarative
53 meaning but different operational behaviour (e.g., different amount of
56 allowing users to specify easily which version(s) of a predicate should
65 The {\eclipse} module system governs the visibility of the following
83 These include the names of record keys, non-logical variables and
104 The module system is flat, i.e., no module is part of another module,
107 \item a few basic modules that are part of the {\eclipse}
111 \item the library modules: every library consists of at least one
114 and same as the base part of the library file name.
131 directive. This should usually be placed at the beginning of the source file
152 All the exports of a module together form the module's \defnotion{interface}.
156 different forms depending on the kind of the exported item.
170 instead of a
200 they module where it appears, but \emph{only} in the context of the
215 directive of the form
223 can be used, which is a combination of
232 If the module is a library in one of {\eclipse}'s library directories,
247 It is also possible to import only a part of another module's
255 Note that this is the only form of import that can refer to a module
257 of circularity in the import structure.
304 predicate of the same name.
310 Conflicts of the first type are accepted silently by the system as
314 The conflict can be resolved by explicitly importing one of the versions, e.g.,
325 Conflicts of the second type give rise to an error or warning message
335 write(X) :- % my own version of write/1
340 must occur textually before any use of the predicate inside the module.
355 example when multiple versions of the predicate are needed,
356 or when the presence of a local definition makes it impossible
357 to import a predicate of the same name from elsewhere.
366 Here, the module where the definition of \predspec{print_list/1} is looked up
384 module and both are needed. In this case, none of the conflicting
399 predicate of a given name but at the same time use a predicate
400 of the same name from another module. It is not possible to
401 import the predicate because of the name conflict with the local
416 of the same predicate by specifying several lookup modules:
444 To allow more flexibility in the design of module interfaces, and to
445 avoid duplication of definitions, it is possible to re-export definitions.
452 There are 3 forms of the
455 module interface of another module, use
490 When a source file contains no module directives, it becomes part of
500 case the name of the main module should match the file name.
501 Every module-directive in the file marks the end of the previous
502 module and the start of the next one.
504 It is also possible to spread the contents of a module over several
532 certain module context in order to obey the correct syntax of this module.
543 The naive version of this predicate looks like
552 Now consider the situation where the definition of \predspec{twice/1} and a
553 call of \predspec{twice/1} are in two different modules:
606 to happen \emph{in the context} of module main.
640 Many of the system built-in predicates are in fact tools, e.g.,
685 & Module where definition of \predspec{twice/1} is looked up
703 can be used to check for the existence of a module, or to enumerate
732 of the predicate in the caller module.
762 set of {\eclipse} built-in predicates.
773 but not all of {\eclipse}'s usual language features.
819 imported into another module. The call will happen in the context of
833 in the case of an embedded ECLiPSe, I/O may no longer be available at
842 By default, {\eclipse} does not strictly enforce the hiding of
868 usually used as a directive in the source file of the module to be locked.