I have started playing around with the concept of using Nim as base for a eWasm contract language. The idea would be to take a lot of the lessons of Vyper and combine that with nim macros to produce a contract oriented nim subset Currently this is the base interface I am aiming towards:
contract("MyContract"): proc hello(): uint256 = return 123 proc addition(a: uint256, b: uint256): uint256 = return a + b
With the contract block macro annotating the interface to the contract. I am still very early in shaping what this nim-subset will look like (and what toolsets I will be using to build it with) and therefore am open to suggestions If you have any good ideas please join me on the call on Friday so we can discuss them!
If you have any feedback or ideas on the proposal, please join the discussion call on
Call Link: https://meet.google.com/ozg-dova-eod
Date: 14:00 UTC every Tuesday