Да.
Первая версия Erlang не была написана на Прологе, она была написана на одном из языков логического программирования с обязательным выбором. Эти языки отбросили откат Пролога, отсюда и название «совершенный выбор», означающее, что после того, как выбор был сделан, было невозможно откатить и попробовать другой. Это было сделано для того, чтобы упростить параллельное выполнение логического программирования. Другой способ взглянуть на это состоит в том, что параллельные процессы будут применять ограничения к переменным, но, будучи логическими переменными и, следовательно, не могут быть переназначены, это будут последовательные ограничения, а не изменения значения. Ограничение может назначить частичное значение переменной, содержащей другую переменную, которая будет назначена позже. Это базовая модель Эрланга. Программирование логики ограничений обычно использовалось для версий, где ограничения также могут включать математические утверждения о возможных диапазонах переменных с предполагаемыми числовыми значениями.
Синтаксис Erlang показывает его наследие логического программирования, но важно понимать, что он подхватил это благодаря языкам программирования с совершенным выбором, которые взяли его из Prolog, а не напрямую из Prolog. Хотя в 1980-х годах было разработано несколько языков логического программирования с преданным выбором, они не смогли вырваться из тени Пролога и были подорваны своей связью с провальной инициативой пятого поколения Японии, а также конкурирующими командами разработчиков, которые ссорились незначительные различия, поэтому стандарт не был установлен.
Разработчики Erlang представили синтаксический сахар, который придал коду более функциональный вид, и приняли маркетинговое решение продвигать его как функциональный, а не логический язык программирования, что позволило ему не быть уволенным после увольнения после пятого поколения логического программирования.