Настроение: | calm |
Музыка: | Chromatics -- Candy |
Worse than random generated syntax
Пользователь
ketmar вновь поднимает важный вопрос. От себя добавлю ссылку на статью Subtleties of the ANSI/ISO C standard. Краткое содержание: ``there is no C program for which the standard can guarantee that it will not crash''. Типа, все что нужно знать о языке С.
Язык С -- не для людей, но есть области, в которых он хорош. Поэтому его можно использовать в качестве целевого языка, работая внутри другого языка. В Haskell, например, для этого можно использовать механизм QuasiQuotes. Очень удобно. Экспериментирую тут с музыкальными модульными синтами. Каждый модуль это небольшой кусочек С-кода, прописывается вручную. Есть комбинаторы для разных видов композиции модулей. Haskell-программа делает из кусочков полноценные функции. Плюс следит за совместимостью модулей, строит (когда возможно) преобразование синтаксически неэквивалентных структур и т.п. Плюс возможность иметь модули, параметризованные более-менее чем угодно. Ну и так далее. Пока я в самом начале; иншаллах, здесь будет синтостроительный блог. Называться будет ``Против аналогового секвенсора не попрешь'', конечно же.
Tip: Когда вы знакомитесь с языком, смотрите как в нем реализована (если вообще) прямая сумма.
Такие дела, на фото я.
