Когда в C++ не хватило трёх видов скобок, на шаблоны применили <>. Выглядело в начале хорошо, но получилось в итоге ужасно (грабли парсинга знают все, кто писал на C++, C# и ещё куче потомков).
По-нормальному нужно наперёд придумать до десятка новых видов скобок и добавить их в Unicode, чтобы хватило на все извращения. Но нужен художник, чтобы придумать оригинально (в смысле отличия от букв-цифр, от старых скобок и друг от друга). У меня хватает фантазии только дорисовать колечки и завитушки.
Параллельно обсуждение в FB.
По-нормальному нужно наперёд придумать до десятка новых видов скобок и добавить их в Unicode, чтобы хватило на все извращения. Но нужен художник, чтобы придумать оригинально (в смысле отличия от букв-цифр, от старых скобок и друг от друга). У меня хватает фантазии только дорисовать колечки и завитушки.
Параллельно обсуждение в FB.
no subject
Date: 2020-09-22 06:04 pm (UTC)обычная открывающая скобка ( и обычная закрывающая )
открывающая лигатура $( и закрывающая $)
то же с $[ и $], ну и с фигурными
одинарный обратный апостроф ` как открывающая "скобка" и прямой апостроф ' как закрывающая
то же, но с двойными и тройными `` ''
``` '''
И так далее, насколько фантазии хватит.
no subject
Date: 2020-09-22 06:08 pm (UTC)Но ещё лучше ($ ... $) .
А так я метод знаю - вон в portaone следы моих m4 конфигов со "скобками" m4 типа [* *] ...
речь шла именно про новые символы.
Кстати, если уж про юникод, то парным к ` является ´, а не '
no subject
Date: 2020-09-23 05:41 am (UTC)no subject
Date: 2020-09-23 08:37 am (UTC)Аналогічно, дужки для групування в виразах і блочні дужки — можуть бути тими самими дужками.
Отже можна обійтися лише одним чи двома типами дужок. Бонусом до такого дизайну може йти використання функцій, типів і масивів як first-class types і зникнення різниці між expression і statement.