The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования OCaml 4.14.2, opennews (??), 20-Мрт-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


51. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 20-Мрт-24, 16:23 
https://rustc-dev-guide.rust-lang.org/backend/codegen.html
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

55. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от n00by (ok), 20-Мрт-24, 17:06 
> https://rustc-dev-guide.rust-lang.org/backend/codegen.html

И что? Где твой бэкенд?

Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 20-Мрт-24, 17:31 
> И что? Где твой бэкенд?

а LLVM что за зверь?

И раст "может исполняться на тех процессорах" которые поддерживаются LLVM. Растодельцы избавили себя от машиннозависимой кодогенерации.  

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Аноним (72), 20-Мрт-24, 17:48 
Растодельцы: Хорошо сказали
Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Аноним (62), 20-Мрт-24, 18:29 
Растоподельники
Ответить | Правка | Наверх | Cообщить модератору

93. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от n00by (ok), 21-Мрт-24, 08:12 
Ты всю эту чушь пишешь, что бы заболтать исходный тезис "...для которых компилятор Rust не может генерировать код"?

Как Rust, скомпилированный при помощи LLVM, будет исполняться на процессорах, если LLVM не генерирует под них код?

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

119. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Мрт-24, 00:57 
> Ты всю эту чушь пишешь, что бы заболтать исходный тезис "...для которых
> компилятор Rust не может генерировать код"?

Алё, раст вообще не генерирует код ни для каких архитектур. Раст это фронтенд, с ллвм бекендом. Раст только генерирует ИР представление для ллвм-а. По ссылке все написано.

И ваш "исходный тезис" - ересь, написанные на раст программы будут исполняться только на тех архитектурах которые поддерживает его бекенд ллвм.

И вам задали прямой вопрос, какая это такая архитектура, которая не поддерживается в ллвм, но виртмашина окамла для нее есть.


Ответить | Правка | Наверх | Cообщить модератору

127. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от n00by (ok), 22-Мрт-24, 08:32 
>> Ты всю эту чушь пишешь, что бы заболтать исходный тезис "...для которых
>> компилятор Rust не может генерировать код"?
> Алё, раст вообще не генерирует код ни для каких архитектур. Раст это
> фронтенд, с ллвм бекендом. Раст только генерирует ИР представление для ллвм-а.
> По ссылке все написано.

Я понимаю, что тебе очень хочется оспорить всякое моё утверждение. Недостаток опыта вынуждает выискивать проколы в формулировках. Очевидно (прочитай оглавление Драгонбук, хотя бы), что компилятор Rust состоит из фронт-энда и бэк-енда. Таким образом он генерирует код. При помощи LLVM или ещё чего в бэкенде - это вообще дело десятое. Суть в том, что пока не сгенерирован код, нет возможности его исполнить (разве что в маня-мирке "инженера", где он гипотетически работает в виде wasm).

> И вам задали прямой вопрос, какая это такая архитектура, которая не поддерживается
> в ллвм, но виртмашина окамла для нее есть.

Кто "задали"? Если это был ты, то твои вопросы хорошо бы начать игнорировать, а тебя занести в ЧС ради экономии времени.

Тебе ведь бесполезно второй раз объяснять, что ocamlrun написан на Си, который собирается не только бэкендом LLVM. Кроме того, ВМ достаточно проста; если я написал вариант на асме, то и другие смогут.

Ответить | Правка | Наверх | Cообщить модератору

131. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Мрт-24, 12:49 
> Я понимаю, что тебе очень хочется оспорить всякое моё утверждение.

не ставил перед собой такой цели

> Недостаток опыта вынуждает выискивать проколы в формулировках.

Строгость определений (формулировок) основа-основ любой науки, и не надо точную науку превращать в искусство разговорного жанра (по великому-могучему - пиз...Ъ). И именно допуск таких "проколов" порой говорит не о недостатке опыта, а о незнании предмета (области). "Дураком" быть, "дурака" судить за незнание.

> Очевидно (прочитай оглавление Драгонбук,
> хотя бы), что компилятор Rust состоит из фронт-энда и бэк-енда. Таким
> образом он генерирует код. При помощи LLVM или ещё чего в
> бэкенде - это вообще дело десятое.

Читаем внимательно первый абзац из ссылки выше:

Code generation (or "codegen") is the part of the compiler that actually generates an executable binary. Usually, rustc uses LLVM for code generation, but there is also support for Cranelift and GCC. The key is that rustc doesn't implement codegen itself. It's worth noting, though, that in the Rust source code, many parts of the backend have codegen in their names (there are no hard boundaries).

Вот первое предложение вырвано из той самой "Красной книги Дракона". А суть в том, что кодогенерация есть процесс получения машиннозависимого готового к исполнению кода, именно такое определение в "Красной книге Дракона".

Отсюда возникают вопрос, а можно ли называть процесс получения промежуточного представления (кода) - кодогенерацией? Как по мне - нет, ибо тогда и построение АСД (AST) можно назвать кодогенерацией, так как это такое же промежуточное представление.

> Суть в том, что пока
> не сгенерирован код, нет возможности его исполнить (разве что в маня-мирке
> "инженера", где он гипотетически работает в виде wasm).

Ну да, а теперь ответьте себе на вопрос, генерирует ли раст код? Занимается ли он кодогенерацией по определению данной в "Красной книге Дракона"?

Отсюда и возникают "проколы в формулировках", которые нельзя проигнорировать, и это вовсе не придирка.


> Кто "задали"? Если это был ты, то твои вопросы хорошо бы начать
> игнорировать, а тебя занести в ЧС ради экономии времени.

дело ваше.

> Тебе ведь бесполезно второй раз объяснять, что ocamlrun написан на Си

This raises a chicken-and-egg paradox: where did the first compiler come from? It must have been written in a different language. In Rust's case it was written in OCaml. :)

Ответить | Правка | Наверх | Cообщить модератору

136. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Минона (ok), 22-Мрт-24, 13:57 
> А суть в том, что кодогенерация есть процесс получения машинозависимого готового к исполнению кода
> Отсюда возникают вопрос, а можно ли называть процесс получения промежуточного представления (кода) - кодогенерацией? Как по мне - нет, ибо тогда и построение АСД (AST) можно назвать кодогенерацией, так как это такое же промежуточное представление.

Абажди, но ведь в современных х86 процессорах cisc-код внутри процессора преобразуется в risc-код.
Т.е. х86-код это тоже промежуточное представление.🤔

Ответить | Правка | Наверх | Cообщить модератору

141. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Мрт-24, 14:49 
> Т.е. х86-код это тоже промежуточное представление.🤔

ну подайте на вход х86 процессора risc-код, будет он его исполнять? - нет. Почему? потому-что на вход он ждет совсем другое представление. А что он (ЦПУ) с ним там сделает, не важно с точки зрения ЯП. ЦПУ для ЯП это исполнительное устройство. И х86-код промежуточным никак нельзя назвать с точки зрения ЯП. А с точки зрения ЦПУ это входные данные, как для ЯП - исходный текст на языке.


Ответить | Правка | Наверх | Cообщить модератору

146. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Минона (ok), 22-Мрт-24, 15:39 
>> Т.е. х86-код это тоже промежуточное представление.🤔
> ну подайте на вход х86 процессора risc-код, будет он его исполнять? -
> нет. Почему? потому-что на вход он ждет совсем другое представление. А
> что он (ЦПУ) с ним там сделает, не важно с точки
> зрения ЯП. ЦПУ для ЯП это исполнительное устройство. И х86-код промежуточным
> никак нельзя назвать с точки зрения ЯП. А с точки зрения
> ЦПУ это входные данные, как для ЯП - исходный текст на
> языке.

Ок.
"ЦПУ для ЯП это исполнительное устройство." -> "LLVM для ЯП это исполнительное устройство."
"А что он (ЦПУ) с ним там сделает, не важно с точки зрения ЯП." -> "А что он (LLVM) с ним там сделает, не важно с точки зрения ЯП."

Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Мрт-24, 17:07 
> "ЦПУ для ЯП это исполнительное устройство." -> "LLVM для ЯП это исполнительное устройство."

В принципе да, ток устройство в контексте ллвм надо взять в кавычки, входными данными для которого будет IR представление, а выходными - ЦПУ машинные коды.

> "А что он (ЦПУ) с ним там сделает, не важно с точки
> зрения ЯП." -> "А что он (LLVM) с ним там сделает,
> не важно с точки зрения ЯП."

таки да, и в этом контексте говорить, что "раст не сгенерирует там код какой-то, для какого-то там ЦПУ" - ересь чистой воды.


Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Минона (ok), 22-Мрт-24, 23:08 
Зачем в кавычки, LLVM это software defined processor unit.
Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

149. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 23-Мрт-24, 00:32 
> Зачем в кавычки, LLVM это software defined processor unit.

исполнить - вычислить, получить результат. Генерация кода - не процесс исполнения, и тем более не исполнительное устройство.

Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

138. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от n00by (ok), 22-Мрт-24, 14:12 
>> Я понимаю, что тебе очень хочется оспорить всякое моё утверждение.
> не ставил перед собой такой цели

Я тебе не верю. Особенно после твоей экспертизы по PathGuard, где ты спутал 32-х и 64-х разрядные системы и что-то мне доказывал.

>> Недостаток опыта вынуждает выискивать проколы в формулировках.
> Строгость определений (формулировок) основа-основ любой науки, и не надо точную науку превращать
> в искусство разговорного жанра (по великому-могучему - пиз...Ъ).

Вот и не превращай. Открою тебе секрет: сгенерированный твоим LLVM код не пригоден для запуска. Там совершенно внезапно нужен еще и линкер. Кому важна суть моего сообщения, тот это понимает без лишних объяснений. Кому интересен спор ради спора, тот будет строчить мне кучу бессмысленных сообщений.

Ответить | Правка | К родителю #131 | Наверх | Cообщить модератору

142. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Мрт-24, 14:57 
> Я тебе не верю.

все правильно, вера для тех кто не умеет сомневаться.

> Особенно после твоей экспертизы по PathGuard, где ты
> спутал 32-х и 64-х разрядные системы и что-то мне доказывал.

ага я спутал, и забыл что 32-битные программы могут исполняться на 64-битных ОС.

> Вот и не превращай. Открою тебе секрет: сгенерированный твоим LLVM код не
> пригоден для запуска. Там совершенно внезапно нужен еще и линкер.

а ну да, нуда, еще и всякие ЛТО и прочая приблуда.

> Кому важна суть моего сообщения, тот это понимает без лишних объяснений.

увы не телепат, ясно.

> Кому интересен спор ради спора, тот будет строчить мне кучу бессмысленных сообщений.

я только "придираюсь" :)

Ответить | Правка | Наверх | Cообщить модератору

144. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от n00by (ok), 22-Мрт-24, 15:06 
>> Особенно после твоей экспертизы по PathGuard, где ты
>> спутал 32-х и 64-х разрядные системы и что-то мне доказывал.
> ага я спутал, и забыл что 32-битные программы могут исполняться на 64-битных
> ОС.

Ты банально не имеешь понятия, что руткит - это драйвер (намеренно пишу некорректный, но всем понятный термин). Так что вот этот сарказм малость мимо кассы.

Ответить | Правка | Наверх | Cообщить модератору

145. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от Sw00p aka Jerom (?), 22-Мрт-24, 15:08 
> Ты банально не имеешь понятия, что руткит - это драйвер (намеренно пишу
> некорректный, но всем понятный термин). Так что вот этот сарказм малость
> мимо кассы.

а че не модуль ?

Ответить | Правка | Наверх | Cообщить модератору

152. "Выпуск языка программирования OCaml 4.14.2"  +/
Сообщение от n00by (ok), 25-Мрт-24, 14:19 
>> Ты банально не имеешь понятия, что руткит - это драйвер (намеренно пишу
>> некорректный, но всем понятный термин). Так что вот этот сарказм малость
>> мимо кассы.
> а че не модуль ?

Потому что он - сервис режима ядра.

Ответить | Правка | К родителю #145 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру