* 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
* Support for CREATE, CLONE and BYTECODE_HASH
* Add missing files
* Pushed the clone example through the typechecker
* CLONE compiles
* Fix dependent type in CLONE
* Bytecode hash fixes
* Refactor
* Refactor 2
* move some logic away
* Fixed some error messages. Type inference of child contract still does some random shit\n(mistakes arguments with result type)
* CREATE sometimes compiles and sometimes not
* Fix some scoping/constraint issues
* works, needs cleanup
* cleanup
* Fix some tests. Remove optimization of singleton tuples
* Fix default argument for clone
* Cleanup
* CHANGELOG
* Mention void type
* Address review, fix some dialyzer errors
* Please dialyzer
* Fix failing tests
* Write negative tests
* Docs
* TOC
* missing 'the'
* missing 'the'
* missing 'the'
* missing 'the'
* mention pre-fund
* format
* pre-fund clarification
* format
* Grammar in docs
* Allow block with separate type signature and definition of a function
For instance,
```
function
add : (int, int) => int
add(x, y) = x + y
```
cc #196
* Allow pattern matching in left-hand sides
* Changelog
* Fix type spec
* partial case-on-constructor
* Changelog for pattern-matching lets