MERCURY

Dmitri Kostandi

MERCURY (üldine)

loodud Melbourni ülikoolis 1993 aastal

loogiline programmeerimiskeel

täielikult deklaratiivne (purely declarative)

tugevasti tüpiseeritud (strongly typed)

tugevasti resiimitud (strongly moded)

mooduli-põhine

väga efektiivne

MERCURY (süntaks)

Mercury programm

moodul (module)

üksus (item) {deklareerimine | klausel}

term (term)

märk (token)

sümbol (character)

MERCURY (tüübid)

primitiivsed: char, int, float, string

predikaatide tüübid: :- pred pr1(string).

funktsioonid tüübid: :- func length(list(T)) = int.

korteezide tüübid: :- type {Arg1, Arg2, ..., ArgN} ---> { {Arg1, Arg2, ..., ArgN} }.

universaalsed

maailma seisundite tüübid: io__state

kasutaja poolt defineeritud: :- type fruit ---> apple; orange; banana; pear.

MERCURY (hello, world!)

:- module hello_world.

:- interface.

:- import_module io.

:- pred main(io__state, io__state).

:- mode main(di, uo) is det.

:- implementation.

main -->

io__write_string("Hello, World!\n").

MERCURY (faktoriaal)

:- module factorial.

:- interface.

:- pred factorial(int, int).

:- mode factorial(in, out) is det.

:- implementation.

:- import_module int.

factorial(N, F) :-

( if N =< 0 then

F = 1

else

factorial(N - 1, F0),

F = N * F0

).

?

2004-05-25T21:45:40