Gaith Hallak fe5f5545d3
Add compiler warnings (#346)
* Add compiler warnings

Add include_type annotation to position

Add warning for unused includes

Add warning for unused stateful annotation

Add warning for unused functions

Add warning for shadowed variables

Add division by zero warning

Add warning for negative spends

Add warning for unused variables

Add warning for unused parameters

Change the ets table type to set for unused vars

Add warning for unused type defs

Move unused variables warning to the top level

Temporarily disable unused functions warnings

Add all kinds of warnings to a single ets table

Enable warnings separately through options

Use when_option instead of enabled_warnings

Turn warnings into type errors with warn_error option

Enable warning package warn_all

Re-enable unused functions warnings

Report warnings as type errors in a separate function

Make unused_function a recognized warning

Report warnings as a result of compilation

Fix tests and error for unknown warnings options

Fix dialyzer warnings

Do not show warning for variables called "_"

Move warnings handling into a separate module

Do not show warning for unused public functions in namespaces

Add src file name to unused include warning

Mark public functions in namespaces as used

Add tests for added warnings

Add warning for unused return value

Add test for turning warnings into type errors

* Update CHANGELOG
2021-11-24 11:46:21 +02:00
2021-11-11 23:08:31 +02:00
2021-10-15 12:03:46 +02:00
2021-11-24 11:46:21 +02:00
2021-11-24 11:46:21 +02:00
2021-11-24 11:46:21 +02:00
2021-08-27 17:46:18 +03:00
2019-06-11 09:44:43 +01:00
2021-11-10 14:21:23 +01:00
2021-11-10 14:32:29 +01:00

aesophia

This is the sophia compiler for the æternity system which compiles contracts written in sophia to FATE instructions.

The compiler is currently being used three places

Documentation

Additionally you can check out the contracts section of the æternity blockchain specification.

Versioning

Versioning should follow the semantic versioning guidelines. Id est, given a version number MAJOR.MINOR.PATCH, increment the:

  • MAJOR version when you make incompatible API changes
  • MINOR version when you add functionality in a backwards compatible manner
  • PATCH version when you make backwards compatible bug fixes

Interface Modules

The basic modules for interfacing the compiler:

Description
Stand alone compiler for the Sophia smart contract language
Readme ISC 13 MiB
v7.4.0 Latest
2023-09-05 17:04:46 +09:00
Languages
Erlang 99%
Reason 0.9%