Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use rust primitive types in Python runtime #809

Merged
merged 12 commits into from
Dec 10, 2024

Conversation

vsbogd
Copy link
Collaborator

@vsbogd vsbogd commented Nov 22, 2024

Remove Python numbers and boolean values from Python standard library and use Rust primitives.

Introduce IncorrectArgument error to return from grounded operations to say interpreter that arguments of the operation cannot be matched properly. Interpreter doesn't reduce such operation similarly to the case when pure MeTTa function is not matched.

Some improvements of the Rust stdlib modules structure.

Fixes #797

This breaks c1_grounded_basic.metta because now < is not a part of
Python stdlib. Rust < return Rust true value and it cannot be checked
for equality with Python True value.
@vsbogd vsbogd force-pushed the use-rust-primitive-types branch from babe3ed to 34d1175 Compare November 22, 2024 22:22
Add Number and Bool atom types to the C API. Add asserts to check that
caller either use correct type or no type at all. Add unit test. Fix old
unit tests.
@vsbogd vsbogd force-pushed the use-rust-primitive-types branch from 34d1175 to 5d5586d Compare November 25, 2024 09:33
@vsbogd vsbogd marked this pull request as ready for review November 25, 2024 09:33
@vsbogd vsbogd requested a review from Necr0x0Der November 25, 2024 09:33
@vsbogd
Copy link
Collaborator Author

vsbogd commented Dec 10, 2024

Fixes #797

@vsbogd vsbogd merged commit 346648e into trueagi-io:main Dec 10, 2024
1 check passed
@vsbogd vsbogd deleted the use-rust-primitive-types branch December 10, 2024 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

c1_grounded_basic.metta and d2_higherfunc.metta MeTTa test scenarios fail with Rust interpreter
1 participant