Ulf Norell
f2469a676d
Refactor builtin compilation in icode
...
- Eta expand instead of failing on unapplied builtins
2019-09-03 14:35:13 +02:00
Ulf Norell
db7bf7a730
Set error msg position to last occurrence of duplicate definition
2019-09-03 14:35:13 +02:00
Ulf Norell
e37ac44726
Ensure that init is not payable
2019-09-03 14:35:13 +02:00
Hans Svensson
249b61238e
Structured parse_errors and type_errors
2019-09-03 14:35:13 +02:00
Hans Svensson
9e955d5958
Remove unused aeso_constants
2019-09-03 14:35:13 +02:00
Hans Svensson
f0c728ef1e
set aebytecode commit
2019-09-03 13:15:19 +02:00
Ulf Norell
470970d937
Disallow calling init
from inside the contract
2019-09-03 12:22:15 +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
Thomas Arts
e9f717a17b
Update src/aeso_ast_to_icode.erl
...
Co-Authored-By: Ulf Norell <ulf.norell@gmail.com>
2019-09-02 10:21:35 +02:00
Thomas Arts
cf91a27fb2
Keep sign last
2019-09-01 10:58:49 +02:00
sennui
83d06977f9
add extra argument to claim for bidding
2019-09-01 10:58:49 +02:00
Ulf Norell
062309e578
Type variables mentioned in local functions should not be flexible
...
(cc #112 )
2019-08-30 14:22:31 +02:00
Ulf Norell
6fd39d4cb1
Add checks for polymorphic/higher order oracles and higher order entrypoints (AEVM)
2019-08-30 11:18:20 +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
80075a9d36
Add missing case for builtin unit type
2019-08-28 09:45:25 +02:00
Ulf Norell
c51531f620
please dialyzer
2019-08-27 18:04:32 +02:00
Ulf Norell
3b2daf8cd6
Better errors when using old tuple type syntax
2019-08-27 15:08:56 +02:00
Ulf Norell
3ff93c5c89
Fix bug in include chasing
...
... making it possible for the same file to be included multiple times
2019-08-27 14:29:24 +02:00
Ulf Norell
850221aaf3
Remove no_implicit_stdlib option
2019-08-27 14:10:40 +02:00
Ulf Norell
7705138ab2
auto-import ListInternal when using list comprehensions or [a..b]
2019-08-27 13:59:36 +02:00
Ulf Norell
5f733e01dd
Implement [a..b]
2019-08-27 13:59:01 +02:00
Ulf Norell
79a928e530
Fix bad type specs
2019-08-27 13:56:02 +02:00
Ulf Norell
d23208c191
Fix bugs in dependency analysis
2019-08-27 13:55:45 +02:00
Ulf Norell
02af75aa34
Move stdlib code to priv dir and don't do any implicit includes
2019-08-27 11:33:29 +02:00
Ulf Norell
9eed18f812
Merge pull request #132 from aeternity/fate-compiler-optimizations
...
Fate compiler optimizations
2019-08-26 08:25:40 +02:00
Ulf Norell
07cf162703
Fix performance problem in FATE optimiser caused by debug printing
2019-08-23 10:07:43 +02:00
Hans Svensson
d4c6187739
Merge pull request #130 from aeternity/PT-168026424-prepare_sophia_4_0_RC1
...
Preparing 4.0.0-rc1
2019-08-22 16:02:06 +02:00
Hans Svensson
2620aa64b4
Add some no_implicit_stdlib for now
2019-08-22 15:21:41 +02:00
Ulf Norell
20064b72fa
Compile tail-calls to current function to jumps
2019-08-22 14:50:15 +02:00
Ulf Norell
a942561907
Improved optimizations of FATE code
2019-08-22 14:49:48 +02:00
Hans Svensson
bde76c8580
Preparing 4.0.0-rc1
2019-08-22 13:30:00 +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
Ulf Norell
bbf043f4ee
Merge pull request #126 from radrow/listcompfixes
...
Fixed comprehension dependencies
2019-08-21 11:51:16 +02:00
Ulf Norell
ba41ab457d
Merge pull request #127 from aeternity/radrow-patch-1
...
Fixed intersperse in stdlib
2019-08-21 11:51:04 +02:00
Hans Svensson
ebdd38c505
Change ecverify into verify_sig and then add an actual ecverify
2019-08-21 09:29:40 +02:00
Radosław Rowicki
5dbca47d34
Fixed intersperse in stdlib
2019-08-20 20:16:52 +02:00
radrow
79d491e4a8
Fixed comprehension dependencies
2019-08-20 18:44:47 +02:00
Hans Svensson
bb0c3b54df
ACI should also track payable
2019-08-19 08:57:31 +02:00
Hans Svensson
d0485304b6
Please dialyzer
2019-08-19 08:57:31 +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
448adb8890
Don't generate remote tail calls
2019-08-13 15:52:47 +02:00
Thomas Arts
cecc977898
Compiler returns abi_version
2019-08-06 13:11:31 +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
Hans Svensson
d526e55c26
to_sophia_value should also use no_code option
2019-08-05 15:19:22 +02:00
Ulf Norell
2d6381dc6f
Generate INIT function which writes the state instead of returning it
2019-08-05 14:36:59 +02:00