Hans Svensson
db01e237c1
Add Oracle.expiry
2020-02-03 12:24:27 +01:00
Hans Svensson
760d2841d1
From Iris (with AENS.update) AENS.resolve is not Pure
2020-02-03 12:22:34 +01:00
Hans Svensson
d821de6381
Merge 'origin/lima' into 'origin/master'
2020-01-15 15:03:11 +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
Hans Svensson
cf1072140e
Merge 'origin/lima' into merge_lima_to_master
2019-12-19 15:09:48 +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
Hans Svensson
1c24a700dc
Add BLS12-381 operations (to FATE)
2019-11-27 10:57:24 +01:00
Hans Svensson
2d49426fe0
Merge 'origin/lima' into master
2019-11-27 10:46:18 +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
eec70f03a5
Merge pull request #183 from aeternity/lima
...
Merge lima into master
2019-11-25 13:16:17 +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
skkw
5c5d3c60ef
changed type of client ttl to int option
2019-11-18 16:25:47 +01:00
Ulf Norell
d3f5d7f5c5
Fix lost dependency when inlining switch target
2019-11-18 12:20:32 +01:00
Ulf Norell
0b474843f9
Protect against ill-typed code
2019-11-18 12:20:32 +01:00
Ulf Norell
1a628ab29f
Fix bad annotations on switch-body
2019-11-18 12:20:32 +01:00
Ulf Norell
03ad1ad1dd
Protect switch optimizations against ill-typed code
2019-11-18 12:20:32 +01:00
Ulf Norell
bfcb9ab324
Annotate switch bodies
2019-11-18 12:20:32 +01:00
Ulf Norell
4cc88be296
Desugar STORE R a
to POP R
2019-11-18 12:20:32 +01:00
Ulf Norell
505603ad71
More optimizations for impure instructions
2019-11-18 12:20:32 +01:00