Glossary

From SmartEiffelWiki

(Difference between revisions)
Revision as of 21:41, 27 Nov 2005
Oliver (Talk | contribs)
Letter A translated into English
← Go to previous diff
Revision as of 21:57, 27 Nov 2005
Oliver (Talk | contribs)
Translated letter C
Go to next diff →
Line 2: Line 2:
{{TranslationWanted}} {{TranslationWanted}}
- *** The items marked '''bla bla bla''' generally have French text that needs translation+ *** The items marked '''bla bla bla''' generally have French text that needs translation.
- +
- *** Translation in progress - letter C: Oliver Elphick 27-11-05+
'''Glossary of terms used in the Grand Book''' '''Glossary of terms used in the Grand Book'''
Line 51: Line 49:
<div id="Contravariance"> <div id="Contravariance">
-'''contravariance:''' bla bla bla ... +'''contravariance:''' as opposed to [[#Covariance|covariance]]; we say that a language applies the contravariance rule
 +if, when a [[#Method|method]] is redefined, the argument types or the result type can be replaced by a more general type.
 +Eiffel does not apply the contravariance rule. Eiffel applies the [[#Covariance|covariance]] rule.
</div> </div>
<div id="Compiler"> <div id="Compiler">
-'''compiler:''' bla bla bla... +'''compiler:''' a program that can verify and then translate another program written in a computing [[#Language|language]].
 +Before doing the translation, the compiler checks that the program to be translated conforms to the syntax and rules of the [[#Language|language]].
</div> </div>
<div id="Covariance"> <div id="Covariance">
-'''covariance:''' bla bla bla ... +'''covariance:''' as opposed to [[#Contravariance|contravariance]]; we say that a [[#Language|language]] applies the covariance rule if, when an inherited [[#Method|method]] is redefined, the argument types or the result type can be replaced by a more specific type.
 +For example, if the class <TT>APPLE</TT> inherits from <TT>FRUIT</TT>, the arguments (or the result) of the redefined methods can pass from <TT>FRUIT</TT> to <TT>APPLE</TT>.
 +This type change is valid according to the covariance rule.
 +So the scope for redefinition varies in the same direction as the inheritance relationship, hence the name '''co'''variance.
 +Eiffel applies the covariance rule because that rule corresponds to the most useful way of using inheritance.
</div> </div>

Revision as of 21:57, 27 Nov 2005

*** 
*** If you read French, please translate the corresponding page using the French version as a model.
*** If you decide to translate this page, start by adding a *** note here in order to avoid multiple
*** translators.
*** Please check our Author guidelines first as well!
*** Thanks in advance.
***
*** The items marked bla bla bla generally have French text that needs translation.

Glossary of terms used in the Grand Book

Notice: when a term has several different meanings, prority is given to the term's meaning in the context we are interested in, that of Eiffel computing and object-oriented programming of objects using design by contract.

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z


A

attribute: an attribute of an object is part of the memorized information of that object. In other words, using the attribute of some object does not involved computation. An attribute is either constant or variable. When not constant, attribute means exactly what instance variable means.

anchored type: a type defined relative to another type. Anchored types are those which use the keyword like.

B

back-end: it is the last part of a compiler which after each class has been analyzed and no error has been detected, builds the executable that runs all the operations described in the source program.

SmartEiffel provides two back-ends: a C back-end and a Java back-end.

C

contravariance: as opposed to covariance; we say that a language applies the contravariance rule if, when a method is redefined, the argument types or the result type can be replaced by a more general type. Eiffel does not apply the contravariance rule. Eiffel applies the covariance rule.

compiler: a program that can verify and then translate another program written in a computing language. Before doing the translation, the compiler checks that the program to be translated conforms to the syntax and rules of the language.

covariance: as opposed to contravariance; we say that a language applies the covariance rule if, when an inherited method is redefined, the argument types or the result type can be replaced by a more specific type. For example, if the class APPLE inherits from FRUIT, the arguments (or the result) of the redefined methods can pass from FRUIT to APPLE. This type change is valid according to the covariance rule. So the scope for redefinition varies in the same direction as the inheritance relationship, hence the name covariance. Eiffel applies the covariance rule because that rule corresponds to the most useful way of using inheritance.

D

design pattern : bla bla bla ...

dynamic dispatch: bla bla bla ...

dynamic type: bla bla bla ...

E

expression: bla bla bla ...

F

feature: feature is used to denote either an attribute, a function or a procedure as well. Hence, feature also includes method.

function: bla bla bla ...

G

H

heap: bla bla bla ...

I

instance : synonym of object. An object or an instance of some class.

instance variable: one memory field of some object. As indicated, this memory field can be accessed for read or for write as well. The preferred Eiffel terminology is writable attribute.

instruction: bla bla bla ...

J

K

L

language: bla bla bla...

late binding : see dynamic dispatch.

library: bla bla bla...

live type : bla bla bla...

local variable : bla bla bla...

M

method: is the equivalent of routine, that is to say, a method can be a function or a procedure as well.

N

O

P

procedure: bla bla bla ...

Q

R

routine: routine is short-hand to say procedure or function. Hence routine is also the equivalent of method.

S

side-effect: bla bla bla ...

stack: bla bla bla ...

static type: bla bla bla ...

T

type prediction: bla bla bla ...

U

V

W

X

Y

Z

Other languages