diff --git a/CHANGELOG.md b/CHANGELOG.md index e19a87ce4..97b3cb4e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## [Unreleased] + +### Added +- **PeTTa Integration**: MeTTa smart contract execution via SWI-Prolog + - New system contract URN `rho:petta:execute` for executing MeTTa code from Rholang + - Core execution function `petta_execute()` with 10-second timeout protection + - Example contracts in `rholang/examples/system-contract/swipl/` demonstrating pattern matching and recursion + - Full documentation: + - URN specification: `rholang/docs/PETTA_URN_SPECIFICATION.md` + - Test documentation: `rholang/tests/PETTA_TESTS_SUMMARY.md` and `TIMEOUT_TESTS.md` + - Example README: `rholang/examples/system-contract/swipl/README.md` + - API documentation via doc comments on all public items ## [v0.1.0-SNAPSHOT] - 2023-05-15 - Added new features diff --git a/DEVELOPER.md b/DEVELOPER.md index 13e6a722c..d8b66e6d0 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -5,6 +5,14 @@ __Note__ Successfully building from source requires attending to all of the prer ### Prerequisites * [Environment set up](README.md#installation). +* **SWI-Prolog** - Required runtime dependency for MeTTa smart contract execution via PeTTa submodule + - Nix/direnv users: Already provisioned in the development shell + - Manual installation: + - macOS: `brew install swi-prolog` + - Ubuntu/Debian: `apt-get install swi-prolog` + - Fedora: `dnf install pl` + - The `swipl` binary must be in your PATH + - PeTTa submodule must be initialized: `git submodule update --init --recursive`