Обновить
-12

Пользователь

1
Подписчики
Отправить сообщение
Тема интересная, но, к сожалению, код практически нечитаем для тех, кто не имеет опыта с agda/idris/haskell. Выпал после второй картинки с кодом.
На зарубежные рынки выходите/планируете? Кто-то из-за бугра интересуется вашими разработками?
Было бы прикольно, если бы можно было донатить на конкретные RFC.
В посте я пожертвовал строгостью вывода ради интересной подачи.

Мне кажется, что именно после таких рассуждений интернет наполняется сравнениями России с Афганистаном и Кенией.
Картинка ввела в заблуждение — ожидал применения тяжёлой артиллерии в виде Clang libtooling.
Я всё ещё не понимаю почему бы просто не написать цену «от 10к до 100к в зависимости от разных параметров», но спасибо за информацию.
Вот интересно: почему бы не опубликовать цену в общем доступе? Вашим продавцам заняться нечем, кроме как отвечать на подобные запросы? В чём смысл этой игры в прятки?
К тому же, у вас запросили даже не цену, а её порядок. Но нет, ради этого Вы предлагаете человеку кому-то что-то писать. Зачем?
Это абстракция, которая мне нужна. Зачем мне к ней добавлять ещё Rc<RefCell<...> >, к примеру?
Ага, все они завязаны на блокировке, если тип данных не атомарный. У меня, к примеру, написанный lock-free контейнер, обращение к которому не требует синхронизации. Или же умный планировщик, который даёт соотстветствующие гарантии. Зачем мне эти ваши абстракции?
Вы имели в виду из разных потоков? Да, бывает и такое. Переменная может быть синхронизирована другими способами, или обращение к ней происходит только специальным образом, который гарантирует защиту от гонки.
Вы будто игнорируете то, что я пишу. Лично мне в данном случае предпочтительнее получить простоту использования, чем гарантии, основанные на бутерброде из абстракций.
Преобразование можно написать один раз и забыть, хотя мне не понятно зачем вообще такое может понадобиться.
> Ну так и в расте можно — если сделать дереф в какой-нибудь Rc, и практика тоже так себе.

Я просто хочу получить ссылку, а не использовать новые абстракции.

> Во-первых нужно понять что &mut это не «мутабельный», а уникальный.

И что даст это понимание?

> В хаскелле вон вообще никакой мутабельности нет

Хаскелль — функциональщина со сборщиком мусора. Rust же претендует на другую нишу.
В С++ можно присвоить строку целочисленной переменной, если определить соответствующее неявное преобразование. Практика, конечно, так себе, но есть методы и функции, которые не дают какого-то значного оверхеда в плане удобства. А Rust со своим ограничением на мутабельные ссылки будто бы не предлагает пристегнуть ремень, а требует замотаться в поролон и залезть в ёмкость с каким-нибудь гелем. Я всеми руками за безопасность, но имхо это — перебор.
Собственно, я и указал на это, как на проблему Rust.
Проблема в том, что запрет нельзя превратить в предупреждение, и если в этом примере код действительно приведёт к ошибке, то в тысяче других может быть совершенно валидный код, который просто нельзя скомпилировать.
Я зашёл, потому что ожидал увидеть статью в духе «я медленно снимаю с картинки всю непрозрачность», но тут какой-то код и диаграммы. Зачем я это прочёл?
Ох, отличная идея — идентичный код по разным веткам «ифов» распихивать. И это если куски кода небольшие, и их немного. В противном случае вообще адища получается.
Ну и идейно на лицо костыль.
А как компилятор потенциально должен обрабатывать вызов функции с аргументом типа void мне вообще не совсем понятно (синтаксис type function(void) — легаси из C).

Не совсем понял в чём проблема. Если в несовместимости с C, то нахрен нужна эта совместимость.
Есть кусок кода, который выглядит примерно так:
auto some_variable = some_function();
...
auto some_variable_2 = some_function_2(some_variable);
...
return some_variable;


Проблема начинается тогда, когда этот кусок кода находится в шаблонной функции, и some_variable может быть произвольного типа.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность