URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 126208
[ Назад ]

Исходное сообщение
"В число проектов GNU принят генератор языковых виртуальных машин Jitter "

Отправлено opennews , 20-Дек-21 10:12 
Инструментарий Jitter официально перешёл под крыло проекта GNU и теперь будет развиваться под именем GNU Jitter с использованием инфраструктуры GNU и в соответствии с требованиями данного проекта. Jitter позволяет генерировать переносимые и очень быстрые виртуальные машины для произвольных конструкций языков программирования, производительность выполнения кода в которых существенно опережает интерпретаторы и  близка к нативному компилируемому коду. Исходные тексты Jitte написаны на языке Си и поставляются под лицензией GPLv3...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=56378


Содержание

Сообщения в этом обсуждении
"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 10:14 
Симд есть? Жытлисп, это жизнеспособно? Жытгцы всё?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 10:16 
жыесть брат

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноньимъ , 21-Дек-21 05:59 
Я так понимаю вы можете любую дичь ассемблерную вставить по своему желанию.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 10:15 
> см. пример спецификации виртуальной машины для языка Lisp

нечитабельная лапша, или только мне так кажется?


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено And , 20-Дек-21 12:20 
2182-ве строки местами без отступов - примерно так и есть.

http://git.ageinghacker.net/jitter/tree/example-vms/jitterli...

Др. дело что именно и как можно ли с этим сделать и показывать пример читаемый.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 10:29 
Жесть конечно... Сама спека - плохочитаемая неструктурированная портянка: куча ifdef, многострочных дефайнов и закомментированных вызовов.
У них только в этом примере 13 FIXME... И не стыдно было такое выкладывать?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено ыы , 20-Дек-21 10:31 
Вам шашечки или ехать?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 10:54 
Это не серьезно. Таким аргументом можно оправдать все что угодно:
у вас лапшкод и крашится аппа - тебе шашечки...
у вас на сайте 10Мб js-кода - тебе шашечки...

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 11:26 
Так 10мб js кода и не едет. А это - едет.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 16:25 
Это у вас - не едет. Потому что вы проезд не оплачиваете.

А у вебмакак всё едет, у них и канал - толстый, и проц - 24-ядерный, и оперативы - 128 гигов, и смузи - не протухло.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено And , 20-Дек-21 12:24 
> Вам шашечки или ехать?

Вносить изменения через месяц после написания. Отдавать другим для тех же целей.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 13:16 
Да чёрт с этими шашечками. Колёса почему квадратные?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено ng , 20-Дек-21 14:32 
> Колёса почему квадратные?

Всё нормально.
Во-втором приближении квадрат - это окружность.
Окружность - равнобедренный многоугольник со стороной стремящейся к нулю.
Квадрат - это равнобедренный многоугольник.
Треугольник пробовали - не катит.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено paver , 21-Дек-21 13:29 
... только не равнобедренный, а правильный

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 16:29 
Не окатались ещё.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено n00by , 20-Дек-21 12:17 
# FIXME: make a one-argument version generalizing these.  These zero-argument
# versions are useful to generate from rewrite rules right now, before Jitter
# support is ready.

Некоторые такое называют TODO


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 14:21 
Ну допустим это было TODO.

А такое:
"# FIXME: is this ever needed?"

или такое
// FIXME: just a test.  Remove.

и тем более
// FIXME: this loops forever with no-threading (not with the other dispatching models
// including minimal threading) when the callee is compiled.  A Jitter bug.

У меня на проекте это просто бы не дали вмерджить - завернули бы еще на этапе код-ревью.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Crazy Alex , 20-Дек-21 14:36 
Так это и не продакшн-код

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено n00by , 20-Дек-21 15:08 
threading в контексте dispatching models - скорее всего не потоки, а т.н. шитый код (threaded code).

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено ыы , 20-Дек-21 10:31 
Хорошая попытка. Но нет. Не заставите учить LISP. Пишите спецификацию для js, тогда посмотрим...

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 10:36 
Тебе надо - ты и пиши.

Добро пожаловать


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено ыы , 20-Дек-21 10:41 
ну при таком подходе пожалуй и исходники открывать нет смысла.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 10:47 
Исходники и открывают для тех, кому надо. Они и пишут

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 15:13 
Напиши свои и не открывай, в чем дело.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 11:00 
Lisp очевиден, что его учить-то? (Что-то что-то1 ... Что-тон)

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 11:04 
(Lisp (очевиден (что (его (учить (то (? (Что (то (что (то1 (... (Что (тон))))))))))))))

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 12:13 
Сразу видно тех, кто про лисп слышал только скобки

(Lisp '(очевиден что его учить то ? (Что-то что-то1 ... Что-тон)))


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 12:42 
пробовал на нем писать плагин для гимпа. Неадекватный язычок. Даже на XSLT (!) (вы не ослышались! На XSLT!) легче программировать (!) (вы не ослышались! программировать на XSLT!)

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 12:57 
Язык нормальный, очень даже изящный. Вопрос весь только в том, какой в гимпе диалект (т е. грубо говоря какие там стандартные функции из коробки есть). Но это уже проблема гимпа, а не лиспа как явления

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 13:07 
получается лисп как социализм. Каждый считает, что у других он неправильный

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено анонн , 20-Дек-21 14:45 
> пробовал на нем писать плагин для гимпа. Неадекватный язычок. Даже на XSLT
> (!) (вы не ослышались! На XSLT!) легче программировать (!) (вы не
> ослышались! программировать на XSLT!)

Ну да, писать Fortran^W Python/С код на лиспах действительно неудобно.



"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Урри , 20-Дек-21 22:20 
Что, функциональщину не потянул, императивщик?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 22-Дек-21 04:55 
Если писать функциональщину, то в лиспе неожиданно меньше (разнообразных) скобок по сравнению с... А казалось бы...

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 12:56 
Ну и всё очевидно же, вложенная структура со скобками

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено n00by , 20-Дек-21 12:19 
Может там был намёк на размер спецификации?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 12:10 
"Логика каждой инструкции в спецификации задаётся при помощи кода на языке Си"

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Анонус , 20-Дек-21 10:56 
Чем это лучше GraalVM с Truffle?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 16:30 
Словом GNU в названии. И v3.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 12:45 
Во времена моего детства это называлось либо транслятором (лисп->с) либо кросс-компилятором (лисп->с->бинарник). Ой, тут же еще и виртуальная машина. Ладно, так и запишем - переизобрели шитый код (байткод). Очередная нот-ин-хаус вариация на тему LLVM.

Не, я не против разнообразия, но не ради разнообразия же, а то уж слишком однообразно получается.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Crazy Alex , 20-Дек-21 14:38 
Вот если б оно только лисп умело - можно было бы и так называть. А оно умеет генерировать VM для произвольного языка, задавнного спекой. Разницу видите?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено anonymous , 20-Дек-21 12:59 
У вас ссылка битая на https://www.gnu.org/software/jitter/

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 14:04 
Добро пожаловать в дружную семью GNU.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 16:05 
где одни трупики? как там поживает libdwg или приоритетный проект GNU по имени gnash ?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 21-Дек-21 11:40 
Приоритет с gnash снят ещё нескольео лет назад. Ибо Адоба закопала Flash.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Luca SAIU , 20-Дек-21 14:18 
Привет.  Я Luca Saiu.

Пожалуйста Смотри всё в example-vms/jitterlisp/

The VM, alone, if not a complete implementation of the language.

Я ещё новичок, по-русски. -- Извините.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 15:19 
Спасибо, Лука.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Брат Анон , 20-Дек-21 15:50 
Точно это ты?
Если это точно ты -- одобряю, что пишешь код.
Но непонятно на сколько в таком ПО есть потребность.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Crazy Alex , 20-Дек-21 19:10 
Luca, thank you for your work, it is really interesting. This forum has some "traditions" that cause many people to demonstrate their hostility, it is mostly a jest.

Do you have plans to implement VMs for other languages?


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Luca SAIU , 20-Дек-21 21:28 
> Luca, thank you for your work, it is really interesting. This forum
> has some "traditions" that cause many people to demonstrate their hostility,
> it is mostly a jest.

Спасибо Crazy Alex.  Всё хорошо.  Мы - хакеры, мы знаем необычных людей.  Я сам необычный.

> Do you have plans to implement VMs for other languages?

GNU Poke первый пользователь (http://jemarch.net/poke ) -- я не автоr, но автор мой друг.

Я хочу просто́й язык, и простую виртуа́льную машину.  Smalltalk.  А мой язык.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено svpcom , 20-Дек-21 14:29 
http://git.ageinghacker.net/jitter/tree/example-vms/jitterli...

sprintf
ждем очередной баг с переполнением буфера :-)


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Урри , 20-Дек-21 22:22 
Уже snprintf.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Luca SAIU , 20-Дек-21 15:03 
jitterlispvm_specialized_instruction_names [sins_opcode] размер ограничен.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 20-Дек-21 19:42 
I'm sorry for the offtop, but there is an issue with your website.

ageinghacker.net uses an invalid security certificate.

The certificate is not trusted because it is self-signed.

Error code: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Luca SAIU , 20-Дек-21 22:40 
Я знаю, спасибо.  I fail to see why I should trust a CA, including the ones giving certificates for free.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 21-Дек-21 13:48 
>I fail to see why I should trust a CA, including the ones giving certificates for free.

Because now there is absolutely no means to verify integrity of the channel. There is no absolute "security". Security is always multi-layered and there is always a root of trust. Of course we don't trust CAs. But trusting untrusted TLS is worse than trusting CAs, because untrusted TLS has the root of trust "believe that everyone between your website and my computer behaves fairly knowing beforehand I'm unable to verify if they behave fairly or not". Currently CAs have Cert. Transparency and the root of trust "our company will be completely destroyed if an incident will happen". As an additional measure you can use other roots of trust, that don't rely on CA system, such as OpenPGP. But OpenPGP WoT concept is flawed by itself and doesn't work IRL. The only trust model that is applicable to OpenPGP is TOFU, and it is also flawed because in order it to really work one must meet the person offline and you must know that person really very well to be sure it is not an impersonator. But you are a complete stranger for me, this article is the first time I ever heard about you.


"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Luca SAIU , 20-Дек-21 15:07 
Это C.  Нормальное.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено svpcom , 20-Дек-21 15:34 
А в чем проблема использовать snprintf(buffer, sizeof(buffer), ...) ?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 21-Дек-21 14:00 
Snprintf на сколько там порядков тормознее? На 3 или 4 да? Не оно конечно зависит от того сколько раз за секунду нужно вызвать, но обычно много. Потом удивляетесь, чё это программы так тормозят.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Luca SAIU , 20-Дек-21 16:12 
Нет проблем.  Спасибо.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 21-Дек-21 12:36 
"Труднореализуемая" проверка переполнений на языке Си:
assert(index < length);
assert(index >= 0);

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено sdkhflskhgl , 21-Дек-21 14:37 
а если index это size_t ?

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено Аноним , 21-Дек-21 23:09 
тогда assert((ssize_t)index >= 0);
правда, тогда нет смысла в использовании size_t ин да фёрст плейс.
...
ааа, вот поэтому оно и труднореализуемо, наверное.

"В число проектов GNU принят генератор языковых виртуальных м..."
Отправлено rmmr , 23-Дек-21 13:47 
Из документации одни видосики и неоконченный туториал? Современно!