Hans Svensson
efd45df820
Merge pull request #212 from aeternity/GH-211-prepare_release_4_2_0
...
Prepare release 4.2.0
v4.2.0
2020-01-15 11:58:47 +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
f7abaf07fa
Add list comprehension match to test case
2019-12-16 17:04:49 +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
2e4558b3b4
Changelog
2019-12-10 12:57:52 +01:00
Ulf Norell
a403a9d227
Unbox singleton tuples and records
2019-12-10 12:24:05 +01:00
Ulf Norell
c7b846cbfe
Merge pull request #190 from aeternity/GH-189-parse-error-crash
...
Fix parse errors causing crashes instead of nice errors
2019-12-09 10:27:20 +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
99ecda4b7b
Fix warnings in test suites
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
Hans Svensson
6ca63e4b40
Merge pull request #184 from aeternity/GH-181-prepare-4.1.0
...
Bump version to 4.1.0
v4.1.0
2019-11-26 09:02:56 +01:00
Ulf Norell
08b6148223
Bump version to 4.1.0
2019-11-26 09:02:26 +01:00
Ulf Norell
8a47603b62
Merge pull request #182 from aeternity/GH-181-prepare-4.1.0-rc1
...
GH-181 Prepare 4.1.0-rc1
v4.1.0-rc1
2019-11-25 12:16:03 +01:00
Ulf Norell
d4c9d369b1
Remove aesophia_cli and aesophia_http stuff from change log
2019-11-25 12:07:05 +01:00
Ulf Norell
8984ecc32d
Bump version numbers
2019-11-25 11:55:31 +01:00
Ulf Norell
025c837886
4.1.0-rc1 change log
2019-11-25 11:52:42 +01:00
Ulf Norell
06e6138de1
Merge release notes for 4.0.0 release candidates into 4.0.0 entry
2019-11-25 11:42:05 +01:00
Ulf Norell
7eb4423e70
Merge pull request #180 from aeternity/fate-optimization-fixes
...
Sophia FATE backend overhaul
2019-11-25 11:29:35 +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
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