-
v7.4.0 Stable
released this
2023-09-05 17:04:46 +09:00 | 28 commits to master since this releaseWhat's Changed
- Name lambdas by their locations by @radrow in https://github.com/aeternity/aesophia/pull/486
- Prepare release v7.4.0 by @hanssv in https://github.com/aeternity/aesophia/pull/487
Full Changelog: https://github.com/aeternity/aesophia/compare/v7.3.0...v7.4.0
Downloads
-
v7.3.0 Stable
released this
2023-08-24 17:59:42 +09:00 | 31 commits to master since this releaseWhat's Changed
- Unify typesigs when implementing interface funs by @ghallak in https://github.com/aeternity/aesophia/pull/469
- Improve constraint solving by @hanssv in https://github.com/aeternity/aesophia/pull/480
- Improve independence analysis in code optimizer by @hanssv in https://github.com/aeternity/aesophia/pull/483
Full Changelog: https://github.com/aeternity/aesophia/compare/v7.2.1...v7.3.0
Downloads
-
v7.2.1 Stable
released this
2023-06-29 20:46:23 +09:00 | 35 commits to master since this releaseFixed
- Fixed bugs with the newly added debugging symbols
Downloads
-
v7.2.0 Stable
released this
2023-06-19 19:21:44 +09:00 | 37 commits to master since this release[7.2.0]
Added
- Toplevel compile-time constants
namespace N = let nc = 1 contract C = let cc = 2
- API functions for encoding/decoding Sophia values to/from FATE.
Removed
- Remove the mapping from variables to FATE registers from the compilation output.
Fixed
- Warning about unused include when there is no include.
Downloads
- Toplevel compile-time constants
-
v7.1.0 Stable
released this
2023-02-24 17:40:06 +09:00 | 44 commits to master since this release[7.1.0]
Added
- Options to enable/disable certain optimizations.
- The ability to call a different instance of the current contract
contract Main = entrypoint spend(x : int) : int = x entrypoint f(c : Main) : int = c.spend(10)
- Return a mapping from variables to FATE registers in the compilation output.
- Hole expression.
Changed
- Type definitions serialised to ACI as
typedefs
field instead oftype_defs
to increase compatibility. - Check contracts and entrypoints modifiers when implementing interfaces.
- Contracts can no longer be used as namespaces.
- Do not show unused stateful warning for functions that call other contracts with a non-zero value argument.
Fixed
- Typechecker crashes if Chain.create or Chain.clone are used without arguments.
Downloads
-
v7.0.1 Stable
released this
2022-08-05 02:38:24 +09:00 | 61 commits to master since this release[7.0.1]
Added
- Add CONTRIBUTING.md file.
Changed
- Update Sophia syntax docs to include missing information about existing syntax.
Fixed
- 404 Contract polymorphism crashes on non-obvious child contract typing.
Downloads
-
v7.0.0 Stable
released this
2022-07-29 04:38:18 +09:00 | 65 commits to master since this releaseAdded
- Added support for
EXIT
opcode viaexit : (string) => 'a
function (behaves same asABORT
, but consumes all gas). - Compiler warnings for the following: shadowing, negative spends, division by zero, unused functions, unused includes, unused stateful annotations, unused variables, unused parameters, unused user-defined type, dead return value.
- The pipe operator |>
[1, 2, 3] |> List.first |> Option.is_some // Option.is_some(List.first([1, 2, 3]))
- Allow binary operators to be used as lambdas
function sum(l : list(int)) : int = foldl((+), 0, l) function logical_and(x, y) = (&&)(x, y)
- Contract interfaces polymorphism
Changed
- Error messages have been restructured (less newlines) to provide more unified errors. Also
pp_oneline/1
has been added. - Ban empty record definitions (e.g.
record r = {}
would give an error).
Removed
- Support for AEVM has been entirely wiped
Downloads
- Added support for
-
v6.1.0 Stable
released this
2021-10-20 18:42:48 +09:00 | 107 commits to master since this releaseAdded
Bitwise
stdlibSet
stdlibOption.force_msg
- Loading namespaces into the current scope (e.g.
using Pair
) - Assign patterns to variables (e.g.
let x::(t = y::_) = [1, 2, 3, 4]
wheret == [2, 3, 4]
) - Add builtin types (
AENS.name, AENS.pointee, Chain.ttl, Chain.base_tx, Chain.ga_meta_tx, Chain.paying_for_tx
) to
the calldata and result decoder - Patterns guards
switch(x) a::[] | a > 10 => 1 _ => 2
function f(a::[]) | a > 10 = 1 f(_) = 2
Changed
- Fixed the ACI renderer, it shouldn't drop the
stateful
modifier
Downloads
-
v6.0.2 Stable
released this
2021-07-07 00:31:35 +09:00 | 126 commits to master since this releaseChanged
List.from_to_step
now forbids non-positive step (this change does
not alter the behavior of the previously deployed contracts)- Fixed leaking state between contracts (typechecker feature, does not break consensus)
Downloads
-
v6.0.1 Stable
released this
2021-06-24 16:38:05 +09:00 | 133 commits to master since this releaseChanged
- Fixed a bug in calldata encoding for contracts containing multiple contracts
- Fixed a missing
include
in theFrac
standard library
Downloads