Mercury (programovací jazyk)

Z Wikipedie, otevřené encyklopedie

Mercury je programovací jazyk, podporující logické a funkcionální programování.

Popis jazyka[editovat | editovat zdroj]

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í. Mohou 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[editovat | editovat zdroj]

Hello world[editovat | editovat zdroj]

:- module hello.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.

:- implementation.
main(!IO) :-
	io.write_string("Hello, World!\n", !IO).