
* Added standard List library and list comprehensions Added List library. Flatmaps WIP Fixed dependency in flat_map fcode generation Updated tests to use custom list lib Added comprehension test Added stdlib sanity Test * Extended stdlib for lists. Added error message for redefinition of stdlibx * Fixed type template * Improved stdlib * More functions * Fixed cyclic includes * Refixed imports and added few tests * Added fail test * Undelete removed type spec * Remove typo * Fix iter function * Fixed typo * Added if guards and let statements in list comp * Added more fail tests * Option stliv * 2 and 3 tuple stdlib * Updated stdlib to new syntax. Added recursor and changed all/any functions * Fixed performance issues. Changed include management * Fixed hash type
aesophia
This is the sophia compiler for the æternity system which compiles contracts written in sophia code to the æternity VM code.
For more information about æternity smart contracts and the sophia language see Smart Contracts and the Sophia Language.
It is an OTP application written in Erlang and is by default included in the æternity node. However, it can also be included in other systems to compile contracts coded in sophia which can then be loaded into the æternity system.
Versioning
aesophia
has a version that is only loosely connected to the version of the
Aeternity node - in principle they will share the major version but not
minor/patch version. The aesophia
compiler version MUST be bumped whenever
there is a change in how byte code is generated, but it MAY also be bumped upon
API changes etc.
Interface Modules
The basic modules for interfacing the compiler: