Про языки программирования.

Oct 11, 2007 18:53

Рефал-суперкомпиляция.

Это язык программирования Рефал и некоторая идея под названием суперкомпиляция. Последняя была выше моего понимания и таковой и остается.

Вот здесь пытались ее коммерчески проэксплуатировать.

От работающего у нас Аркадия Климова сегодня узнал, что этот суперкомпилятор был написан на Moscow ML ( Read more... )

суперкомпилятор, динамическая типизация, Рефал, статическая типизация, ml

Leave a comment

Comments 207

swizard October 11 2007, 15:11:29 UTC
Динамическая типизация удобней -- не надо убивать половину своего времени на описание деклараций :)

Reply

mibori October 11 2007, 15:25:37 UTC
всё
Сейчас начнется священная война, по поводу что лучше: динамическая али статическая типизация :)

Reply

swizard October 11 2007, 15:44:38 UTC
Это провокация =)

Reply

deni_ok October 11 2007, 15:47:51 UTC
Провокацией было чьё-то утверждение, что "Динамическая типизация удобней" ;)

А теперь остаётся запастись попкорном :)

Reply


sizeof October 11 2007, 19:40:00 UTC
Климов - Аркадий Андреевич?

Reply

thesz October 11 2007, 19:49:34 UTC
Аркадий. Отчества не знаю.

Reply

sizeof October 11 2007, 19:56:23 UTC
Просто, кажется, знаком с его отцом, как раз на почве суперкомпиляции.)
У меня был (ну и сейчас есть, конечно) народ, достаточно серьезно, для своего возраста, занимавшийся компиляторами.

Reply

thesz October 11 2007, 20:02:44 UTC
Let my people go!

Народ - это сильно. ;)

Что за компиляторы?

Reply


Суперкомпиляция nponeccop October 11 2007, 22:29:41 UTC
С суперкомпиляцией всё ясно - выполняют сначала оптимизации на уровне source code, а затем скармливают код обычному компилятору. Че тут неясного?

Reply

Re: Суперкомпиляция thesz October 11 2007, 22:31:27 UTC
выполняют сначала оптимизации на уровне source code

А как?

Reply

Re: Суперкомпиляция nponeccop October 11 2007, 22:57:17 UTC
Я свечки не держал и конечно не знаю как именно сделали supercompiler.com, но в принципе как делать - понятно.

Очень приближенно - входной язык парсят в AST (abstract syntax tree), оптимизируют AST, и преобразуют AST обратно в текстовую форму.

В реальности наверное AST компилируют в промежуточные языки не очень низкого уровня и оптимизируют представление программы в этих промежуточных языках, а затем последний промежуточный язык в цепочке компилируют обратно в AST.

Что именно Вам непонятно?

Reply

Re: Суперкомпиляция nealar October 12 2007, 06:33:07 UTC
Вроде бы, Рефал делал не оптимизацию, а логическое программирование: http://www.refal.net/~korlukov/scpj/fish/

Reply


levgem October 12 2007, 06:02:27 UTC
слушай, мне кажется, что споры насчёт динамической и статической типизации выглядят приблизительно как спор альпиниста с каякером насчёт того: надо ли пристраховываться к верёвке или нет. Кому-то надо, кому-то это смерти подобно ( ... )

Reply

thesz October 12 2007, 09:33:43 UTC
Ну дальше сам понимаешь. Люди, занимающиеся первыми задачами очень часто недолюбливают всякие там руби/питоны за их скорость и ненужную гибкость для достаточно стройных задач и наоборот.

Не понимаю.

В первом случае статическая типизация как бы и не нужна особо, хотя пригождается.

Во втором она просто необходима, а иначе как поддерживать это спагетти?

Reply

levgem October 12 2007, 09:51:25 UTC
Как раз в первом случае она пригодна в силу того, что код проще структурировать. Ты как раз с таким и работаешь.

Во втором случае статическая типизация смерти подобна. Разница налицо во всяких ява/C#-фреймворках и Rails.

Reply

thesz October 12 2007, 10:10:39 UTC
Статическая типизация бывает разной.

Ты код на Хаскеле или Камле давно смотрел?

Попробуй повыводить типы для каждой отдельной функции, даже для тех, что находятся в let/where, выполняя подъем лямбд (lambda lifting) для не определенных внутри функций.

По моим подсчетам, 60-80% кода полиморфно.

Reply


"Малый позитивный суперкомпилятор на языке Scala" saromanenko March 14 2008, 19:06:07 UTC
Можно ещё сюда посмотреть

A Small Positive Supercompiler in Scala
http://code.google.com/p/spsc/

Reply

Re: "Малый позитивный суперкомпилятор на языке Scala" thesz March 14 2008, 20:57:10 UTC
Забавная штука.

Жаль, что я Скалу практически не понимаю. ;)

Reply


Leave a comment

Up