Последние дни обсуждается имплементация механизма readonly в D.
А именно возможность имплементации readonly массивов и указателей.
Без наличия чего-то типа const char[] имплементация строк
в классическом виде невозможна.
Строки в современных ЯП это как правило пара:
typedef const char[] string; // a.k.a string-value
typedef char[] string_buffer; // builder, whatever
Пока видится два возможных варианта:
1) имплементация const как он есть в C++. Со всеми вытекающими за и против.
2) введение двух новых метатипов readonly array & pointer, типа такого:
char#[] — readonly array
char#* — readonly pointer.
у readonly массива отсутствуют операции модифицирующие содержимое.
у readonly указателя нет опреации dereferencing to l-value.
Второй вариант гораздо легче имплементирвать и он в быту не такой
"напряжительный".
Какие еще варианты, мнения и вообще? Можно предлагать самые
"дурацкие" — брейнштОрмим пока.