https://github.com/topics/graph-rewriting
prolog — язык для rewriting графов, строк, и прочего
ой не напоминай про пролог))
Чем плох пролог?
интересный но не применяемый на практике, операции которые в обычных языках тривиальны в прологе превращаются в жуткий вырвиглаз, скудность синтаксиса и однообразность интерпретации - там только смотрится как неоптимизированое дерево решений, правильно? делает его менее и трудно юсабельным для обшего скопа проблем в програмировании, поэтому его и не используют. Раньше были попытки его использовать для задачи алгоритмического ИИ но сейчас и для этого намного удобнее обычный императивный язык
+, у меня был курс логического программирования в универе с прологом. Элементарные задачи на нем решаются с большими усилиями - на зачете были задачи что-то вроде «отсортировать и отфильтровать список», а вовсе не «найди доказательство теоремы Ферма». А сам язык это суть фреймворк, который находит решения полным перебором, если не знать, где ставить отсечения, плюс очень нетривиальная теоретическая база. Все языки давным-давно достаточно выразительны, чтобы писать там «как в прологе», но не наоборот.
я тоже познакомился с ним в универе. Язык старый, предназначеный для ввода фактов для ИИ вроде так, но на последующих языках так тоже можно а вот наоборот да)) Специально давали головоломки сделать что то хитрое со списком, на императивном языке тривиальные инструкции а в прологе пишешь целую головоломку ))
А у меня без курса логического программирования были интересные задачи, например перевести на пролог правила контроля доступа в определённой модели, и проверить, разрешён ли какой-то конкретный доступ. Или простенькую экспертную систему реализовать
ого это бОльшие по масштабу задачи чем были у нас, но у нас только один модуль куда скинули пролог, лисп и хаскель. Писать большие задачи на прологе ещё то сомнительное удовольствие...
У меня по прологу был целый семестр
Обсуждают сегодня