Design: Формат текста сборки.

Созданный на 7 дек. 2017  ·  31Комментарии  ·  Источник: WebAssembly/design

Я думаю, что S-выражение - это Лисп.
Однако WebAssembly - это язык ассемблера.
Пожалуйста, стандартный ассемблер с текстовым форматом.

Самый полезный комментарий

Блядь

Все 31 Комментарий

пример:

https://github.com/hsk/vscode-debugger-simple-asm/blob/master/dist/ocaml/parser.mly

Это очень простой формат языка ассемблера.
Я думаю, что язык ассемблера следует определять с помощью очень простого BNF.

Хотя можно понять, что работа с ним проста, если она записана в S-формуле, S-выражение трудно понять.
Вы ничему не учитесь из XHTML?

Что плохого в том, что текстовый формат WebAssembly является новым синтаксисом? Вы сказали, что это сложно понять, у вас есть примеры?

Для меня хорошо иметь специальный синтаксис, потому что WebAssembly не имеет ничего общего ни с Lisp, ни с текстовым форматом Assembly.

Не могли бы вы рассказать нам больше о XHTML?

XHTML - это очень простой формат. Но сейчас HTML5 - это не XHTML.
Потому что XHTML не читается и не пригоден для использования человеком.
Я думаю, что S-выражение не читается и не подходит для человека.
Поскольку веб-сборка имеет стандартный формат, текстовый формат должен принимать обычный формат языка ассемблера.

XHTML не читается и не подходит для использования человеком.

Я не согласен, люди могут это читать и даже писать.

Выражение S не читается и не может использоваться человеком.

Я не согласен, тот же комментарий, что и для XHTML.

WebAssembly не использует существующий стандарт для своего синтаксиса, он был разработан с конкретными целями, поэтому у него есть собственный синтаксис, который, IMHO, лучше.

текстовый формат должен принимать обычный формат языка ассемблера

Я был бы против этого. Обратите внимание, что WebAssembly - это открытая группа, им не нужно делать определенные вещи (например, использовать существующий стандарт, потому что вы говорите, что он имеет аналогичный синтаксис).

Отказ от ответственности: мое мнение принадлежит мне, а не WebAssembly.

Понятно.
Спасибо.

Выражение S красиво и практично.
Удачи.

https://staff.aist.go.jp/y-ichisugi/doc/newjdoc/outline.html
Мне нравится это решение.

но,...

xtuc:

WebAssembly не является стандартным форматом, он был разработан с конкретными целями, поэтому он имеет собственный синтаксис, который, IMHO, лучше

Что ж, wasm станет стандартом через пару лет, не так ли?

@ ROBERT-MCDOWELL извините, я не хотел писать об этом, конечно, WebAssembly - это стандартный формат. Я имел в виду, что он не использует существующий стандартный синтаксис (поскольку они создали свой собственный).

Выражение формата LLVM?
Является ли выражение S формата ассемблера X86?
Arm, 68000, PowerPC ...
Я впервые смотрю WebAssembly - это красота.
Но моя мотивация упала.
Я думаю, мне не нравится язык ассемблера синтаксиса S-выражения.

Пока не было необходимости писать круглые скобки.
Но нам нужны были скобки.
Думаю, это не очень радует.

Блядь

До сих пор мне не нравился WebAssembly.
Но сейчас я ненавижу WebAssembly.

С точки зрения Lisper, веб-сборка является эпохальной.
Большой. Я так думаю, я думаю, что это тоже просто и быстро.

Быстрое перемещение веб-сборки также было отличным.

Но я не Лиспер.
Я вижу скобки.
Ненавижу скобки, и мне это не нравится.

Я считаю, что WebAssembly - это эгоистический язык шепелявых.

Является ли WebAssembly промежуточным кодом формулой S?
Интернет наконец догнал Lain.
Что ж, может быть, HTML тоже хорош для формулы S.

Я считаю, что это очень хорошо, что мне не нужно использовать C или C ++.
Но если я напишу TypeScript, я бы хотел, чтобы вы выбирали между написанием на нативном языке или написанием на JS ...

WebAssembly сейчас в моде!

Однако он мальчик шибуя шибуя.

@hsk Обычно люди не могут напрямую читать или писать формат S-выражения.

Вместо этого вы должны написать свой код на языке более высокого уровня, а затем он будет скомпилирован в WebAssembly.

А с помощью исходных карт вы даже можете выполнять отладку на языке высокого уровня, поэтому вам никогда не придется видеть S-выражения WebAssembly.

Так что в 99 +% случаев не имеет значения, какой формат текста, потому что вы никогда его не видите.

Мне нравится компилятор вывода текстового формата.
Я пишу компилятор, 99+% времени читаю и пишу впустую.

Он попытался сравнить действия, соответствующие wasm, которые я делал в Emscripten в прошлом.
https://qiita.com/toyoshim/items/e714cb4d00eace2f4d97

критики всегда готовы заставить проект развиваться. Однако мы должны учитывать годы кодовых слоев, которые создали то, что сегодня представляет собой Интернет, и не изобретать велосипед каждый раз, когда происходит эволюция ...

Я понимаю, что вас раздражают s-выражения. Я тоже не фанат и нахожу утешение в том, что текстовый формат не имеет значения для WebAssembly в целом. Действительно, двоичный формат имеет значение. Нам просто нужно было иметь какой-то текстовый формат для низкоуровневого отображения и базового тестирования, и единственный, который был серьезно предложен и продвинут, был этот. Некоторых людей обрадовало s-выражение, так что им это приятно. Для меня это похоже на использование XML: это некрасиво и труднее читать, но на самом деле это не имеет значения.

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

Что замечательно, так это то, что вы можете создать свой собственный текстовый формат WebAssembly. Мы провели собственное тестирование, и это дает нам больше гибкости, чем сочетание текстовых s-выражений. Создать формат, подобный LLVM IR, совсем несложно.

При этом мне очень понравилось осознание игры за игрой, которое вы записали здесь вживую. 👍

Спасибо за понимание моих проблем.
s-выражение хорошее. разработка идет быстро.
Я знаю, что вызывающая прямая библиотека LLVM работает быстро, и WebAssembly тоже.
Вызов прямой библиотеки выполняется быстрее, чем базовый компилятор AST.
Но привязка библиотеки - это разница между другим языком.
Так как я программист-любитель, надеюсь простой AST.
Мы используем C ++, JavaScript, Rust, OCaml, Haskell, SML, Coq, Scala, Scheme, Common lisp и т.д ... любые языки.
Я не хочу, чтобы вы вскоре его сопровождали, но я бы хотел, чтобы вы обдумали это.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

nikhedonia picture nikhedonia  ·  7Комментарии

spidoche picture spidoche  ·  4Комментарии

aaabbbcccddd00001111 picture aaabbbcccddd00001111  ·  3Комментарии

ghost picture ghost  ·  7Комментарии

thysultan picture thysultan  ·  4Комментарии