0.11.0
版本发布时间: 2024-06-03 06:11:17
uiua-lang/uiua最新发布版本:0.12.0-dev.3(2024-07-21 14:18:11)
0.11.0 - 2024-06-02
You can find the release announcement here.
Language
-
Breaking Change -
un °
fix ¤
now does pattern matching -
Breaking Change -
un °
on ⟜
now does pattern matching in some cases- This makes its bevahior conform to the rule that a function's inverse must have the opposite signature
- Some other cases, such as
°⟜+
, now properly invert the function
-
Breaking Change -
keep ▽
with a scalar counts array now copies each row that many times- This matches the behaviors of APL and BQN, and is generally more useful
- The old behavior can be achieved with
/⊂↯
-
Breaking Change -
fill ⬚
values are no longer accessible through function calls - Stabilize
by ⊸
! - Stabilize
repr
- Add experimental stack swizzles, which allow for more flexible stack reordering
- Swizzles are written with a
λ
followed by a list of letters - Capital letters
fix ¤
the corresponding value - The
λ
formats from'
when it is in front of the letters
- Swizzles are written with a
- Add experimental array swizzles, which allow extracting rows from an array in a concise way
-
keep ▽
now works withun °
- It splits an array into counts and an adjacent deduplication
- Add the
json
function, which encodes and decodes JSON strings - Add the
xlsx
function, which encodes and decodes XLSX data -
bits ⋯
can now take negative numbers -
un °
bits ⋯
can now take non-booleans - Add
un °
duplicate .
pattern matching - Add
un °
min ↧
andun °
max ↥
pattern matching -
insert
can now be used withun °
to extract a map entry and pattern match it -
fill ⬚
edkeep ▽
's fill value may now be a list -
infinity ∞
can now be passed in a list totake ↙
ordrop ↘
to take/drop every row along an axis -
reduce /
can now take a function with more than 2 arguments- Each additional argument increases the number of arguments passed to
reduce /
by 1 - Additional arguments are passed to the function on every iteration
- Each additional argument increases the number of arguments passed to
-
try ⍣
signature checking is now more permissive - Switch function signature checking is now more permissive with branches that have an
assert ⍤
that always triggers -
first ⊢
,first ⊢
reverse ⇌
,rise ⍏
, andfall ⍖
can now be used on scalars - Add the
&exit
system function, which exits the program with a status code - Add the experimental
&memcpy
system function, which copies the data from&ffi
pointers to an array - Add the experimental
&memfree
system function, which frees memory allocated by&ffi
functions - Add
&tlsc
and&tlsl
system functions, which allow making TLS connections -
&rs
will now attempt to read additional bytes to resolve a UTF-8 character - [
&gife
] and [&gifs
] now support binary transparency - Signatures can now be specified in stack array notation immediately after a
[
or{
- Change how long decimal numbers are formatted
- Sequences of repeated digits are now replaced with
…
- Sequences of repeated digits are now replaced with
- Add argument documentation comments
- You can read more about this in the new Documenting Code tutorial
- Add some useful shadowable constants for working with compile-time file paths
-
ThisFile
- The relative path of the current source file -
ThisFileName
- The name of the current source file -
ThisFileDir
- The directory of the current source file -
WorkingDir
- The compile-time working directory
-
- Deprecate function strands
- They ended up making code less readable
- Remove previously deprecated primitives:
-
this ↬
-
recur ↫
-
all ⋔
-
cascade ⪾
-
bind λ
-
types
-
shapes
-
- Remove several backward compatibile glyphs from the lexer
- This frees up some glyphs that can now be used as function names
Interpreter
- Lots of optimizations
- Optimize the pattern
/F⊞F
to use much less memory and be an order of magnitude faster in some cases - Optimize
group ⊕
andpartition ⊜
withlength ⧻
,first ⊢
, andfirst ⊢
reverse ⇌
- Optimize iterating modifiers with a top-level
fork ⊃
orbracket ⊓
- Optimize
≡
⋅
constant
and∵
⋅
constant
patterns- The speed improvement is on the order of 70x
- Optimize the pattern
[⍥⚂…
- Optimize
length ⧻
deduplicate ◴
- Optimize the pattern
-
setinv
now emits a warning if the functions do not have opposite signatures - Add the
--io
flag to theuiua fmt
command, which formats code from stdin to stdout - Lots of bug and crash fixes
Website
- Add a Documenting Code tutorial
- Add a Files and Streams tutorial
- Add an Experimental Features page
- Rewrite the pad code to use a
<textarea>
rather than acontenteditable
<div>
- This should make it work better in more browsers, especially on mobile
- You can now ctrl+click on a glyph in the editor to open its documentation
1、 uiua-bin-aarch64-apple-darwin.zip 7.63MB
2、 uiua-bin-aarch64-pc-windows-msvc.zip 7.14MB
3、 uiua-bin-x86_64-apple-darwin.zip 8.07MB
4、 uiua-bin-x86_64-pc-windows-msvc.zip 7.88MB
5、 uiua-bin-x86_64-unknown-linux-gnu.zip 10.16MB