Standard ML: Porovnání verzí
Smazaný obsah Přidaný obsah
m wikifikace značka: editace z Vizuálního editoru |
m Robot: přidáno {{Autoritní data}}; kosmetické úpravy |
||
Řádek 1:
'''Standard ML''' ('''SML''') je staticky orientovaný typově bezpečný univerzální [[programovací jazyk]], který ztělesňuje mnoho nápadů v oblasti návrhů a implementace programovacích jazyků. Podporuje polymorfní inference typů a automaticky zajišťuje efektivní správu paměti. Podporuje funkcionální programování, ale zároveň umožňuje [[imperativní programování]]. Usnadňuje programování s [[Rekurze (programování)|rekurzí]] a symbolických [[Datová struktura|datových struktur]] skrze podporu šablon (angl. „[[pattern matching]]“). Tento jazyk je vybaven rozšiřitelným mechanismem pro manipulaci [[Výjimka (programování)|výjimek]] a poskytuje flexibilní modulovací prostředky pro strukturování velkých programů. Většina implementací nabízí rozsáhlé [[Knihovna (programování)|knihovny]] a užitečné vývojové nástroje. Téměř všechny kompilátory generují nativní [[strojový kód]], a to i při interaktivním režimu [[Interpret (software)|interpreta]]. Jazyk je populární mezi informatiky, kteří kompilátory navrhují a nebo implementují.
SML je moderní potomek programovacího jazyka ML, který byl poprvé navržen k práci na projektu „[[Logic for Computable Functions]] (LCF)“ k dokazování teorémů. Zkratka "ML" je odvozená z anglického „[[Meta Language]]“, což přeloženo do češtiny znamená „meta jazyk“ a je výrazem z oblasti jazykové logiky. V němž jsou analyzovány i jiné jazyky (formální nebo neformální). V roce 1983, Milner<ref>Robin Milner. How ML evolved. Polymorphism: The ML/LCF/Hope Newsletter, 1(1), 1983.</ref><ref>Robin Milner. Changes to the Standard ML core language. Technical Report ECS-LFCS-87-33, Laboratory for Foundations of Computer Science, Edinburgh University, 1987</ref> napsal první návrh standardizované formy ML a během následujících tří let se vyvinul jazyk Standard ML.
=== Ukázky kódu ===
Standardní ML je standardizovaný [[Funkcionální programování|funkcionální programovací jazyk]] s některými „nečistými“ rysy (angl. „impure features“), které umožňuji vedlejší účinky (angl. „side effects“). Jako všechny funkcionální jazyky, klíčovým a základním prvkem Standard ML je [[Funkce (programování)|funkce]]. Zde je příklad [[
fun factorial n =
Řádek 25:
Tři klíčová slova:
* „val“ zavádí vazbu (binding),
* „fn“ zavádí definici anonymní funkce,
* „case“ představuje sekvenci vzorů a odpovídajících výrazů. Použitím [[lokální funkce]], výše uvedenou funkci můžeme přepsat na účinnější styl rekurze, tzv. „tail recursion“:
Řádek 161:
== Reference ==
<references />
{{Autoritní data}}
[[Kategorie:Programovací jazyky]]
|