Это не вопрос домашнего задания, а вопрос руководства по подготовке к экзамену. В чем разница между сопоставлением с образцом в Prolog и Haskell?
Я провел некоторые исследования, и чтение теорий, лежащих в их основе, на самом деле не дает мне четкого понимания между ними. Я читал, что в Прологе сопоставление с образцом отличается, потому что он имеет возможность унифицировать переменные и, таким образом, иметь возможность делать выводы через разрешение и выдавать возможный ответ.
eg ?- [a,b] = [a,X]
X = b
Теперь я не уверен, как отобразить сопоставление с образцом в Haskell.Я знаю, что тот же запрос, показанный выше в Прологе, не будет работать в Хаскеле, потому что Хаскель не может унифицировать, как Пролог. Я где-то помню, чтобы получить тот же ответ в Haskell, вы должны явно указать его через охранников.
Я знаю, что я довольно близок к пониманию этого, но мне нужен кто-то, кто разберет это для меня в стиле Барни, чтобы я мог ПОЛНОСТЬЮ понять это и объяснить 12-летнему ребенку. Это беспокоило меня в течение довольно долгого времени, и я не могу найти внятного объяснения.
Кстати, пример, показанный выше, был просто для того, чтобы показать вам, ребята, что я уже узнал и что я на самом деле пытаюсь найти ответ. Мой главный вопрос не относится к приведенным выше примерам, а скорее к полному пониманию разницы между ними.