Обновить
16K+
168
Александр Рябиков@rsashka

Системный архитектор

12
Рейтинг
86
Подписчики
Отправить сообщение

UPD: Уточнение: “чистая в рамках одной единицы трансляции”.

UPD2: Ладно, убедили, через макросы можно сломать чистоту :) Ну штош, по ходу и правда нет чистых функций в С++.

На самом деле есть :-)

Просто чистые функции в С++ определятся пользователем с помощью атрибутов __attribute__((const)) или __attribute__((pure)), и они не гарантируются (не проверяется) компилятором и он полностью полагается на мнение программиста.

Соответственно сколько consteval функцию не вызывай с одинаковыми аргументами, она всегда вернет одинаковое значение. А следовательно она чистая.

Тут ключевое не “константы”, а “при одинаковых аргументах мы получаем одинаковый результат”, что далеко не одно и тоже. Поэтому что внешние данные, это НЕ аргументы функции и не важно изменяются они во время компиляции или нет.

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

consteval std::string_view compile_time() {
    return __TIME__;
}

Любая consteval функция - в принципе Pure.

НЕТ. Результат вычисления чистой функция зависит только от входных параметров, тогда как consteval может использовать внешние данные. Лишь бы они были были вычисляемы на момент компиляции.

Нет. В 4 версии размер контекстного окна Cline имеет точно такой же баг и не воспринимает указанные настройки (всегда ограничивает по 128К независимо от явно указанного размера).

Согласен. Иначе парсер не сможет сделать правильный узел АСТ.

Но тогда получается, что мы на парсер перекладываем работу лексера [по определению типа токена].

Так это и есть контекстно-зависиый синтаксис, о котором лексер на его конечных автоматах ничего знать не должен :-)

Это проблемы не модели или пользователей, а следствие отсутствия возможности управлять детерминированностью вычислений с помощью API провайдера.

понятный и естественный для пользователей исходного языка.

чтобы это сделать нужно сделать лексер зависимым от контекста. Т.е. по разному разбирать символы на лексемы в зависимости от того какую конструкцию мы парсим. А это плохо и никому не нужно

Парсер - да, но не лексер.

Ниже-выше зависит от направления взгляда.

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

Я же написал с нормальным синтаксисом :-) И у него в любом случае не было шансов заменить С++.

В “С с классами” сейчас нет большого смысла, а вот сделать С++ с нормальным синтаксисом может быть и выстрелит.

А вы уверены, что тут нужно править именно лексер? Мне кажется, что подобная логика должна анализироваться даже не в парсере (так как с точки зрения синтаксиса тут все корректно), а на еще на уровень выше, в анализаторе.

любое взаимодействие с агентом через мессенджер или почту это либо чье-то third party решение, либо требует работу кода где-то у кого-то в облаке.

Есть куча решений с локальными агентами и полным контролем над инфраструктурой, какой нибудь Claw или OpenHands

А зачем велосипед, если взаимодействие через мессенджер/почту и т.д. - это штатная функция практически любого автономного агента? И проблема при удаленном кодинге, не в том, как с агентом взаимодействовать (хоть через ишью на гитхаб), а что в итоге этот агент автономно навайбкодит напишет.

Жаль, очень любил читать дайджесты за неделю. Хорошее настроение на весь понедельник обеспечено (даже если сама новость не очень)

Уважаемые юристы, разберитесь пожалуйста в ИТ тематике и перестаньте путать Свободное ПО с открытым исходным кодом.

Нет, это другая ситуация. Ту не зависит от “новизны” денег - только сам факт их наличия.

Приходят постоянно, а Уралсиб вообще заспамил. Насчитал около 10 СМС и несколько заблокированных спам звонков от них.

Это зависит от провайдера, его API и самой модели. У меня это ограничение возникает при подключении через агрегатор.
Похожие проблемы:
https://github.com/cline/cline/issues/10980
https://github.com/cline/cline/issues/10551
https://github.com/cline/cline/issues/10094

1
23 ...

Информация

В рейтинге
720-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Инженер встраиваемых систем, Архитектор программного обеспечения
Ведущий
C++
ООП
Linux
Программирование микроконтроллеров
Встраиваемая система
C
Qt
Разработка программного обеспечения