392 Commits

Author SHA1 Message Date
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
Hans Svensson
3663b4e5d0 Add no_code option to aeso_compile (for encode/decode calldata) 2019-08-05 14:33:53 +02:00
Ulf Norell
79ae92a068 Add missing error message 2019-08-05 14:01:35 +02:00
Hans Svensson
2bf6ab7655
Merge pull request #110 from radrow/patch-1
Covered qid case in ast_typerep
2019-08-05 09:15:12 +02:00
Ulf Norell
5ff7aa5821
Merge pull request #109 from radrow/tuple-type
Change tuple typing syntax
2019-08-05 09:13:30 +02:00
Radosław Rowicki
045df292be Fixed pretty printing and pattern split (#111) 2019-07-29 14:27:01 +03:00
Radosław Rowicki
c97eb99921
Fixed double parens in ACI pp
Co-Authored-By: Ulf Norell <ulf.norell@gmail.com>
2019-07-29 11:01:38 +02:00
Radosław Rowicki
4c78ab3aee
Covered qid case in ast_typerep
Because `qid` was not accepted the following code 

```
contract Test = 
   datatype myOption('a) = MyNone | MySome('a)
   entrypoint optionFn(v: myOption(string)): myOption(string) = v
```
Used to lead to `function_clause` error.

Bug copyright (c) @nduchak
2019-07-26 15:31:06 +02:00
radrow
5ff983b0b3 Updated tests 2019-07-22 13:56:45 +02:00
radrow
4c72045a86 Changed tuple type parsing rule 2019-07-20 19:00:53 +02:00
radrow
7daf218b2a Changed 'require' function return type to Unit 2019-07-19 18:10:54 +02:00
radrow
973850e6a6 Fix pat split 2019-07-11 18:28:50 +02:00
Tobias Lindahl
c4660fe0cf Properly decode revert strings for fate as well 2019-07-09 16:24:56 +02:00
Tobias Lindahl
9be528a579 Use EXIT for internal errors to burn all gas 2019-07-09 14:36:09 +02:00
Tobias Lindahl
6f873e45b8 Use a name string rather than a name hash in transfer and revoke 2019-07-01 07:42:08 +02:00
Hans Svensson
41011d15cc Prepare 3.2.0 2019-06-28 11:51:51 +02:00
Ulf Norell
dc5fd74934 Fix include path not being added if giving explicit options 2019-06-28 10:28:16 +02:00
Ulf Norell
85408a12a2 Update ACI to new entrypoint declarations
also make ACI understand namespaces
2019-06-28 09:36:07 +02:00