mirror of
https://github.com/HigherOrderCO/Bend.git
synced 2024-08-16 07:10:37 +03:00
a2b75ffa3f
Fix bugs with the irrefutable case optimization
11 KiB
11 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project does not currently adhere to a particular versioning scheme.
Unreleased
Fixed
- Fix variable binding in pattern matching when the irrefutable pattern optimization occurs. (#618)
0.2.36 - 2024-07-04
Changed
- Improve error messages for redefinition of types and objects. (#485)
- Don't allow tabs to be used for indentation or spacing. (#463)
- Rename builtin function
sleep
toIO/nanosleep
. (#581) - Equational number pattern compilation to use the predecessor variable when possible. (#470)
Fixed
- Fix readback of numeric operations. (#467)
- Propagate the "builtin" attribute of definitions when extracting functions from
bend
andfold
syntax. - Panic while using unscoped variables on definition patterns. (#468)
Added
- Create new type of top-level definition for writing native HVM definitions. (#586)
- Add
log
andatan2
builtin functions. (#583) - Add
to_f24
,to_u24
andto_i24
number casting builtin functions. (#582) - Add
IO/sleep
builtin function to sleep for a given amount of seconds as a float. (#581) - Add primitive file IO functions
IO/FS/{read, write, seek, open, close}
. (#573) - Add encoding/decoding builtin functions
Bytes/{decode_utf8, decode_ascii} String/{encode_ascii, decode_ascii} Utf8/{decode_character, REPLACEMENT_CHARACTER}
. (#580) - Add
IO/print
function to print to stdout. (#579) - Add
IO/input
function to read a line of input from stdin. (#579) - Add file IO utilities
IO/FS/{read_file, write_file, read_line, read_to_end}
. (#578) - Add list utilities
List/{length, reverse, flatten, concat}
. - Add
elif
chains to functional syntax. (#596) - Add local definitions to imperative syntax. (#562)
- Add local definitions to functional syntax.
- Add repeated field name error message.
- Add
Math
builtin functions. (#570)
0.2.35 - 2024-06-06
Changed
- Make lambda
Term
with bind patterns display aslet
terms. (#466)
0.2.34 - 2024-06-05
Added
- Add syntax for "less than or equal"
<=
and "greater than or equal">=
numeric operators. (#451)
0.2.33 - 2024-06-05
Added
- Implement
expand_main
, a compilation pass that expands references in the entry point function. (#424)
Changed
- Make the
float_combinators
pass no longer extract in the entry point function. (#424)
0.2.32 - 2024-06-05
Added
- Implement the built-in
Tree
datatype. (#528) - Implement
![]
and!
syntax forTree
literals. (#528) - Create a changelog.
Changed
- Move the builtins documentation to
/docs
.
0.2.30 - 2024-06-04
Changed
- No longer expand generated recursive definitions. (#502)
0.2.29 - 2024-06-04
Added
- Support custom HVM binaries. (#479)
Changed
- Make monadic blocks lazy by deferring execution of continuations with free vars. (#526)
0.2.28 - 2024-05-30
Added
- Support mapper statements. (#465)
0.2.27 - 2024-05-29
Changed
- Make
with
clauses take a bind and an argument. (#516)
0.2.26 - 2024-05-28
Changed
do
keyword towith
. (#494)
Added
wrap
alias insidewith
blocks. (#494)
0.2.25 - 2024-05-28
Added
- Generated constructor tags. (#512)
0.2.24 - 2024-05-27
Added
elif
chains. (#427)
0.2.23 - 2024-05-27
Fixed
gen-cu
andgen-c
commands after move to HVM syntax tree.
0.2.22 - 2024-05-26
Changed
- Rust channel from
nightly
tostable
. (#486)
0.2.21 - 2024-05-25
Changed
- HVM syntax tree for representing inets inside the compiler. (#475)
0.2.20 - 2024-05-24
Fixed
- Map getters generation inside map setters. (#489)
0.2.19 - 2024-05-24
Changed
- Variable names to not allow
__
. (#478)
0.2.18 - 2024-05-24
Fixed
- Nested map getters generation. (#483)
0.2.17 - 2024-05-23
Changed
- Top-level names to not start with
//
. (#443)
0.2.16 - 2024-05-23
Added
- New
IO
builtins.
Fixed
- Definition pruning transformation.
0.2.15 - 2024-05-22
Fixed
- Exponentiation miscompilation. (#444)
0.2.14 - 2024-05-22
Changed
- Inet level eta-reduction pass to not reduce number nodes.
0.2.13 - 2024-05-22
Fixed
- Scope of
fork
.
0.2.12 - 2024-05-22
Changed
- Functional syntax
data
keyword totype
.
0.2.11 - 2024-05-22
Added
- List comprehension.
- Bit shift left and Bit shift right.
0.2.10 - 2024-05-21
Changed
- Numbers to new HVM number operation format.
- Rules definition to be in a single block.
- Disabled
net-size
check by default.
0.2.9 - 2024-05-19
Changed
- Readback error messages.
0.2.8 - 2024-05-19
Changed
- Increase max net size.
check-net-size
to be optional.
0.2.7 - 2024-05-17
Added
- Apache-2.0 License.
0.2.6 - 2024-05-17
Added
- Simple readback of tuples.
Changed
- Imperative syntax to require
,
in list-like builtins.
Fixed
- Empty map parsing.
0.2.5 - 2024-05-16
Added
- Exponentiation
**
operator.
Changed
go
tofork
insidebend
statement.
0.2.4 - 2024-05-15
Changed
- New version for hvm-core compatibility.
0.2.3 - 2024-05-15
Changed
- Rename to
bend-lang
. - Use crates.io HVM.
Added
- List readback.
0.2.2 - 2024-05-15
Changed
- Comments from
//
to#
. - Lambda syntax and built-in constructor names.
- Fold to require explicit state passing.
Added
- Record types and destructuring.
- String readback.
0.2.1 - 2024-05-15
Fixed
- Number parsing in imperative syntax.
Changed
- Require
\n
after return.
0.2.0 - 2024-05-14
- Initial public release of Bend.