Лингвофорум

Лингвоблоги => Личные блоги => Блоги => Алексей Гринь => Тема начата: Алексей Гринь от марта 4, 2012, 19:33

Название: Обновлённый лиспоид
Отправлено: Алексей Гринь от марта 4, 2012, 19:33
Парсер лиспового синтаксиса можно написать за пять минут и это здорово, но самое негодное это количество скобок, особенно они сносят крышу, когда их много на конце строки. Без поллитра не разберёшь.
Не знаю, было ли такое решение, но я как-то придумал такой вариант: верхние уровни не оформляются скобками, но группируются через точку с запятой, то есть A; B равносильно (A) (B), плюс группируем скобки по-сишному:

    int sum (int a; int b) (
        return (+ a b);
    )

Парам-пам-пам.
Название: Обновлённый лиспоид
Отправлено: Alone Coder от марта 4, 2012, 19:35
Лисп уже не модно. Теперь модно Оберон!
Название: Обновлённый лиспоид
Отправлено: Python от марта 5, 2012, 23:29
Зачем нужен Оберон, если есть Delphi/FPC?
Название: Обновлённый лиспоид
Отправлено: Python от марта 5, 2012, 23:33
Цитата: Алексей Гринь от марта  4, 2012, 19:33
    int sum (int a; int b) (
        return (+ a b);
    )
Эту же программу можно записать как
    (int sum ((int a)(int b)) (
        (return (+ a b))
    ))
или между «;» и «()» нет взаимозаменяемости?
Название: Обновлённый лиспоид
Отправлено: Алексей Гринь от марта 6, 2012, 00:20
Цитата: Python от марта  5, 2012, 23:33
Эту же программу можно записать как
Да. Технически код это такое же одно большое дерево S-выражений; точка с запятой это просто визуально удобный вариант.
Название: Обновлённый лиспоид
Отправлено: Demetrius от марта 6, 2012, 04:03
Цитата: Alone Coder от марта  4, 2012, 19:35
Лисп уже не модно. Теперь модно Оберон!
Теперь — это когда?