Size: a a a

Compiler Development

2020 March 11

А

Антон in Compiler Development
Александр Вольнов
Желаю удачи с хранением, к примеру, массивов 3-битных параметров в БД и передачей БД между клиентами и серверами.
Кстати, забыл упомянуть, что мой формат неплохо в потоковом режиме работает. Сервер присылает клиенту схему протокола, а клиент неважно какой он версии будет конвертить свои запросы и, в соответствии, с этой схемой присылать серверу. Таким образом, решится проблема обновления всех клиентов при обратно несовместимых изменениях протокола между сервером и клиентом.
вот это ты прикольно WCF придумал
источник

АВ

Александр Вольнов in Compiler Development
У меня был юзкейс, когда мне нужны были параметры произвольной битности и очень плотная запаковка данных, чтобы слать их с самолёта по спутниковой связи, где один килобайт стоит порядка доллара. Естественно, protobuf и другие существующие технологии не подошли, пришлось делать свой протокол и мучительно долго его отлаживать каждый раз, когда он менялся. А если бы уже была реализована моя технология, я бы написал схему в 10 строчек и всё.
источник

АВ

Александр Вольнов in Compiler Development
Антон
вот это ты прикольно WCF придумал
Вот видите, я придумал WCF, SQLite, protobuf и ещё кучу всего и уместил это в одну технологию, причём довольно простую - проще, чем тот же SQLite в реализации.
источник

AG

Alex Gryzlov in Compiler Development
осталось начать и кончить
источник

АВ

Александр Вольнов in Compiler Development
Andrei Kurosh
Похоже на View в SQL, только куча шумных спецсимволов. То же самое можно было бы записать как NumbersSqr = Numbers.Map(x => x*x) ?
Да, я в своём языке описания стараюсь сделать как можно меньше синтаксических правил и исключений из них для простоты реализации и освоения языка. Поэтому функции у меня не отличаются от массивов: и те и те вызываются через квадратные скобки, а экземпляр каждого типа заворачивается в {}, будь то лямбда, структура, тип или массив.
источник

А

Антон in Compiler Development
Александр Вольнов
Вот видите, я придумал WCF, SQLite, protobuf и ещё кучу всего и уместил это в одну технологию, причём довольно простую - проще, чем тот же SQLite в реализации.
т.е. это серебряная пуля?
источник

AK

Andrei Kurosh in Compiler Development
Александр Вольнов
Да, я в своём языке описания стараюсь сделать как можно меньше синтаксических правил и исключений из них для простоты реализации и освоения языка. Поэтому функции у меня не отличаются от массивов: и те и те вызываются через квадратные скобки, а экземпляр каждого типа заворачивается в {}, будь то лямбда, структура, тип или массив.
Есть один язык без синтаксического сахара, который очень легко выучить и элементарно реализовать самому, потому что там всего восемь операторов - называется брейнфак
источник

AK

Andrei Kurosh in Compiler Development
Одна проблема - им несколько затруднительно пользоваться
источник

FO

FORTRAN ONE LOVE in Compiler Development
Andrei Kurosh
Есть один язык без синтаксического сахара, который очень легко выучить и элементарно реализовать самому, потому что там всего восемь операторов - называется брейнфак
Есть еще лисп :-)
источник

А

Алексей in Compiler Development
Александр Вольнов
Да, я в своём языке описания стараюсь сделать как можно меньше синтаксических правил и исключений из них для простоты реализации и освоения языка. Поэтому функции у меня не отличаются от массивов: и те и те вызываются через квадратные скобки, а экземпляр каждого типа заворачивается в {}, будь то лямбда, структура, тип или массив.
ух
источник

KR

K R in Compiler Development
Первое апреля наступило в марте?

Таки я правильно понимаю, что сегодня чего-то разумного не будет?
источник

АВ

Александр Вольнов in Compiler Development
Антон
т.е. это серебряная пуля?
Да, я почти с самого начала задумывал сделать серебряную пулю.
Вообще, начиналось всё ещё несколько лет назад с того, что я писал свой игровой движок и пытался найти существующий формат моделей, который позволит напрямую прочитать данные из файла и закинуть в GPU как есть, без обработки. Но оказалось, что все форматы были либо текстовые, либо очень ограниченные и требующие обработки.
Я стал придумывать свой формат, чтобы в заголовке можно было описать типы вершин, а дальше шли сами данные в соответствии с заголовком. Потом стал обобщать, чтобы можно было хранить модели из нескольких мешей. Потом обнаружил. что получившийся формат почти подойдёт и для хранения текстур, решил его ещё немного обобщить. Так как заголовок стал довольно сложным для описания его словами и таблицами, я придумал текстовый способ его описания, который и стал основой моего языка.
Потом подумал, а что если у кого-то GPU не поддерживает нужный формат, и решил, что тогда загрузчик должен его как-то сконвертировать перед передачей в GPU. Я в итоге так и не смог остановиться, обобщал и развивал эту идею всё больше и больше, чтобы она могла захватить как можно больше юзкейсов, с которыми мне приходилось сталкиваться, пока не получил то, о чём тут пишу.
источник

АВ

Александр Вольнов in Compiler Development
Andrei Kurosh
Есть один язык без синтаксического сахара, который очень легко выучить и элементарно реализовать самому, потому что там всего восемь операторов - называется брейнфак
Я всё же пытался соблюсти баланс, чтобы обеспечить высокую выразительность языка при минимальном числе правил.
источник

AK

Andrei Kurosh in Compiler Development
С балансом получилось не очень :)
источник

AK

Andrei Kurosh in Compiler Development
В общем, давайте эту тему свернем. Как будет рабочая версия и документация - кидайте ссылку
источник

AK

Andrei Kurosh in Compiler Development
Иначе поток графомании с одной стороны и троллинга с другой будет бесконечным
источник

AZ

Alexander Zaitsev in Compiler Development
Andrei Kurosh
В общем, давайте эту тему свернем. Как будет рабочая версия и документация - кидайте ссылку
вот так вот сразу. тут же теоретическая часть тоже может обсуждаться. вот из разговоров с нами и вынесутся какие-то новые уроки
источник

АВ

Александр Вольнов in Compiler Development
Andrei Kurosh
С балансом получилось не очень :)
Не хуже, чем в C++. Там правил с исключениями в сто раз больше, а лямбды ещё более громоздкие.
источник

AT

Alexander Tchitchigin in Compiler Development
Александр Вольнов
Не хуже, чем в C++. Там правил с исключениями в сто раз больше, а лямбды ещё более громоздкие.
C++ - слишком низкая планка. Потягайтесь хотя бы со Scheme или Standard ML.
источник

А

Антон in Compiler Development
Александр Вольнов
Не хуже, чем в C++. Там правил с исключениями в сто раз больше, а лямбды ещё более громоздкие.
Но плюсам на минуточку 30+ лет?
источник