braces...

Sep. 22nd, 2020 06:50 pm
netch80: (Default)
[personal profile] netch80
Когда в C++ не хватило трёх видов скобок, на шаблоны применили <>. Выглядело в начале хорошо, но получилось в итоге ужасно (грабли парсинга знают все, кто писал на C++, C# и ещё куче потомков).
По-нормальному нужно наперёд придумать до десятка новых видов скобок и добавить их в Unicode, чтобы хватило на все извращения. Но нужен художник, чтобы придумать оригинально (в смысле отличия от букв-цифр, от старых скобок и друг от друга). У меня хватает фантазии только дорисовать колечки и завитушки.

Параллельно обсуждение в FB.

Date: 2020-09-22 06:04 pm (UTC)
dadv: (Default)
From: [personal profile] dadv
"Лигатуры" из нескольких символов:

обычная открывающая скобка ( и обычная закрывающая )
открывающая лигатура $( и закрывающая $)
то же с $[ и $], ну и с фигурными
одинарный обратный апостроф ` как открывающая "скобка" и прямой апостроф ' как закрывающая
то же, но с двойными и тройными `` ''
``` '''

И так далее, насколько фантазии хватит.

Date: 2020-09-23 05:41 am (UTC)
dadv: (Default)
From: [personal profile] dadv
Нене, не новые символы, а именно комбинации, потому что комбинаторика даёт больший результат при меньшем алфавите.

Date: 2020-09-23 08:37 am (UTC)
gegmopo4: (Default)
From: [personal profile] gegmopo4
Поза контексту C не розумію навіщо взагалі використовувати різні дужки для виклику функцій і індексації масивів. Компілятор сам розбереться що в нього, функція чи масив. Типи, що підтримують і виклик і індексацію надзвичайно рідкісні. І для параметризації можна використовувати ті ж самі дужки.

Аналогічно, дужки для групування в виразах і блочні дужки — можуть бути тими самими дужками.

Отже можна обійтися лише одним чи двома типами дужок. Бонусом до такого дизайну може йти використання функцій, типів і масивів як first-class types і зникнення різниці між expression і statement.

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 06:51 pm
Powered by Dreamwidth Studios