Referenční průhlednost

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Referenční průhlednost neboli referenční transparentnost je v programování vlastnost výrazů, která znamená, že daný výraz lze vyhodnotit bez ohledu na jeho kontext v rámci zdrojového kódu. Tedy že výraz se zadanými stejnými hodnotami bude vyhodnocen vždy na stejný výsledek (neboť nezávisí na skrytých hodnotách, například na globálních proměnných) a sám nemá žádné skryté vedlejší účinky.

Referenčně průhledný podprogram je tak funkcí v matematickém smyslu. Díky tomu na něj programátor i překladač mohou nahlížet izolovaně a počítačový program složený z referenčně průhledných výrazů je vlastně přepisovacím systémem. +more To usnadňuje dosáhnout dokazatelné správnosti, umožňuje nebo alespoň výrazně usnadňuje či zefektivňuje řadu optimalizačních technik (například líné vyhodnocování, statickou analýzu kódu) a usnadňuje vytváření paralelních programů. Tím je motivován vznik programovacích jazyků, které referenční průhlednost do značné míry podporují a nebo i vyžadují.

Na druhou stranu referenčně průhledné výrazy jsou z definice deterministické, přičemž praxe vyžaduje i implementace nedeterministických algoritmů, a nepředpokládají dodatečné vedlejší vstupy a výstupy, přičemž interaktivní programy v praxi využívají hojně vstupní a výstupní zařízení. Proto existují jednak jazyky využívající referenční průhlednost jen částečně, jednak pokročilé techniky (například monády), které umožňují v referenčně průhledných funkcích implementovat i postupy zdánlivě s referenční průhledností zcela nekompatibilní.

Referenční průhlednost je jedním ze základních paradigmat deklarativního programování (tedy například funkcionálního a logického programování).

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top