Seznam definic a pojmů jazyka Scheme

Pokud tady nekterá fráze, heslo, nebo tak něco chybí, přidejte to. Zde je pak seznam procedur.


programovací paradigma	-programovací styl
funkcionální paradigma	-paradigma, kde programy jsou tvořeny S-výrazy, výpočet probíhá postupnou aplikací funkcí. Nedochází k vedlejším efektům.
jazyk scheme	-funkcionální jazyk, dialekt jazyka LISP

syntaxe	-pravidla pro správný zápis programu
sémantika	-význam a funkce programu
syntaktická chyba	-chyba v syntaxi
sématický chyba	-chyba v sémantice, špatné chování programu

infixová notace	-přirozený zápis operací mezi právě dvěma argumenty. Je sice srozumitelná pro člověka, ale špatně se zpracovává strojově.
prefixová notace	-zápis v jazyce scheme; velmi dobře zpracovatelný strojově a součastně celkem čitelný pro člověka.
postfixová notace	-nejméně používaná, nevýhodou je složitá manipulace v případě speciálních forem (musí se projít všechny argumenty, aby se zjistilo, jestli se mají vyhodnocovat nebo ne).
polská bezzávorková notace	-používá např. postscript; poměrně snadno interpretovatelná, ale těžko pochopitelná pro člověka. Každá operace musí mít právě 2 arguemnty.

výpočetní proces	-proces, při kterém jsou zpracovávana data.
symbolický výraz	-základní prvek funkcionálních jazyků; číslo, symbol nebo seznam.
elementy jazyka scheme	-hodnoty, se kterými pracují primitivní procedury: číslo, procedura, prostředí, symbol, seznam, pár.
interní reprezentace	-způsob práce s daty, tak aby se počítači s nimi dobře pracovalo.
cyklus REPL:read, eval, print, loop	-načtení S-výrazu (převedení do interní reprezentace), vyhodnocení S-výrazu a předání o úroveň výš.

Aplikace procedur	-(název [argumenty]); vyhodnotí-li se první prvek seznamu na proceduru, pak se v nespecifikovaném pořadí vyhodnocují jejeí argumenty, a poté je tato procedura s těmito argumetny aplikována.
Aplikace specialních forem	-(název [argumenty]); vyhodnotí-li se první prvek seznamu na speciální formu, pak si sama zvolí, které argumenty se mají vyhodnotit a poté je s těmito argumenty aplikována.

prostředí	-"tabulka vazeb".
globální prostředí	-počáteční prostředí.
lokální prostředí	-prostředí vytvořené lambdou.
lexikálně nadřazené prostředí	- prostředí vzniku.
dynamicky nadřazené prostředí	- prostředí odkud byla procedura volána.	
předek prostředí	-prostředí vzniku při lexikálním rozsahu nebo prostředí volání při dynamickém.

rozsah platnosti	-způsob manipulace s prostedími.
dynamický rozsah platnosti	-nadřazené porstředí je prostředí, odkud je procedura volána.
lexikální rozsah platnosti	-nadřezené prostředí je prostředí vzniku.
volné symboly	-symboly definované mimo lokální prostředí.
vázané symboly	-argumenty procedury; vazby definované v aktuálním prostředí.
interní definice	-vazby vytvářené v lokálním prostředí.
globální (top-level) definice	-vazby vytvářené v globálním prostředí.
lokální vazba	-vazba vytvořená v lokálním prostředí; po ukončení běhu procedury zaniká.

elementy prvního řádu	-strana 56
líné vyhodnocování	-vyhodnocuje se jen to co je nutné, (pokud je jasné, že už to výsledek neovlivní) - spec. formy and a or.

lambda výraz - seznam ve tvaru (lambda (a1...an) t1...tn) nebo (lambda sa t1..tn), který se vyhodnotí na uživatelskou proceduru.
uživatelsky definovaná procedura	-procedura vytvořená vyhodnocením lambda výrazu.
konstatní procedura	-uživatelská procedura, který je ihned po svém vzniku aplikována s argumenty (a poté je 'zapomenuta').
procedura vyššího řádu	-procedura, která zpracovává procedury.
let, let*, ...-bloky	-=let(*) výraz, výraz ve tvaru (let(*) ((s1 h1) ... (sn hn)) t1..tn).

curring	-technika ve funkcinálních jazycích, která z procedury 2 argumentů vytvoří proceduru 1 agrumentu, kde 1 je znám (konstanta). Katalogový zápis: (define curry+ (lambda (c) (lambda (x) (+ x c)))).
identita	-procedura vracející svůj argument (v nepozmněném tvaru).
projekce	-prcoedura, který vrátí svůj -tý argument (v nepozmněněném tvaru).
formální argumenty	-seznam argumentů funkce.

styl bottom-up	-styl, kde programátor se snaží obohacovat jazyk vlastními procedurami a abstrakcemi již existujících, které pak aplikuje (funkcionální jazyky).
styl top-down	-styl, kde proramátor postupně dělí problémy na menší a ty potom teprve fyzicky programuje (procedurální jazyky).
abstrakční bariéry	-oddělovač jendotlivých vrstev procedur.
blackbox	-'černá skříňka'; na procedury nižší vyrstvy se díváme jako na čerou skíňku, tzn. neřešíme, jak fungují uvnitř, ale zvenčí.

datová abstarakce (abstrakce pomocí dat)	-znamená, že skládáním primitivních dat vytváříme složená data (páry->seznam).
symbolická data	-data, jejichž význam jsou ony sama (nevyhodnocují se, kvotují).
tečkové páry	-element jazyka; je to uspořádaná dvojice ve tvaru (a . b).
konstruktor(y)	-primitivní procedura, která vytváří pár nebo seznam (cons, list, build-list, ...).
selektory	-procedury, umožňující přístup k prvkům páru nebo seznamu (ca*r, cd*r, lis-ref, ...).
kvotování	-proces, který vrátí zadaný argument v nevyhodnoceném tvaru.

seznam	-prázdný seznam ( () ), nebo pár, kde jeho druhým prvkem je seznam.
spojování seznamů	-znamená, že prázdný seznam v cdr posledního páru prvního seznamu nahradí seznamem druhým.
mapování	-aplikace procedury na každý prvek seznamu.
správa paměti	-způsob manipulace s daty uloženými v paměti
mark & sweep	-metoda pro 'čištění' paměti. ejdříe jsou nalezena data, na která jsou vazby a ty spolu s daty, na které ony ukazují jsou označena. Neoznačená data jou smazána.

staticky typované jazyky	-datový typ je dán syntaxí; při nedodržení, končí chybou
dynamicky typované jazyky	-datový typ je nezávislý na syntaxi
slabě tyované jazyky	-provádí automatické přetypování, je-li to nutné
silně typované jazyky	-každá procedura má přesně definované datové typy, se kterými pracuje; při nedodržení, končí chybou
bezpečně typované jazyky	-je-li operace proveditelná pro daný typ programu, pak to nezpůsobí pád programu
nebezpečně typované jazyky	-jinak.

akumulace	-způsob aplikace procedury na seznam. Aplikují se postupně vždy prvek seznamu a výsledek předchozího vyodnocení (terminátor). 
filtrace	-proces, který ze seznamu odebere prvky, splňující nějakou vlastnost (odpovídající predikátu).

rekurze	-volání seme sama.
indukce	-metoda dokazování tvrzení na množině |N vycházející z rekurze.
lineární rekurze	-rekurze, když funkce volá sama sebou pouze jednou.
koncová pozice	-pozice výrazu v proceduře, ze které když se aplikuje procedura, není nutné si pamatovat aktuální vazby, neboť po dokončení této procedury budou ihned zapomenuty. 
koncová rekurze	-rekurze volaná z koncové pozice.
stromová rekurze	-rekurze, která volá sebe sama víckrát za sebou v jedné své aplikaci (používá se pro procházení stromů).
iterace	-(čítání) proces, při kterém je počet aplikací rekurzivní procedury počítán čítačem, iterován.
akumulace	-(střádání) proces, při kterém se do akumulátoru se psotupně ukládá 'mezivýsledek' aplikace jednotlivých rekurzivních procedur.
lineární rekurzivní proces	-rekurzivní proces, který obsahuje fáze navíjení a odvíjení.
lineární iterativní proces	-rekurzivní proces, který využívá iteraci.
hloubková rekurze na seznamech	-rekurzivní zpracování seznamů tak, že je-li prvkem seznamu seznam, je na něj rekurzivně aplikována tato procedura.
y-kombinátor	-způsob vytváření konstantních rekurzivních procedur za použití faktu, že aplikovanou proceduru použijeme jako argument této funkce.
zastavení rekurze	-rekurzi je nutno ve vhodný okamžik zastavit, jinak dojde k zackylení nekonečným cyklem a po čase přetečení zásobníku. Zastavuje se speciálními formami if, cond, and a or.

strom	-je neprázdný seznam, jehož prvky jsou seznamy.

kvazokvotování	-způsob práce se seznamy, kdy je vrácen bez vyhodnocení, avšak použitím unquote a unquote-splicing je možné jeho některé části vyhodnotit.

generická procedura	-procedura, jejíž chod závisí na datových typech argumentů 
koerce	-přetypování

Přidání pojmu

Nejdřív se podívejte, jestli už není v seznamu přidaných níže. Bylo by vhodné za pojem přidat i číslo stránky, nebo označení kapitoly ve skriptech, kde se o něm něco píše, nebo ti aktivnější jednou, dvěma větami, přímo popis pojmu.

Procedura:

Přidané pojmy, hesla a cizí slova:

program - předpis pro provádění výpočetního procesu; nejčastěji soubor na disku [added my me, m@rtlin 23. 1. 2013]
predikát - procedura výsledkem jejíž aplikace jsou pravdivostní hodnoty
(lambda (x) (* x x))
(lambda (x) (* x x)10)
hovno
build-list
Tface
Tface
or
konstantní procedura (oprava) - procedura, která ignoruje svoje argumenty a vrací vždy konstantní hodnotu
Monoidální operace - str 56
Monoidální operace - str 61 *
and
foldr
lexikální 
A
prdel
Ahoj
prdel
prdel
prdel
prdel
prdel
prdel
xx
xx
xx
xx
xx
xx
xx

Zpět