Artur Puzio
c54a0cec3d
Clarify aeso_compiler use
2021-03-24 10:34:39 +00:00
radrow
8b4a1aaf0d
Trampoline
2021-03-08 12:45:21 +01:00
radrow
4e60d019ca
Fix constraints ordering
2021-02-23 11:05:02 +01:00
Hans Svensson
22aaeceba8
Properly handle type errors during desugar
2021-01-25 21:28:10 +01:00
radrow
7e65f26211
Fix interface exposure
2020-10-21 12:42:42 +02:00
radrow
1a5017ce2b
Debug mode turns off hermetization
...
Added tests and fixed bugs
2020-10-09 18:41:30 +02:00
Grzegorz Uriasz
bb728db51b
Provide the ACI along with the bytecode
2020-09-09 18:39:02 +02:00
Grzegorz Uriasz
c4eaf2249a
Don't regenerate the AST
2020-09-09 15:33:34 +02:00
Hans Svensson
db4de5d926
Fix singleton record calldata decode + test
2020-08-10 16:37:09 +02:00
radrow
54e43764ca
Ban empty contracts, ban function blocks with mismatched declarations
2020-05-15 19:09:08 +02:00
Radosław Rowicki
962ddf5303
Version push – 4.3.0 ( #255 )
...
* Version push – 4.3.0
.
* Fixed ordering of diffs in CHANGELOG
2020-04-02 15:10:53 +02:00
Radosław Rowicki
93341dc13b
Prepared for REPL usage ( #218 )
...
* Prepared for REPL usage
Exposed expr parsing
ets init in constant
Exposing and fixing
exposed expr
This will be squashed either
Expose letdef
Error handling
exposed autoimport
remove unnecessary changes
Fix types
Parser update
Expose body parser
remove map_get warning
make dialyzer happy
* Formatting
Co-Authored-By: Hans Svensson <hanssv@gmail.com>
Co-authored-by: Hans Svensson <hanssv@gmail.com>
2020-04-02 12:29:14 +02:00
Radosław Rowicki
4f554acee6
Fix error messages for some illegal constructions, fix absolute path includes ( #251 )
...
* 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
2020-03-30 14:52:16 +02:00
Ulf Norell
515838e2f9
Handle negative numbers in aci ( #247 )
...
* Handle negative numbers in aci
Fixes aeternity/aesophia_http#59
* Updated CHANGELOG
Updated CHANGELOG1
Co-authored-by: radrow <radrowicki@gmail.com>
2020-03-23 18:11:00 +01:00
Radosław Rowicki
bd7ed2ef8c
Instant unification error on arguments count mismatch ( #225 )
...
* Instant unification error on arguments count mismatch
* add testcase
* Add newline
2020-02-21 10:28:55 +01:00
Hans Svensson
a6f51d23f3
Bump version to 4.2.0 and fix CHANGELOG
2020-01-15 11:39:25 +01:00
Ulf Norell
4d4a14a9ab
GH-196 pattern matching lhs ( #210 )
...
* 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
2020-01-15 09:41:03 +01:00
Ulf Norell
d019e44924
Compile values to immediates when possible
2019-12-16 17:04:49 +01:00
Ulf Norell
ad54134961
Parse negative literal patterns
2019-12-16 17:04:49 +01:00
Ulf Norell
b51a79b5e1
Allow patterns in lets and list comprehension binds
2019-12-16 17:04:49 +01:00
Ulf Norell
d844c4d276
Fix missing type annotation in list comprehension body
2019-12-12 09:39:13 +01:00
Ulf Norell
64e2fff91a
Handle list comprehensions in pretty printer
2019-12-12 09:39:13 +01:00
Ulf Norell
d4f291f252
Handle qualified constructors in patterns
2019-12-12 09:34:26 +01:00
Ulf Norell
b9f585ebaf
Merge pull request #205 from aeternity/fate-flatten-store
...
FATE backend optimisations
2019-12-12 09:22:37 +01:00
Ulf Norell
954af13f59
Fix debug printing of store registers
2019-12-12 09:14:34 +01:00
Ulf Norell
a403a9d227
Unbox singleton tuples and records
2019-12-10 12:24:05 +01:00
Ulf Norell
bf5e2e2443
Fix parse errors causing crashes instead of nice errors
2019-12-09 08:45:55 +01:00
Ulf Norell
46a30b118f
Get rid of unnecessary return instruction after tail-call
2019-11-26 13:33:11 +01:00
Ulf Norell
bb1a45c557
Improve case-on-constructor optimisation
2019-11-26 13:10:58 +01:00
Ulf Norell
0a22c7a34a
More let-floating
2019-11-26 13:10:58 +01:00
Ulf Norell
c8153f94a6
More aggressive freshening to avoid shadowing issues
2019-11-26 13:10:58 +01:00
Ulf Norell
63d51baaa3
Dialyzer issues
2019-11-26 13:10:58 +01:00
Ulf Norell
cb045b0256
whitespace
2019-11-26 13:10:58 +01:00
Ulf Norell
c84064da7f
Inline local functions and simplify case-on-constructor
2019-11-26 13:10:58 +01:00
Ulf Norell
ad88797cef
Proper handling of lets in term_to_fate
2019-11-26 13:10:58 +01:00
Ulf Norell
6c3932b10c
Flattened state layout
...
... with necessary optimizations.
2019-11-26 13:10:56 +01:00
Ulf Norell
8d7c637241
Don't confuse variables and store registers in fate asm generation
2019-11-26 13:10:04 +01:00
Ulf Norell
a8119f1219
Track state layout
...
... but only default layout still.
2019-11-26 13:10:04 +01:00
Ulf Norell
d0fdd06d66
Change get_state and set_state fcode primitives to take a register
2019-11-26 13:10:04 +01:00
Ulf Norell
e645a8d034
Optimize before lambda lifting
...
(lambdas are either in dead code or not dead, so dead code elimination won't be affected)
2019-11-26 13:10:04 +01:00
Ulf Norell
499e2f8200
Handle records and type aliases correctly in fcode
2019-11-26 13:10:04 +01:00
Ulf Norell
5465b74ac9
Allow specifying store register in FATE backend
2019-11-26 13:10:04 +01:00
Ulf Norell
08b6148223
Bump version to 4.1.0
2019-11-26 09:02:26 +01:00
Ulf Norell
8984ecc32d
Bump version numbers
2019-11-25 11:55:31 +01:00
Ulf Norell
bd64260e37
Remove impossible case
...
h/t dialyzer
2019-11-25 10:42:37 +01:00
Ulf Norell
6380e04a97
Strip switches on variants with only catch-all
2019-11-19 16:39:01 +01:00
Ulf Norell
2be3c9194d
Optimize switches with a single successful branch
...
Typical case: require(_, _)
2019-11-19 15:14:00 +01:00
Ulf Norell
d0cfd9cbbe
Export to_basic_blocks for tests
2019-11-19 13:11:06 +01:00
Ulf Norell
7f7f53e044
Fix issue in basic block generation
2019-11-19 13:10:56 +01:00
Ulf Norell
7d8a773d6a
Fix type specs
2019-11-19 13:10:26 +01:00