Gno: An interpreted, stack-based Go virtual machine to build succinct and composable apps + Gno.land: a blockchain for timeless code and fair open-source
This will be worked into a complete state so that we can see the full extent of the transition to the new system, then it will be broken down into a few PRs for ease of reviewing, similar to what happened with #1695.
Objectives of this effort:
Remove std in favour of chain, runtime and debug/testing.
Remove testing stdlibs. \
(This has not been discussed much yet, but the current "dual system" for standard libraries, is that p/ packages that serve as "testing aids" cannot use test-context functions due to the type checking. So I'm unifying the stdlibs, but disabling test-only features on-chain).
standardise import path instead of pkgpath \
This is something I wanted to add for a while for consistency with Go.
make sure internal/ rules are respected \
Ie. make them work as in Go.
Change "send" into "deposit"
These are all individually up for discussion, but I think they fit nicely into a better std; so here it is.
Contributors' checklist...
- [ ] Added new tests, or not needed, or not feasible
- [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory
- [ ] Updated the official documentation or not needed
- [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description
- [ ] Added references to related issues and PRs
- [ ] Provided any useful hints for running manual tests
- [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
This is a work-in-progress PR, but it contains some key ideas of the new design
References:
1475
1521
1576
2107
2338
This will be worked into a complete state so that we can see the full extent of the transition to the new system, then it will be broken down into a few PRs for ease of reviewing, similar to what happened with #1695.
Objectives of this effort:
std
in favour ofchain
,runtime
anddebug
/testing
.These are all individually up for discussion, but I think they fit nicely into a better std; so here it is.
Contributors' checklist...
- [ ] Added new tests, or not needed, or not feasible - [ ] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [ ] Updated the official documentation or not needed - [ ] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [ ] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).