Cette bibliothèque est une interface entre Rust et Luau. Il vise à être facile à utiliser, rapide et sûr (un peu comme rlua
). Il vise également à prendre en charge les fonctionnalités spécifiques à Luau de première classe, telles que:
Cette bibliothèque est un travail en cours lourde - c'est-à-dire, presque aucune des fonctionnalités énumérées ci-dessus n'est réellement fonctionnelle pour le moment. Cependant, les pièces fondamentales sont en place - luau-sys
est disponible et vise à fournir une API C sûre pour l'interfaçage avec tous les Luau, y compris les pièces C ++.
Consultez le README.md
pour luau-sys
pour plus d'informations sur le fonctionnement. Les liaisons brutes sont consommées par luau
, qui lisse sur l'interface cru C avec les types de rouille et la sécurité modernes. La plupart des travaux sur ce référentiel fonctionneront avec la "colle", car c'est ce qui dicte la fonctionnalité disponible pour que Rust puisse appeler (en faisant des trucs C ++ et en traduisant ensuite en types C purs).
Le reste du travail sera la conception d'API orientée consommation de la caisse luau
qui consomme luau-sys
- s'inspirant probablement de rlua
. Une fois que la caisse est réellement utilisable pour créer des machines virtuelles Luau, en compilant du code pour eux et en l'exécutant à l'intérieur, le tout à partir de la rouille sûre, il peut être publié sur Crates.io si la conception de l'API est assez bonne.
Pour l'instant, la majeure partie du code de la caisse luau
n'est qu'une preuve de concept et sera itérée et améliorée au fil du temps. Ce que vous voyez n'est probablement pas ce qui en fera la version 0.1
. Je suis toujours ouvert aux commentaires, aux suggestions et aux demandes de traction.
Assurez-vous de lire CONTRIBUTING.md
pour les directives générales sur les questions, les rapports de bogues et les contributions.
Copyright (C) 2021 Logandark
Ce programme est un logiciel gratuit: vous pouvez le redistribuer et / ou le modifier en vertu des termes de la version 3 de la licence GNU General Public, publiée par la Free Software Foundation.
Ce programme est distribué dans l'espoir qu'il sera utile, mais sans aucune garantie; Sans même la garantie implicite de qualité marchande ou d'adéquation à un usage particulier. Voir la licence publique générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la licence publique générale GNU avec ce programme. Sinon, voir https://www.gnu.org/licenses/.