Este é o comando js_of_ocaml que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online Windows ou emulador online MAC OS
PROGRAMA:
NOME
js_of_ocaml - bytecode OCaml para compilador Javascript
DESCRIÇÃO
js_of_ocaml(1) é um compilador de programas de bytecode OCaml para Javascript. Faz isso
possível escrever programas OCaml que rodam em navegadores da web.
Ele vem com ligações para uma grande parte das APIs do navegador e os programas gerados
foram medidos para executar normalmente mais rápido o interpretador de bytecode OCaml.
USO
Seu programa deve ser compilado primeiro usando o compilador de bytecode OCaml ocamlc(1).
Vinculações de JavaScript, bem como uma extensão de sintaxe correspondente, são fornecidas pelo
js_of_ocaml pacote.
ocamlfind ocamlc -pacote js_of_ocaml -pacote js_of_ocaml.syntax \
-sintaxe camlp4o -linkpkg -o arquivo_entrada.byte arquivo_entrada.ml
Então, execute o js_of_ocaml(1) compilador para produzir código Javascript.
js_of_ocaml [ opções ] arquivo_entrada.byte
OPÇÕES
As seguintes opções de linha de comando são reconhecidas por js_of_ocaml(1).
-depurar nome
módulo de depuração nome
-desativar nome
desabilitar otimização nome
-bonita
imprima bem o resultado
-debuginfo
saída de informação de depuração
-sem linha
desabilitar inlining
-noruntime
não inclui o tempo de execução padrão
-nível superior
compilar um nível superior
-I dir Adicionar dir à lista de diretórios de inclusão
-o lima
definir o nome do arquivo de saída para lima
-Socorro Mostra a lista de opções
--Socorro Mostra a lista de opções
RECURSOS, LIMITAÇÕES
Toda a biblioteca padrão OCaml deve ser suportada, exceto para canais de entrada / saída,
referências fracas e a maioria das funções do módulo Sys. Bibliotecas extras, como Bigarray,
Unix, Thread ou Str não são suportados.
A chamada de cauda não é otimizada em geral. No entanto, funções auto-recursivas (quando a cauda
chamadas são para a própria função) são compiladas em um loop.
Módulos recursivos não são suportados no momento.
A representação dos dados difere da usual, por motivos de desempenho. Mais notavelmente,
os inteiros são de 32 bits (em vez de 31 ou 63 bits) e os flutuantes não são encaixotados. Como consequência,
funções de empacotamento, comparação polimórfica e hashing podem produzir resultados diferentes
do que o normal:
· O empacotamento de flutuadores não é suportado (trabalhos de desempacotamento);
· A função hash polimórfica não dará os mesmos resultados em estruturas de dados
contendo flutuadores;
· Essas funções podem estar mais sujeitas a estouro de pilha, pois a pilha Javascript é pequena.
Use js_of_ocaml online usando serviços onworks.net