Design: Formato de texto de montagem.

Criado em 7 dez. 2017  ·  31Comentários  ·  Fonte: WebAssembly/design

Acho que a expressão S é Lisp.
No entanto, WebAssembly é linguagem assembly.
Por favor, linguagem assembly padrão com formato de texto.

Comentários muito úteis

Porra

Todos 31 comentários

exemplo:

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

Este é um formato de linguagem assembly muito simples.
Acho que a linguagem assembly deve ser definida com um BNF muito simples.

Embora possa ser entendido que o manuseio é fácil se escrito na fórmula S, a expressão S é difícil de entender.
Você não está aprendendo nada com o XHTML?

O que há de errado em WebAssembly Text Format ser uma nova sintaxe? Você disse que é difícil entender, você tem alguns exemplos?

Para mim é bom ter uma sintaxe dedicada porque WebAssembly não tem nada a ver com o Lisp ou o formato de texto Assembly.

Você poderia nos contar mais sobre XHTML?

XHTML é um formato muito simples. Mas, HTML5 não é XHTML agora.
Porque XHTML não é legível e utilizável por humanos.
Eu acho que a expressão S não é legível e utilizável por humanos também.
Uma vez que a web assembly está em um formato padrão, o formato do texto deve adotar o formato usual da linguagem assembly.

XHTML não é legível e utilizável por humanos.

Não concordo, os humanos podem ler e até escreviam.

A expressão S não é legível e utilizável por humanos também.

Não concordo, mesmo comentário que para XHTML.

O WebAssembly não usa um padrão existente para sua sintaxe, ele foi projetado com objetivos específicos, por isso possui uma sintaxe personalizada, que é melhor IMHO.

o formato do texto deve adotar o formato usual da linguagem assembly

Eu me oporia a isso. Observe que WebAssembly é um grupo aberto, eles não precisam fazer certas coisas (como usar um padrão existente porque você diz que ele tem uma sintaxe semelhante).

Isenção de responsabilidade: minhas opiniões são minhas, não da WebAssembly.

Entendo.
Obrigada.

A expressão S é bonita e utilizável.
Boa sorte.

mas,...

xtuc:

WebAssembly não é um formato padrão, foi projetado com objetivos específicos, por isso tem uma sintaxe personalizada, que é melhor IMHO

bem, o wasm tenderá a se tornar um padrão em alguns anos, não é?

@ ROBERT-MCDOWELL desculpe, não tive a intenção de escrever isso, é claro que WebAssembly é um formato padrão. Eu quis dizer que ele não usa uma sintaxe padrão existente (já que eles criaram a sua própria).

O formato LLVM é uma expressão S?
O X86 assembler formata uma expressão S?
Are Arm, 68000, PowerPC ...
Estou olhando pela primeira vez WebAssembly é beleza.
Mas, minha motivação está baixa.
Eu acho que não gosto da linguagem assembly da sintaxe da expressão S.

Não houve necessidade de escrever parênteses até agora.
Mas precisávamos de parênteses.
Eu acho que isso não é muito feliz.

Porra

Até agora eu não gostava do WebAssembly.
Mas agora odeio WebAssembly.

Da perspectiva do lisper, webassembly marcou época.
Excelente. Acho que sim, acho que também é simples e rápido.

O movimento rápido de montagem da web também foi ótimo.

Mas, eu não sou Lisper.
Eu posso ver os colchetes.
Odeio parênteses e não gosto disso.

Acho que WebAssembly é uma linguagem egoísta de lisper.

O WebAssembly é um código intermediário uma fórmula S?
A Internet finalmente alcançou Lain.
Bem, talvez HTML também seja bom para a fórmula S.

Acho muito bom não precisar usar C ou C ++.
Mas se eu escrever TypeScript, gostaria que você escolhesse entre escrever em nativo ou em JS ...

WebAssembly está na moda agora!

No entanto, ele é o menino shibuya lisp.

@hsk Normalmente, não é feito para as pessoas realmente lerem ou escreverem o formato da expressão S diretamente.

Em vez disso, você escreveria seu código em uma linguagem de nível superior e, então, seria compilado para WebAssembly.

E, usando mapas de origem, você pode até mesmo depurar na linguagem de alto nível, para que nunca precise ver as expressões S do WebAssembly.

Então, 99 +% do tempo, não importa qual é o formato do texto, porque você nunca o vê.

Eu gosto do compilador de saída de formato de texto.
Escrevo compilador, mais de 99% do tempo, leio e escrevo desperdiçado.

Ele tentou comparar as performances correspondentes ao wasm que fiz no Emscripten no passado
https://qiita.com/toyoshim/items/e714cb4d00eace2f4d97

os críticos são sempre bons para fazer um projeto evoluir. No entanto, devemos levar em consideração os anos de camadas de código que construíram o que é internet hoje e evitar reinventar a roda toda vez que houver uma evolução ...

Eu entendo que você esteja frustrado com as expressões S. Eu também não sou um fã, e encontro consolo em aceitar que o formato do texto não importa realmente para o WebAssembly como um todo. Na verdade, o formato binário é o que importa. Precisávamos apenas de algum formato de texto para exibição de baixo nível e testes básicos, e o único que foi proposto seriamente e avançou foi este. Algumas pessoas ficam felizes por ter expressões-s, então isso é bom para elas. Para mim é semelhante a usar XML: é feio e difícil de ler, mas realmente não importa.

A história do formato do texto é um tanto longa e não a repetirei aqui. As expressões s faziam sentido quando tínhamos um AST, mas agora temos uma máquina de pilha , então, no mínimo, é um fato histórico curioso usarmos as expressões s.

O que é ótimo é que você pode criar seu próprio formato de texto WebAssembly. Fizemos para nossos próprios testes e isso nos dá mais flexibilidade do que a combinação de expressões S textuais. Um formato do tipo LLVM IR não seria difícil de construir.

Dito isso, eu gostei muito da percepção jogada a jogada de que você gravou ao vivo aqui. 👍

Obrigado, por entender meus problemas.
A expressão s é boa. o desenvolvimento é rápido.
Eu sei que uma biblioteca LLVM de chamada direta é rápida, e WebAssembly também.
Chamar a biblioteca direta é mais rápido do que o compilador base AST.
Mas, a vinculação de biblioteca é a diferença entre outras linguagens.
Como sou um programador amador, espero AST simples.
Usamos C ++, JavaScript, Rust, OCaml, Haskell, SML, Coq, Scala, Scheme, Common lisp, etc ... qualquer linguagem.
Não quero que o acompanhe logo, mas gostaria que o considerasse.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

thysultan picture thysultan  ·  4Comentários

spidoche picture spidoche  ·  4Comentários

beriberikix picture beriberikix  ·  7Comentários

arunetm picture arunetm  ·  7Comentários

chicoxyzzy picture chicoxyzzy  ·  5Comentários