Esta biblioteca es una interfaz entre Rust y Luau. Su objetivo es ser fácil de usar, rápido y seguro (como rlua
). También tiene como objetivo admitir características específicas de Luau de primera clase, como:
Esta biblioteca es un trabajo pesado en progreso, es decir, casi ninguna de las características enumeradas anteriormente es realmente funcional en este momento. Sin embargo, las piezas fundamentales están en su lugar: luau-sys
está disponible y tiene como objetivo proporcionar una API C segura para la interfaz con todas las piezas de C ++.
Consulte el README.md
para luau-sys
para obtener más información sobre cómo funciona. luau
consume las enlaces sin procesar, que suaviza la interfaz C Raw con los tipos y la seguridad modernos de óxido. La mayoría de los trabajos en este repositorio trabajará con el "pegamento", ya que eso es lo que dicta qué funcionalidad está disponible para que Rust llame (haciendo cosas de C ++ y luego traduciendo eso a tipos C puros).
El resto del trabajo será el diseño API orientado al consumidor de la caja luau
que consume luau-sys
, probablemente inspirándose en rlua
. Una vez que la caja se puede utilizar para crear máquinas virtuales de Luau, compilar código para ellos y ejecutarla en el interior, todo desde óxido seguro, puede publicarse en cajas.io si el diseño de la API es lo suficientemente bueno.
Por ahora, la mayor parte del código en la caja luau
es solo una prueba de concepto y será iterado y mejorado con el tiempo. Lo que ves es muy probable que no sea lo que lo convierte en la liberación 0.1
. Siempre estoy abierto a comentarios, sugerencias y solicitudes.
Asegúrese de leer CONTRIBUTING.md
para pautas generales sobre preguntas, informes de errores y contribuciones.
Copyright (c) 2021 Logandark
Este programa es un software gratuito: puede redistribuirlo y/o modificarlo bajo los términos de la versión 3 de la Licencia Pública General de GNU publicada por Free Software Foundation.
Este programa se distribuye con la esperanza de que sea útil, pero sin ninguna garantía; Sin siquiera la garantía implícita de comerciabilidad o estado físico para un propósito particular. Vea la Licencia Pública General de GNU para más detalles.
Debería haber recibido una copia de la Licencia Pública General de GNU junto con este programa. Si no, consulte https://www.gnu.org/licenses/.