Size: a a a

Compiler Development

2020 February 03

KR

K R in Compiler Development
MaxGraey
Это не функциональное программирование, это скорее императивное + array programming
Mathematica?
источник

M

MaxGraey in Compiler Development
K R
Mathematica?
Да там есть, но это еще не делает ЯП чисто функциональным, лямбды много где есть. Хотя я с Mathematica мало знаком
источник

KR

K R in Compiler Development
MaxGraey
В маткаде нету лямбд насколько я знаю
Ну почти все элементы современного Функ прог
источник

PS

Peter Sovietov in Compiler Development
Mathematica это система переписывания термов с динамической типизацией.
источник

KR

K R in Compiler Development
Peter Sovietov
Mathematica это система переписывания термов с динамической типизацией.
Да, а Хаскель - со статической.
источник

PS

Peter Sovietov in Compiler Development
K R
Да, а Хаскель - со статической.
Только вот классическая система переписывания, в духе алгорифмов Маркова, вообще в лямбда-исчислении не нуждается. А как можно без лямбды? У всех ФП-шников стикеры с лямбдой, и в никах она преобладает... :)
источник

KR

K R in Compiler Development
Peter Sovietov
Только вот классическая система переписывания, в духе алгорифмов Маркова, вообще в лямбда-исчислении не нуждается. А как можно без лямбды? У всех ФП-шников стикеры с лямбдой, и в никах она преобладает... :)
Тогда у вас и R не фуекциональный- там нет символа лямбда

Только Питон и Хаскель
источник

PS

Peter Sovietov in Compiler Development
K R
Тогда у вас и R не фуекциональный- там нет символа лямбда

Только Питон и Хаскель
Я еще вижу кардинальное отличие в самом подходе к программированию. Интерактивное, исследовательское программирование это не совсем про современное ФП. А именно такой подход у той же Математики.
источник

KR

K R in Compiler Development
Peter Sovietov
Я еще вижу кардинальное отличие в самом подходе к программированию. Интерактивное, исследовательское программирование это не совсем про современное ФП. А именно такой подход у той же Математики.
Короче, есть Хаскель и императивщина?
источник

PS

Peter Sovietov in Compiler Development
K R
Короче, есть Хаскель и императивщина?
""Haskell is, in my view, the world’s best imperative programming language..." :)
источник

E

Eugene in Compiler Development
K R
Функциональное программирование мы используем чаще, чем фортран - это Wolfram Mathematica, Maple, mathcad
а ещё эксель ))
источник

PS

Peter Sovietov in Compiler Development
Есть масса различных декларативных вариантов языков (потоковые (да, тот же Excel), логические, синхронные, комбинаторные...). Как итог — предлагаю все скопом не относить к ФП.
источник

KR

K R in Compiler Development
Peter Sovietov
Есть масса различных декларативных вариантов языков (потоковые (да, тот же Excel), логические, синхронные, комбинаторные...). Как итог — предлагаю все скопом не относить к ФП.
Короче ФП == Data.Void.Void?
источник

KR

K R in Compiler Development
Толково!
источник

EM

Evgenii Moiseenko in Compiler Development
Peter Sovietov
Есть масса различных декларативных вариантов языков (потоковые (да, тот же Excel), логические, синхронные, комбинаторные...). Как итог — предлагаю все скопом не относить к ФП.
Ну вот кстати SMT ближе к constraint logic programming
источник

KR

K R in Compiler Development
Eugene
а ещё эксель ))
Видимо только Excel и выживет.
источник

PS

Peter Sovietov in Compiler Development
Evgenii Moiseenko
Ну вот кстати SMT ближе к constraint logic programming
Да, но может даже больше. Кстати, я недавно выяснил, что в последних версиях Z3 даже Datalog встроенный появился! :)
источник

EM

Evgenii Moiseenko in Compiler Development
Peter Sovietov
Да, но может даже больше. Кстати, я недавно выяснил, что в последних версиях Z3 даже Datalog встроенный появился! :)
Там кое-что по круче даже, алгоритм называется PDR
источник

EM

Evgenii Moiseenko in Compiler Development
А datalog как я понимаю сейчас уже только как baseline там для других алгоритмов
источник

PS

Peter Sovietov in Compiler Development
Evgenii Moiseenko
А datalog как я понимаю сейчас уже только как baseline там для других алгоритмов
Скорее, видимо, как DSL. А за Даталогом могут стоять разные решатели.
Вообще, я думаю, что в какой-то момент в Z3 перейдут на нотацию общего программирования в ограничениях. Вот, кстати, где раздолье для компиляторщиков!
Есть, допустим CP-программа. Ее нужно проанализировать (и преобразовать) на предмет того, какой решатель в конечном итоге выбрать: SAT, MILP, fixed point и так далее. Очень интересная и актуальная задача.
источник