Ulf Norell
9487b79f42
Fix dialyzer complaints
2020-03-02 12:08:41 +01:00
Ulf Norell
4a812b6f3b
Error message tweaks
2020-03-02 11:35:55 +01:00
Ulf Norell
fe2d93ea8a
Compile protected calls to CALL_PGR
2020-03-02 11:35:55 +01:00
Ulf Norell
ecbc15db1b
Add 'protected' named argument to remote calls
...
If protected = true, the return type is wrapped in an option() which comes back
None if the remote call fails for any reason.
2020-03-02 08:51:33 +01:00
Hans Svensson
a38a365181
Change Char.to_lower/upper into String.to_lower/upper
2020-02-26 14:15:49 +01:00
Hans Svensson
e98edd4eef
Handle UTF-8 in character literals
...
Also handle `\x{hhh..}` in strings... Character literals has to be a single character, not composite.
+ tests (and the corresponding fix to the char literal pretty printer)
2020-02-24 15:35:54 +01:00
Hans Svensson
b9acf24dca
Make String.aes a stdlib + add more string functions
...
This means moving the FATE operations to StringInternal and adding to/from_list (and Char.to/from_int
+ Char.to_upper/lower).
2020-02-21 09:45:11 +01:00
Hans Svensson
bbc8555331
Auth.tx implementation and types
...
The arities field of the Chain.base_tx constructor is 22 integers long... This isn't very pretty but
that is the design we've chosen.
2020-02-11 10:00:46 +01:00
Hans Svensson
c3426f0e65
Add AENS.lookup
...
Also move Pointee-constructors inside AENS namespace.
2020-02-03 12:52:00 +01:00
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