Похоже, я неправильно выразился. Я предлагал не только реализовать компилятор в WASM байткод, но и саму виртуальную машину WASM сделать по спекам, то есть от WASM взять только среду исполнения и формат байткода.
Увлекательная тема. Развлекался в свое время реализацией Smalltalk-VM c jit-компиляцией. Если бы еще увлекался бы этим, то придумывал бы не свою VM, а попробовал бы реализовать VM для WASM. Тема интересная, и она может в будущем оказаться полезной.
Скорее всего за неправильно сформулированную мысль «у меня в этом вопросе опыта нет, но наблюдал такое со стороны». Получилось, что я как будто хвастаюсь.
Еще вариант сокращенных лямбд a-la Smalltalk:
auto add = {:x :int y; x + y}
Неоднозначностей при разборе нет: все термы после '{', начинающиеся с ':' являются аргументами. Описание аргументов заканчивается ';' возврат из последнего оператора является неявным. Если первой лексемой после первой '{' не является ':', то лямбда без аргументов. Если тип аргумента не указан — auto&&
Может и к лучшему, что молодежь не знает про списки. Для небольшого набора данных лучше использовать массив, для большого — хеш-таблицы или деревья. Почти никогда за тридцатилетнюю практику не использовал списки.
Усложнение кода и замедление операций преобразования.
Я бы динамической хеш-таблицей расширил диапазон [0..255] до [-1000..1000]. Хотя это и не очень тривиально в многопоточной среде.
Официально не приобрести, насколько я знаю.
Не думаю, что у тех, кому эта информация требуются, возникнут хоть какие-нибудь затруднения с опсосами. А те, у кого возникнут — видимо не имеют полномочий запрашивать подобные данные. В общем, вопрос остается.
C QIWI не очень понятно. Кошелек привязан к сим-карте посредством номера телефона. Сим-карту без идентификации не приобрести. Зачем же еще раз на сайте вводить идентификационные данные, если владельца кошелька и так можно определить по номеру телефона? Из-за «серых» симок?
Пересобрал из свежих исходников, под win 10 не работает автоповтор. В тикете отписался.
Почему-то не работает автоповтор нажатия клавиши при работе в WSLg.
if (inn.Length == 9 || inn.Length == 11) inn = 0 + inn;
switch(inn.Length) ....
Разделитель пути / работает и в Windows. Его использование позволяет избежать ошибок (и строковые литералы не так страшно смотрятся).
auto add = {:x :int y; x + y}
Неоднозначностей при разборе нет: все термы после '{', начинающиеся с ':' являются аргументами. Описание аргументов заканчивается ';' возврат из последнего оператора является неявным. Если первой лексемой после первой '{' не является ':', то лямбда без аргументов. Если тип аргумента не указан — auto&&
Я бы динамической хеш-таблицей расширил диапазон [0..255] до [-1000..1000]. Хотя это и не очень тривиально в многопоточной среде.
Не думаю, что у тех, кому эта информация требуются, возникнут хоть какие-нибудь затруднения с опсосами. А те, у кого возникнут — видимо не имеют полномочий запрашивать подобные данные. В общем, вопрос остается.