Linguagem mercury
Linguagens de programação lógica tem sido em torno de mais de 20 anos. Apesar das vantagens esperadas de uma linguagem de nível elevado de programação baseada em teorias bem desenvolvidas de lógica sobre linguagens de programação convencionais (como C, C + +, Pascal e Ada) não tiveram impacto significativo sobre a indústria de computadores.
O mercúrio é uma nova lógica / linguagem de programação funcional, que combina a clareza e a expressividade da programação declarativa com a análise estática e recursos avançados de detecção de erros. Seu algoritmo de execução altamente otimizado oferece uma eficiência muito superior a sistemas de programação existentes lógica, e perto de programação de sistemas convencionais. Mercury aborda os problemas de desenvolvimento em larga escala do programa, permitindo a compilação modularidade, separado, e numerosos otimização / hora trade-offs.
As principais características de Mercúrio são: * Mercury é puramente declarativa: predicados e funções em Mercúrio não têm efeitos colaterais não-lógicos.
Mercury faz I / O através de predicados built-in e uma biblioteca que levam um antigo estado do mundo e alguns outros parâmetros, e retornar um novo estado do mundo e possivelmente alguns outros resultados. A linguagem exige que o argumento de entrada representa o antigo estado do mundo é a última referência para o antigo estado do mundo, permitindo assim que o estado do mundo a ser atualizado destrutiva. A linguagem também exige que os I / O ocorrer somente em algumas partes do programa onde backtracking não será necessário.
Mercury lida com estruturas de dados dinâmicas não através do Prolog assert / retrair, mas fornecendo vários tipos de dados abstratos na biblioteca Mercury padrão que gerenciar coleções de itens com diferentes operações e compensações. * O mercúrio é uma linguagem fortemente tipada. Sistema de Mercúrio tipo é baseada na lógica muitos classificados com polimorfismo paramétrico, muito