Ušetřete

Hlavní navigace

Seriál Mercury

Existují programovací jazyky, kde platí: co je kompilovatelné, to nemůže havarovat. Debugger jsem nepoužil už dva roky. Takový zázrak můžete prožít, jen pokud vaše programátorské kroky prověří pečlivý instalatér. Žádná roura ve vašem programu nesmí vycházet odnikud (tj. SEGFAULT) a žádná nesmí téct (tj. memory leak). Jazyk Mercury, který se vám v krátké sérii článků pokusím představit, má i další přednosti.

reklama

Mercury: Typové třídy

Závěrečný díl krátkého představení jazyka Mercury přináší úvodní vysvětlení k typovým třídám. Typové třídy poslouží při definici a implementaci datové struktury nad čímkoli, co však splňuje určité předpoklady.

Mercury: Složitější abstrakce nad algoritmy

Minulý díl seriálu představil velmi jednoduché typy abstrakce nad algoritmy. Konkrétně jsme představili pouze abstrakci for-cyklu dvou typů. Dnes si ukážeme, jak je možné a pohodlné provádět i abstrakce složitější.

Mercury: Abstrakce nad algoritmy

Minulý díl opěvující typovou čistotu Mercury nevyvolal vůbec žádnou diskusi. Asi se tak stalo proto, že typový systém Mercury nemá chybu. Stejný němý úžas bych tedy uvítal i dnes, kdy si povíme něco o programování vyššího řádu a o funkcionálním programování (předávání funkcí jako parametr, vyrábění funkcí na počkání). Mj. dnes uvidíte, jak udělat for cyklus bez for cyklu, a dozvíte se, že dokonce Perl má z funkcionálního programování také kousek.

Mercury: Typová čistota

Druhý díl stručného úvodu do jazyka Mercury představí systém modulů a typový polymorfismus. Typový polymorfismus prakticky vzato dělá totéž, o co se pokoušejí šablony v C++ nebo obecné typy (generic types), žhavý to výkřik Javy. Na rozdíl od objektově orientovaných programovacích jazyků není typový systém Mercury komplikován objekty a podstata abstraktních typů zřetelněji vynikne. Chcete-li zvládnout javovské generické typy, možná vám pomůže i tento článek z jiného světa.

Mercury: Programování s pomocí instalatéra

Existují programovací jazyky, kde platí: co je kompilovatelné, to nemůže havarovat. Debugger jsem nepoužil už dva roky. Takový zázrak můžete prožít, jen pokud vaše programátorské kroky prověří pečlivý instalatér. Žádná roura ve vašem programu nesmí vycházet odnikud (tj. SEGFAULT) a žádná nesmí téct (tj. memory leak). Jazyk Mercury, který se vám v krátké sérii článků pokusím představit, má i další přednosti.