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
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
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
d821de6381
Merge 'origin/lima' into 'origin/master'
2020-01-15 15:03:11 +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
b51a79b5e1
Allow patterns in lets and list comprehension binds
2019-12-16 17:04:49 +01:00
Ulf Norell
a403a9d227
Unbox singleton tuples and records
2019-12-10 12:24:05 +01:00
Hans Svensson
1c24a700dc
Add BLS12-381 operations (to FATE)
2019-11-27 10:57:24 +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
6c3932b10c
Flattened state layout
...
... with necessary optimizations.
2019-11-26 13:10:56 +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
skkw
126e04ae42
support for AENS.update call
2019-11-12 14:27:46 +01:00
Ulf Norell
5fc6e18cd2
Add Address.to_contract
...
Casts an address to a (any) contract type.
2019-09-30 14:47:05 +02:00
Ulf Norell
3ea8470dc8
Compile Bytes.concat and split to FATE
2019-09-09 18:40:45 +02:00
Ulf Norell
157ffbf9e2
Fix bug with unapplied builtins taking typerep arguments
...
(Oracle builtins and AENS.resolve)
2019-09-04 10:20:04 +02:00
Ulf Norell
602e99512f
Fail gracefully on higher-order state in AEVM and accept it in FATE
2019-09-03 17:24:40 +02:00
Ulf Norell
0b56691533
Tell dialyzer to bugger off
2019-09-03 14:36:36 +02:00
Ulf Norell
30de1db163
More code errors
2019-09-03 14:35:13 +02:00
Ulf Norell
510935d945
Framework and tests for code generation (icode/fcode) errors
2019-09-03 14:35:13 +02:00
Ulf Norell
58ab771dff
Make init
do the state updates in FATE (instead of a new INIT function)
2019-09-03 09:01:11 +02:00
sennui
83d06977f9
add extra argument to claim for bidding
2019-09-01 10:58:49 +02:00
Ulf Norell
1ce95b32ac
Add checks for polymorphic/higher order oracles and higher order entrypoints (FATE)
2019-08-30 11:18:20 +02:00
Ulf Norell
5f733e01dd
Implement [a..b]
2019-08-27 13:59:01 +02:00
Ulf Norell
e94b5379ed
Deadcode elimination pass
2019-08-21 12:19:01 +02:00
Ulf Norell
cbc8909954
Add default init function in fcode pass instead of in assembler
2019-08-21 11:51:36 +02:00
Hans Svensson
ebdd38c505
Change ecverify into verify_sig and then add an actual ecverify
2019-08-21 09:29:40 +02:00
Hans Svensson
e9505e240f
Add Address.is_payable(address)
2019-08-19 08:57:31 +02:00
Hans Svensson
f27d37d624
Add payable modifier for contracts and entrypoints
2019-08-19 08:57:31 +02:00
Ulf Norell
522d977be9
Remote calls now take typerep arguments
2019-08-16 09:12:04 +02:00
Tino Breddin
dd26649f7d
[PT-167805291] Add opcode for ecrecover ( #122 )
...
* Add opcode for ecrecover
* Update aebytecode
* Extend signature bytes type used for ecrecover
* Add ecrecover to changelog
* Add some type specs
* Please dialyzer
2019-08-14 21:02:46 +02:00
Radosław Rowicki
b669d2df1e
Added list comprehensions and standard List, Option, Func, Pair, and Triple library ( #105 )
...
* Added standard List library and list comprehensions
Added List library.
Flatmaps WIP
Fixed dependency in flat_map
fcode generation
Updated tests to use custom list lib
Added comprehension test
Added stdlib
sanity
Test
* Extended stdlib for lists. Added error message for redefinition of stdlibx
* Fixed type template
* Improved stdlib
* More functions
* Fixed cyclic includes
* Refixed imports and added few tests
* Added fail test
* Undelete removed type spec
* Remove typo
* Fix iter function
* Fixed typo
* Added if guards and let statements in list comp
* Added more fail tests
* Option stliv
* 2 and 3 tuple stdlib
* Updated stdlib to new syntax. Added recursor and changed all/any functions
* Fixed performance issues. Changed include management
* Fixed hash type
2019-08-14 13:53:58 +02:00
Ulf Norell
74933b0616
Merge pull request #117 from aeternity/PT-167701356-split-store
...
PT-167701356 split store
2019-08-06 12:27:18 +02:00
Ulf Norell
2d6381dc6f
Generate INIT function which writes the state instead of returning it
2019-08-05 14:36:59 +02:00
Hans Svensson
3663b4e5d0
Add no_code option to aeso_compile (for encode/decode calldata)
2019-08-05 14:33:53 +02:00
Radosław Rowicki
045df292be
Fixed pretty printing and pattern split ( #111 )
2019-07-29 14:27:01 +03:00
radrow
973850e6a6
Fix pat split
2019-07-11 18:28:50 +02:00