Esta biblioteca é uma interface entre Rust e Luau. Ele pretende ser fácil de usar, rápido e seguro (como rlua
). Ele também pretende suportar recursos específicos da LuaU de primeira classe, como:
Esta biblioteca é um trabalho pesado em andamento-ou seja, quase nenhum dos recursos listados acima é realmente funcional no momento. No entanto, as peças fundamentais estão no local - luau-sys
está disponível e tem como objetivo fornecer uma API C Safe para interface com toda a Luau, incluindo as peças C ++.
Confira o README.md
para luau-sys
para obter mais informações sobre como funciona. As ligações brutas são consumidas por luau
, que suaviza a interface C bruta com os modernos tipos de ferrugem e segurança. A maioria dos trabalhos neste repositório estará trabalhando com a "cola", pois é isso que determina qual funcionalidade está disponível para o Rust chamar (fazendo coisas de C ++ e depois traduzindo isso para os tipos C Pure).
O restante do trabalho será o design da API voltado para o consumidor da caixa luau
que consome luau-sys
-provavelmente inspirando pesada rlua
. Uma vez que o caixote é realmente utilizável para criar VMs Luau, compilar o código para eles e executá -lo por dentro, tudo a partir de ferrugem segura, ele poderá ser publicado em Crates.io se o design da API for bom o suficiente.
Por enquanto, a maior parte do código da caixa luau
é apenas uma prova de conceito e será iterada e melhorada ao longo do tempo. O que você vê provavelmente não é o que o transformará na versão 0.1
. Estou sempre aberto a feedback, sugestões e solicitações.
Certifique -se de ler CONTRIBUTING.md
para diretrizes gerais sobre perguntas, relatórios de bugs e contribuições.
Copyright (C) 2021 Logandark
Este programa é um software livre: você pode redistribuí -lo e/ou modificá -lo nos termos da versão 3 da licença pública geral da GNU, conforme publicado pela Free Software Foundation.
Este programa é distribuído na esperança de que seja útil, mas sem garantia; sem a garantia implícita de comercialização ou aptidão para uma finalidade específica. Veja a licença pública geral da GNU para obter mais detalhes.
Você deveria ter recebido uma cópia da licença pública geral da GNU junto com este programa. Caso contrário, consulte https://www.gnu.org/license/.