* Add using namespace as to scanner and parser
* Change the alias from id() to con()
* Add using namespace to AST type inference
* Allow using namespace to appear in the top level
* Allow using namespace to appear inside functions
* Add a compiler test for using namespace
* Handle name collisions
* Implement mk_error for ambiguous_name
* Add failing test for ambiguous names
* Limit the scope of the used namespaces
* Add test for wrong scope of using namespace
* Use a single using declaration
* Split long line
* Forbid using undefined namespaces
* Add a test for using undefined namespaces
* Change the type of used_namespaces
* Add using namespace parts to scanner and parser
* Add using namespace parts to ast type inference
* Add tests for using namespace parts
* Update CHANGELOG.md
* Code cleaning
* Update the docs
* Update the docs about the same alias for multiple namespaces
* 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
* Updated tests, banned type decls and toplevel letvals
* Properly ban nested contracts
* Fix including by path
* Fix error message test
* Fix prettpr attr display. Make dialyzer happy
* More tests
* Fixed type printing
* Updated 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