作者:喝西北风的东北风_711 | 来源:互联网 | 2023-08-21 12:52
Idris2v0.4.0发布。此版本主要变更包括语法变化、编译器变更、REPLIDE模式变更。语法变化Desugarnon-bindingsequencingindoblocksto(>>)(#1095)MultilineStringswith"""asdelimiters(#109
开源软件供应链点亮计划,等你来!>>>
Idris 2 v0.4.0 发布。此版本主要变更包括语法变化、编译器变更、REPL/IDE 模式变更。
语法变化
- Desugar non-binding sequencing in do blocks to (
>>
) (#1095)
- Multiline Strings with
"""
as delimiters (#1097)
- Force strict indentation after usage of
with
keyword (#1107)
- The syntax for parameter blocks has been updated. It now allows to declare implicit parameters and give multiplicities for parameters. The old syntax is still available for compatibility purposes but will be removed in the future.
- Add support for SnocList syntax:
[<1, 2, 3]
desugars into Lin :<1 :<2 :<3
and their semantic highlighting.
- Underscores can be used as visual separators for digit grouping purposes in integer literals:
10_000_000
is equivalent to 10000000
and 0b1111_0101_0000
is equivalent to 0b111101010000
. This can aid readability of long literals, or literals whose value should clearly separate into parts, such as bytes or words in hexadecimal notation.
编译器变化
- Added more optimisations and transformations, particularly on case blocks, list-shaped types, and enumerations, so generated code will often be slightly faster.
- Added
--profile
flag, which generates profile data if supported by a back end. Currently supported by the Chez and Racket back ends.
- New
%builtin
pragma for compiling user defined natural numbers to primitive Integer
s (see the docs)
- The
version
field in .ipkg
files is now used. Packages are installed into a directory which includes its version number, and dependencies can have version number ranges using <=
, <
, >=
, >
, ==
to express version constraints. Version numbers must be in the form of integers, separated by dots (e.g. 1.0
, 0.3.0
, 3.1.4.1.5
etc)
- Idris now looks in the current working directory, under a subdirectory
depends
for local installations of packages before looking globally.
- Added an environment variable
IDRIS2_PACKAGE_PATH
for extending where to look for packages.
- Added compiler warnings flags (
-W
prefix):
-Wno-shadowing
: disable shadowing warnings.
-Werror
: treat warnings as errors.
- Experimental flag (
-Xcheck-hashes
) to check hashes instead of filesystem times to determine if files should be recompiled. Should help with CI/CD caching.
详情查看 Changelog。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 我们