Web Analytics Made Easy - Statcounter

[HOME PAGE] [STORES] [CLASSICISTRANIERI.COM] [FOTO] [YOUTUBE CHANNEL]

Mercury - Viquip??dia

Mercury

De Viquip??dia

Per a altres significats, vegeu ??Mercury (desambiguaci??)??.

Mercury ??s un llenguatge de programaci?? l??gic-funcional dirigit a aplicacions del m??n real. Est?? desenvolupat a la Universitat de Melbourne sota la supervisi?? de Zoltan Somogyi. La primera versi?? va ??sser desenvolupada per Fergus Henderson, Thomas Conway i Zoltan Somogyi i va ser editada l'Abril de 1995.

Mercury t?? diverses caracter??stiques adre??ades a una millor enginyeria de software. ??s compilat i no interpretat. Presenta un sofisticat i estricte sistema de tipus i modes. Els seus autors proclamen que aquestes caracter??stiques, combinades amb la natura abstracta de la programaci?? l??gica i la divisi?? en m??duls, faciliten l'escriptura r??pida de programes fiables.

Mercury ??s m??s pur i m??s declaratiu que Prolog, doncs no t?? les instruccions extra-l??giques de Prolog tal com "cut" (que evita el "backtracking") i la entrada/sortida imperativa. Aix?? permet una millor optimitzaci?? dels programes per?? fa que la codificaci?? d'algorismes seq??encials sigui m??s complicada. Degut a les optimitzacions, els programes escrits en Mercury s??n significativament m??s r??pids que els equivalents escrits en Prolog.

Mercury est?? disponible per a la majoria de plataformes Unix, Mac OS X, i MS-Windows.

Programes notables escrits en Mercury inclouen el compilador Mercury, la base de dades deductiva Aditi i el programa de formateig Prince XML.

[edita] Rera-fons

Mercury t?? diversos rera-fons (ang.:back-ends), que permeten compilar codi Mercury en els seg??ents llenguatges:

  • Llenguatge C de baix nivell per a GNU Compiler Collection (GCC) (el rera-fons original de Mercury)
  • Llenguatge C d'alt nivell
  • Common Intermediate Language (IL) per a .NET (CLR)
  • Java bytecode per a JVM.
  • Assembler via el rera-fons GCC.

(els tres darrers encara de qualitat incompleta)

Mercury tamb?? s'ha emprat en Aditi, una base de dades deductiva desenvolupada a la Universitat de Melbourne.

Mercury t?? una interfase de llenguatges forans, que permet enlla??ar amb codi escrit en altres llenguatges de programaci??. S??n els seg??ents:

Rera-fons Llenguatge(s) forans
C (both levels) C
IL IL, C# or Managed C++
Java Java

Per a d'altres llenguatges cal encadenar-los des dels mencionats. Tantmateix aix?? vol dir que el codi for?? pot caldre reescriure'l per als diferents rera-fons, altrament la portabilitat entre rera-fons es perdria.

[edita] Example: Hola m??n

Hola m??n en Mercury:

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

 :- implementation.
 main(!IO) :-
        io.write_string("Hola, M??n!\n", !IO).

(adaptat del tutorial de Ralph Becket Tutorial de Mercury) (angl??s).

[edita] Enlla??os externs


Llenguatges de programaci??
Ada | ALGOL | Assemblador | Awk | Basic| BCPL | C | C++ | C# | Cobol | D | Delphi | Eiffel | Forth | Fortran | Haskell | Java | Lisp | Logo | MAGIC | Mercury | Miranda | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | Prolog | Python | Rexx | Ruby | Scala | Smalltalk | Altres llenguatges...