Описание тега mercury
Mercury - это чисто декларативный логический / функциональный язык. Он имеет сильную, статическую, полиморфную систему типов, а также системы сильных мод и детерминизма. Система типов аналогична системе типов Haskell, а синтаксис является производным от Prolog.
1
ответ
Меркурий: этот предикат работает, если объявлен на верхнем уровне, но не как лямбда
(Выдержка ниже взята из этого набора тестов, который является половиной двухфайловой программы, найденной здесь.) Я определил вспомогательный предикат двумя способами: один раз на верхнем уровне (называется helper) и однажды как лямбда (называется H…
29 дек '18 в 18:44
2
ответа
Самый полезный и поучительный функционально-логический язык для изучения
Я был очень удивлен силой Пролога. Потребовалось некоторое время, чтобы разобраться, но мне показалось, что это был самый крутой декларативный язык. Вот почему недавно, после двух лет некоторого функционального программирования в Scala, я решил снов…
16 июл '13 в 11:18
1
ответ
Конвертировать список в список кортежей в Mercury
Я всего лишь новичок в ртути, и мне трудно решить эту проблему. Я хочу преобразовать список в список наборов, отсортированных от меньших к более высоким частотам. Например: string.to_char_list("this is a test") becomes [{'a', 1}, {'e', 1}, {'h', 1},…
17 дек '10 в 02:41
1
ответ
Создание детерминированных конечных автоматов (ДФА) - Меркурий
Я хотел бы иметь детерминированные конечные автоматы (DFA), смоделированные в Меркурии. Но я в нескольких местах. Формально DFA описывается со следующими характеристиками: a setOfStates S, inputAlphabet E <- символ суммирования, Функция перехода: S …
15 дек '12 в 21:18
1
ответ
Меркурий установка
Я уже скачал Mercury 11.07.1 с http://www.mercury.csse.unimelb.edu.au/download/release.html а также установил Cygwin на моем ПК с Windows 7. Однако я не знаю, как установить ртуть. Кто-нибудь может мне помочь с руководством по установке?
09 май '12 в 06:06
3
ответа
Неограниченная декларация имени переменной в ртути
Я хотел бы объявить тип данных в Mercury, который может иметь переменное число значений и имен. Например: type goal ---> pick; give; come. имеет три переменные / значения. Я хочу что-то вроде: type myplayer ---> de value declaration here. что …
16 дек '11 в 05:29
1
ответ
Как семантика владения Rust связана с уникальной типизацией, как в "Чистом и ртутном"?
Я заметил, что в Rust перемещение применяется к lvalues, и статически обеспечивается, что перемещенные объекты не используются. Как эти семантики связаны с уникальной типизацией, как в "Чистом и ртутном"? Это одна и та же концепция? Если нет, чем он…
10 окт '14 в 22:43
2
ответа
Ошибка компиляции ртути с Mac OS X 10.8
У меня проблема с компиляцией Mercury на моем Mac. Я использую Mac OS X 10.8, установил Xcode 4.5, а также инструменты командной строки. Что я сделал до сих пор: Я скачал файл tar.gz, распаковал его, запустил ./configure в этой папке, а затем исполь…
13 дек '12 в 15:53
1
ответ
Какую пользу приносят типы в языках логического программирования, таких как Mercury?
Я начал смотреть на язык Меркурия, который кажется очень интересным. Я новичок в логическом программировании, но довольно опытный в функциональном программировании в Scala и Haskell. Я задумался над тем, зачем вам нужны типы в логическом программиро…
11 апр '14 в 10:51
2
ответа
Как объявить пред для предиката, который импортирует или выводит списки?
Нужна помощь в объявлении pred для предиката, который импортирует или выводит списки. Я пытался: - имя пред (list:: in, integer::out) является multi. и сообщение об ошибке компилятора говорит, что list/0 не распознан. Проверил список модулей библиот…
26 ноя '14 в 18:00
1
ответ
Windows ошибки MMC для Microsoft Management Console, когда это должен быть Мельбурнский Mercury Compiler
Я предпринял следующие шаги: download windows binary Mercury 14.01 (Visual Studio 2013 32bit) (this is near the bottom of http://dl.mercurylang.org/index.html) double click the downloaded file (it's a .exe file), it installed into 'C:\mercury-14.01-…
20 сен '18 в 01:39
1
ответ
Как мне скомпилировать для отладки на языке программирования Mercury?
Использование Mercury 14.01.1 в Ubuntu 14.04. Установили четыре оценки, включая оценки отладки, из исходного кода. Пробовал каждое из следующих безуспешно (файлы / каталоги отсутствуют) $ mmc - имя файла отладки $ mmc --decl-debug filename В. Что я …
13 ноя '14 в 19:27
3
ответа
Как проверить, создана ли переменная в Меркурии
Я полный новичок в языке Mercury, хотя я изучал пролог раньше. Одним из новых аспектов Меркурия является дереминизм. main функция должна быть детерминированной. Чтобы сделать это, я должен проверить, является ли переменная объединенной / связанной с…
15 окт '16 в 21:41
3
ответа
Поддерживает ли какая-либо версия Prolog абстракцию аккумуляторов более высокого порядка?
Мне было интересно о Прологе, который может включать встроенный вызов, как это: accum(generator, filter, accumulator) Calculates all solutions to generator. For each one, if filter can be proved, accumulator is proved. Backtracks to find all solutio…
17 окт '13 в 12:40
3
ответа
":=" и "=>" в Меркурии
Недавно я наткнулся на этот пример кода в Mercury: append(X,Y,Z) :- X == [], Z := Y. append(X,Y,Z) :- X => [H | T], append(T,Y,NT), Z <= [H | NT]. Будучи программистом на Прологе, я удивляюсь: в чем разница между нормальным объединением? =и :=…
03 авг '11 в 16:43
1
ответ
Полиморфные экземпляры для классов типов в языке Mercury
Рассмотрим следующую декларацию: :- type wrap(T) ---> wrap(T). :- inst wrap(I) ---> wrap(I). :- typeclass infer_wrap(A, B) <= ((A -> B)). :- instance infer_wrap(A, wrap(A)). Меркурий (10.04) производит: monad.m: 011: В объявлении экземпл…
10 авг '10 в 06:12
4
ответа
Что интереснее или мощнее: карри, ртуть или лямбда-пролог?
Я хотел бы спросить вас о том, какую формальную систему было бы более интересно реализовать с нуля / реверс-инженера. Я просмотрел некоторые существующие и открытые проекты систем логического / декларативного программирования. Я решил придумать что-…
01 июн '10 в 16:11
1
ответ
Что такое хороший тип данных для представления произвольных двоичных данных?
Я хочу прочитать двоичные данные с диска и сохранить их в переменной Mercury. Согласно библиотеке строк, строки не допускают встроенные нулевые байты и хранят контент с кодировкой UTF-8, поэтому я не думаю, что это сработает. Лучшее, что я нашел на …
10 май '12 в 23:49
3
ответа
Меркурий: Как объявить детерминизм типа данных более высокого порядка?
Когда я компилирую код Mercury ниже, я получаю эту ошибку от компилятора: In clause for `main(di, uo)': in argument 1 of call to predicate `test_with_anonymous_functions.assert_equals'/5: mode error: variable `V_15' has instantiatedness `/* unique *…
11 сен '11 в 18:46
0
ответов
В Windows, как скомпилировать и запустить программу Mercury
Мне удалось загрузить и распаковать ртутный файл с http://dl.mercurylang.org/index.html. Однако я не мог понять, как скомпилировать и запустить одну из программ. Я погуглил, чтобы найти команду '$ mmc calculator.m' для запуска файла ртути, но я полу…
16 июл '17 в 19:25