Pergunta

Eu realmente gostei de aprender ML na faculdade.Eu acho programação funcional, muitas vezes, um refrescante, elegante maneira de escrever certos algoritmos.Tenho ouvido F# e brinquei com que um bit.Ainda assim, eu tenho escrito algumas funções interessantes no ML e gostaria de integrá-los como bibliotecas que eu poderia usar em outras aplicações.

Normalmente eu colar as minhas funções no SMLnj intérprete.Existe uma maneira que pode compilá-los para baixo?

Foi útil?

Solução

Você terá que usar algo como o compilador MLJ. Ele compila com o código Java Byte. Ou você pode usar o Sml.net Compilador para compilar com .NET IL.

Outras dicas

É comum entre Ml Para os dois lados exportar para C e depois chamar as funções C uma da outra. Quase tudo tem uma biblioteca de FFI para exportar 'facilmente' para C.

http://www.smlnj.org/doc/smlnj-c/index.html

Portanto, para o mundo exterior, sua biblioteca SML se comportaria como uma biblioteca C, exceto sem os segfaults e vazamentos de memória* Assiciados*

*Não é uma garantia

Projetos popularizam idiomas. Faça o trabalho de solo para um projeto interessante e inegavelmente 'legal' usando o ML, e as pessoas vão se reunir com o idioma. Por exemplo, veja Erlang com Ejabberd e Mochiweb-ambos projetos legais que fizeram maravilhas para um idioma único de diamante no the-rough como Erlang (que é, btw, minha linguagem de desenvolvimento de escolha ultimamente). Eu, por um lado, adoraria ver alguém fazer algo radical com o ML, a linguagem é uma alegria de pensar.

vários compiladores ML padrão. O wiki Mlton também contém um referência.

Usei Moscow ML, que compila ML padrão no bytecode. Não é rápido, mas funciona. O MLTON é frequentemente citado como o melhor compilador ML padrão em relação à eficiência.

Observe que a Poli/ML versão 5 ou posterior suporta tanto o tradicional "heap dump" do modelo, e C-estilo executáveis autônomos.A documentação sobre o Poli/ML site é espalhado em vários pontos diferentes, alguns deles com muito antigo datas no título -, mas o sistema está vivo e chutando.

O objeto-a geração de código é explicado em passar em notas de lançamento para a versão de lançamento da versão 5.0 (estamos atualmente em 5,5):ver PolyML.export não.

Há também algumas Poli/ML C interface, que foi renovado como utilizado para alguns projetos GUI recentemente.Você deve perguntar ao polyml lista de correio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top