Mercury (programovací jazyk)
Vzhled
Mercury je programovací jazyk, podporující logické a funkcionální programování.
Popis jazyka
Mercury je deklarativní programovací jazyk. Funkce ani prediktáty nemohou mít žádné boční efekty. Operace, které obvykle mívají boční efekty, například výpis na obrazovku, přijímají jako parametr "stav světa" a vrací nový (ten starý zničí).
Prediktáty musí mít určené, jestli uspějí. Můžou být deterministické (det
)-vždy najde právě jedno řešení, semideterministické (semidet
)-vždy najde nejvýše jedno řešení, multi
-vždy najde alespoň jedno řešení a nedeterministické (nondet
)-není dáno, kolik najde řešení, a zda vůbec nějaké najde.
Příklady
Hello world
:- module hello.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
:- implementation.
main(!IO) :-
io.write_string("Hello, World!\n", !IO).