|
|
referentially transparent ==>
referential transparency
<programming> An expression E is referentially transparent if
any subexpression and its value (the result of evaluating it)
can be interchanged without changing the value of E. This is
not the case if the value of an expression depends on global
state which can change value. The most common example of
changing global state is assignment to a global variable. For
example, if y is a global variable in:
f(x)
{ return x+y; }
g(z)
{
a = f(1);
y = y + z;
return a + f(1);
}
function g has the "side-effect" that it alters the value of
y. Since f's result depends on y, the two calls to f(1) will
return different results even though the argument is the same.
Thus f is not referentially transparent. Changing the order
of evaluation of the statements in g will change its result.
Pure functional languages achieve referential transparency
by forbidding assignment to global variables. Each
expression is a constant or a function application whose
evaluation has no side-effect, it only returns a value and
that value depends only on the definition of the function and
the values of its arguments.
We could make f above referentially transparent by passing in
y as an argument:
f(x, y) = x+y
Similarly, g would need to take y as an argument and return
its new value as part of the result:
g(z, y)
{
a = f(1, y);
y' = y+z;
return (a + f(1, y'), y');
}
Referentially transparent programs are more amenable to
formal methods and easier to reason about because the
meaning of an expression depends only on the meaning of its
subexpressions and not on the order of evaluation or
side-effects of other expressions.
We can stretch the concept of referential transparency to
include input and output if we consider the whole program to
be a function from its input to its output. The program as a
whole is referentially transparent because it will always
produce the same output when given the same input. This is
stretching the concept because the program's input may include
what the user types, the content of certain files or even the
time of day. If we do not consider global state like the
contents of files as input, then writing to a file and reading
what was written behaves just like assignment to a global
variable. However, if we must consider the state of the
universe as an input rather than global state then any
deterministic system would be referentially transparent!
See also extensional equality, observational equivalence.
(1997-03-25)
Try this search on OneLook / Google
Nearby terms:
reference counting « referential integrity « referentially transparent « referential transparency » referer » referrer » REFINE
This article was derived from the Free Online Dictionary of Computers and is available under ther terms of the GNU Free Documentation License.
American Greetings Spiritual Expressions 7American Greetings Spiritual Expressions 7 Express your spirituality and creativity with a a collection of projects with American Greetings Spiritual Expressions. Inspired art and verse let you create everything from uplifting message cards, bookmarks and church bulletins to wedding invitations, holiday cards and announcements and much more. Windows 98/2000/ME/XP More ...
NEW P4 2.26GHz 256MB DDR 80GB CDRW/DVDNEW P4 2.26GHz 256MB DDR 80GB CDRW/DVD ** NEW P4 2.26GHz 256MB DDR 80GB CDRW/DVD **This FAST system features an Intel Pentium 4 2.26GHz processor, an 80GB 7200RPM hard drive, 256MB DDR RAM, and sports a CDRW/DVD Combo drive. General Features:- Intel Pentium 4 2.26GHz Processor- 256MB DDR Memory- 80GB 7200RPM IDE Hard Drive- CDRW/DVD Combo Drive- Built-in Real 256-bit 2D/3D graphics engine Shared up to 64MB Video Memory- AC97 Integrated Audio- 56K V.90 Data/Fax Modem- Integrated 10/100 Ethernet- Slim Size ATX Power SupplyMotherboard Features:- SiS 651 Series (Northbridge) / SiS962L (Southbridge) Chipsets- One (1) 2X/4X AGP Slot - Three (3) PCI slotsI/O Ports:- Two (2) PS/2 Ports, one for mouse, one for keyboard- One (1) Standard DB-15 VGA Connector- One (1) Standard 25-pin Parallel Port Connector- One (1) Standard 9-pin Serial Port Connectors- Four (4) Standard USB 2.0 Ports (Two on front, two on rear)- One (1) Standard RJ-45 10/100 Ethernet Port- Line-in, Phone-out RJ-11 Jacks on PCI Modem- Line-in, Mic-in, Line-out 3.5mm mini-jacksPackage Includes:- Eureka P4 2.26GHz System- PS/2 Keyboard and Scroll Mouse- Driver Disc- RJ-11 Phone Cable for Modem- Amplified Stereo Speakers - MSI M651 Combo-L Motherboard manual- U.S. Style Power CordCompatibility/Requirements/Disclosures:** Requirements *** Operating system (WinXP,2000,98,etc.)* VGA monitor* Power outlet More ...
Brunswick Circuit Pro BowlingBrunswick Circuit Pro Bowling The most realistic bowling simulation available, Brunswick Circuit Pro Bowling features the best known license in the sport, including all of its personalities, tournaments, state-of-the-art equipment and family fun. Windows 95/98/ME/2000/XP More ...
Kids Sing &Learn: Nursery Rhymes (Music CD)Kids Sing &Learn: Nursery Rhymes (Music CD) Sing along with these great all-time favorite Nursery Rhymes. Featuring songs like: • I'm a Little Teapot • Humpty Dumpty • and much more!Digital Audio CD More ...
Windows XP Media Center Edition 2005 - OEMWindows XP Media Center Edition 2005 - OEM ** Windows XP Media Center Edition 2005 - OEM **All Entertainment Choices In One Place: - Live And Recorded TV, Movies & Videos, Music, Photo, Radio, Etc. - Access Computing & Entertainment Simultaneously PC System Requirements: - 300MHz Or Higher Processor - 128MB RAM Or Higher - 1.5GB Available Hard Disk Space - Super VGA (800x600) or Higher Resolution Video - CD-ROM Or DVD-ROM - Mfr Part Number: M93-00091 - Windows XP Media Center 2005 <1-Pack> More ...
CM343R Personal MP3 CD Player - 2 for $49.99CM343R Personal MP3 CD Player - 2 for $49.99 ** CM343R Personal MP3 CD Player - 2 for $49.99 **This Classic CM343R Personal MP3 CD Player features anti-shock technology that ensures reliable music without skipping. It is compatible with CD, CD-R, CD-RW, MP3 formats and offers 60 programmable track memory, and super bass boost system. With its portable design, this Classic Personal MP3 CD player lets you enjoy your favorite tunes anywhere!!General Features:- 40-seconds anti-shock MP3 format- 120-seconds anti-shock CD format- Compatible with CD/CD-R/CD-RW/MP3 formats- 60 Programmable Track Memory- Anti-Shock techonology system- Super Bass Boost system- Operates on 2 AA Batteries (not included)Control Functions:- Program- Skip- Search- Play/Pause- Stop- Mode- On/Off DBBS- Volume control- Headphone jack- Open button- DC 4.5V jackSpecifications:- >20 mW output power- 100 - 20,000 Hz frequency responseUnit Dimensions:- 1 x 5.7 x 5.7-inches (H x W x D)Retail Package Includes:- Classic CM343R Personal MP3 CD Player- Manual- HeadphonesNotes:- Batteries are not included Compatibility/Requirements/Disclosures:** Requirements *** Two (2) AA batteries More ...
|