>Программа, как данные и наоборот - это просто использование готового интерпретатора. Невелика проблема.
Не велика, если есть готовый интерпретатор/компилятор в самом языке, и синтаксис языка позволяет легко делать преобразование кода, синтаксис лиспа позволяет :) На самом деле понятно что на любом языке можно воплотить любую концепцию вопрос в том насколько это делается легко и в том на какие концепции обращают внимание во время обучения языку.
>Вычисления в схеме действительно лениые, вычислятся один раз, не более?
Насколько я помню ленивость в scheme задается явно с помощью delay, а вычисление вызывается так же явно с помощью force т.е. будет ли то же самое выражение вычислено еще один раз при повторном вызове force наверное зависит от реализации.
>Вы не сможете писать на лиспе, как на хаскеле или си. Не преувеличивайте. Как на С легко (может только с указателями что нибудь придумывать придется и то факт) С хаскелем это да я передернул, для того что бы писать как на хаскеле потребуется серьезная доработка напильником как минимум вывод типов нужно будет делать. Но писать в функциональном стиле можно без особого труда.
>Наличие нескольких парадигм создает трудности взаимодействия между ними.
В чем сложность взаимодействия? На мой взгляд это хорошо когда язык не навязывает своей парадигмы и выбор остается за тем кто пишет.
Не велика, если есть готовый интерпретатор/компилятор в самом языке, и синтаксис языка позволяет легко делать преобразование кода, синтаксис лиспа позволяет :)
На самом деле понятно что на любом языке можно воплотить любую концепцию вопрос в том насколько это делается легко и в том на какие концепции обращают внимание во время обучения языку.
>Вычисления в схеме действительно лениые, вычислятся один раз, не более?
Насколько я помню ленивость в scheme задается явно с помощью delay, а вычисление вызывается так же явно с помощью force т.е. будет ли то же самое выражение вычислено еще один раз при повторном вызове force наверное зависит от реализации.
>Вы не сможете писать на лиспе, как на хаскеле или си. Не преувеличивайте.
Как на С легко (может только с указателями что нибудь придумывать придется и то факт)
С хаскелем это да я передернул, для того что бы писать как на хаскеле потребуется серьезная доработка напильником как минимум вывод типов нужно будет делать. Но писать в функциональном стиле можно без особого труда.
>Наличие нескольких парадигм создает трудности взаимодействия между ними.
В чем сложность взаимодействия? На мой взгляд это хорошо когда язык не навязывает своей парадигмы и выбор остается за тем кто пишет.
Reply
Leave a comment