mirror of
https://github.com/HigherOrderCO/Bend.git
synced 2024-10-26 14:05:36 +03:00
13 KiB
13 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)
- Don't warn on unused generated definitions. (#514)
- Fix local definitions not being desugared properly. (#623)
- Expand references to functions generated by the
float_combinators
pass inside the main function. (#642) - Expand references inside constructors in the main function. (#643)
Added
- Add import system. (#544)
- Add multi line comment
#{ ... #}
syntax. (#595) - Add error message when input file is not found. (#513)
- Add
List/filter
andString/{equals, filter}
builtins. - Add IO functions for loading dynamically linked libraries (
IO/DyLib/open
,IO/DyLib/call
,IO/DyLib/close
). (#621)
Changed
- Change tuple syntax to not require parentheses in some cases. (#554)
- Improve error messages in branching statements. (#464)
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)
- Rename
Bytes/decode_utf8
toString/decode_utf8
andBytes/decode_ascii
toString/decode_ascii
. - Rename
log
toMath/log
andatan2
toMath/atan2
.
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) - Add primitive file IO function
IO/FS/flush
. (#598) - Changed
bend run
tobend run-rs
andbend run
defaults to the C implementation. (#620)
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.