Skip to content

Feature

rpfister102 edited this page Apr 11, 2019 · 13 revisions

Core Feature Proposal

This is a proposal which specifies the core features of the language. Those features will be implemented first. All other features are implemented later.

Core Features

  • contract
  • arithmetic operations (+/-/*///%)
  • comparison operattions (<, >, <=, >=, ==, !=)
  • negation (!)
  • variable declaration without structs, map, array (int, bool, string, address, a.s.o.)
  • function declaration
  • return statements (multiple)
  • structural statements (if, else a.s.o)
  • call statement
  • variable access
  • assignment

Questions

  • What do you think about version? I guess it's not required as a core feature and easy to add later - Can be postponed.
  • Is the constructor a core feature? It is really helpful (e.g. set owner) but is it required as core feature? - No.
  • Is it easier to implement single return values first or should we directly start with multiple return values? - Do multiple right away.
  • Should we implement default values in the core version? - No, as dynamic values are possible.

Thomas - "For me, Core is really just creating a contract with a function that adds two integers and returns it."

Additional Features (sorted by implementation order)

  1. Function Call
  2. VM support Multiple Return values
  3. Designator
  4. this keyword
  5. Constructor
  6. Array
  7. Map
  8. Struct
Clone this wiki locally