Mercury (programovací jazyk)

programovací jazyk

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

Popis jazyka editovat

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

Hello world editovat

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

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