Commit Graph

453 Commits

Author SHA1 Message Date
Erik Stenman b7b54b38a8 Add release target. 2019-02-20 17:34:49 +01:00
Ulf Norell ae3f292f03 Skeleton for Fate backend 2019-02-20 09:44:32 +01:00
Ulf Norell b5b0d30fc4 Less hacky handling of Chain.event 2019-02-08 14:48:38 +01:00
Ulf Norell 236ef6eb89 Dialyzed! 2019-02-08 14:16:06 +01:00
Ulf Norell aa6d56ce9b Allow passing an explicit "file system" for included files to the compiler 2019-02-08 14:16:06 +01:00
Ulf Norell 27cbedc7ab Further generalise used names computation 2019-02-08 14:16:06 +01:00
Ulf Norell 2ac47059c1 Refactor used_ids and used_types into a generic fold 2019-02-08 14:16:06 +01:00
Hans Svensson 421bc01012 Add error messages for bad include and nested namespace 2019-02-08 14:16:06 +01:00
Hans Svensson 2b7490776e Add include directive
Add an include directive to include namespaces into a contract. Only allowed at the top level.

To allow includes, either call through aeso_compiler:file or set the option `allow_include` (and add `include_path`(s)).
2019-02-08 14:16:06 +01:00
Ulf Norell 0a5b80668f Don't mess up on multiple namespaces in icode compiler 2019-02-08 14:16:06 +01:00
Ulf Norell 8262d7780f Fix some issues pointed out by dialyzer 2019-02-08 14:16:06 +01:00
Ulf Norell e6f01481bf Bind state and event primitives only in contracts (and with the right types) 2019-02-08 14:16:06 +01:00
Ulf Norell d9188d58a7 Proper checking of types 2019-02-08 14:16:06 +01:00
Ulf Norell dfa286d43c Deadcode elimination (icode post pass) 2019-02-08 14:16:06 +01:00
Ulf Norell 478da2af33 Don't expose namespace functions as entrypoints 2019-02-08 14:16:06 +01:00
Ulf Norell 10be09fe30 Add checks on event constructor arguments to type checker 2019-02-08 14:16:06 +01:00
Ulf Norell e6c9d0fac1 Put event index information in constructor annotation instead of in argument types 2019-02-08 14:16:06 +01:00
Ulf Norell 367f87b612 Implement namespaces
This includes a massive refactoring of the type checker, getting
rid of most of the ets tables and keeping a proper environment.
2019-02-08 14:16:06 +01:00
Hans Svensson 3ba89d9f55 Merge ROMA into MINERVA 2019-02-08 13:38:37 +01:00
Robert Virding 515f444e7c Remove specific filename extension handling
And take the chance to make file handling errors ahve the same format
as other errors.
2019-02-06 14:02:46 +01:00
Hans Svensson 362373c0d7 Add escript post_hooks 2019-01-30 10:58:19 +01:00
Hans Svensson 87e5562f74 Super simple standalone version of the compiler 2019-01-29 15:25:39 +01:00
Ulf Norell b8cb7ab1b5 Fix incorrect type specs
h/t OTP-21 dialyzer
2019-01-29 13:58:05 +01:00
Hans Svensson ceb7de2119 Remove a leftover reference to enacl 2019-01-29 13:58:00 +01:00
Ulf Norell 3a7c8f905a Fix incorrect type specs
h/t OTP-21 dialyzer
2019-01-28 14:54:34 +01:00
Hans Svensson f1f2b09294 Cleanup whitespace, bad typespec, and remaining enacl reference 2019-01-28 10:50:32 +01:00
Ulf Norell 53299b9b17 Merge pull request #17 from aeternity/PT-163478903-builtin-bits-type
PT-163478903 builtin bits type
2019-01-28 10:05:09 +01:00
Robert Virding db1c0fa05a Improve pretty printing the code AST 2019-01-25 16:16:20 +01:00
Robert Virding fe1a2758c3 Improve the interface to the compiler
It is now more consistent though we can still discuss how we want the
interface to look.
2019-01-25 16:16:20 +01:00
Ulf Norell 79de25b3a5 Fix minor bugs in compilation of bit fields 2019-01-25 16:09:31 +01:00
Ulf Norell 3e1290efaf Add Bits.all and rename Bits.zero to Bits.none 2019-01-25 16:09:31 +01:00
Ulf Norell 9c77622c7c Add set operations on bit fields (union, isect, diff) 2019-01-25 16:09:31 +01:00
Ulf Norell a367d5040a Add builtin bit field type 2019-01-25 16:09:31 +01:00
Ulf Norell d8bf0bda45 Remove integer bit operations 2019-01-25 16:09:31 +01:00
Hans Svensson f133483a90 Fix git mess up 2019-01-25 10:49:36 +01:00
Hans Svensson 86285a8ae0 Refactor String.concat to not shift 256 bits
Adding SafeMath to VM_AEVM_SOPHIA_2 will break String.concat otherwise.
2019-01-25 09:57:23 +01:00
Hans Svensson 23ccce4c22 Use ?SHL and ?SHR for 'bsl' and 'bsr' 2019-01-22 21:53:30 +01:00
Ulf Norell 5fd24fec86 Add more hash primops 2019-01-22 09:09:37 +01:00
Hans Svensson d8fff8f20f Add Crypto.ecverify 2019-01-21 14:20:15 +01:00
Hans Svensson 0d78a5e4a0 Add Erlang implementation of Blake2B
This removes the dependency on enacl, and NIFs.
2019-01-14 10:58:25 +01:00
Hans Svensson b61e3270f9 Merge pull request #6 from aeternity/improve_builtins
PT-163146624 Improve builtins
2019-01-14 10:58:12 +01:00
Hans Svensson 028334ecb6 Avoid exporting all internal functions 2019-01-11 16:13:17 +01:00
Ulf Norell 783d74dff1 Check for missing fields in record expressions 2019-01-11 14:23:53 +01:00
Hans Svensson 335cd4743a Use generalized baseX_int for int_to_str 2019-01-11 13:48:26 +01:00
Hans Svensson 77212b5eb3 rename int_digits baseX_digits 2019-01-11 13:48:26 +01:00
Hans Svensson 79307c34df generalize base58_int to baseX_int 2019-01-11 13:48:26 +01:00
Hans Svensson 9187659a1e Refactoring builtins and improve base58 encoding 2019-01-11 13:48:26 +01:00
Thomas Arts 73a4839d2f Bump version 2019-01-10 09:57:55 +01:00
Luca Favatella 5924197b90 Delete spurious file (#4) 2019-01-08 17:36:55 +00:00
Ulf Norell 7849fe302c Add missing type check of init function 2019-01-08 12:27:39 +01:00