Releases: uiua-lang/uiua
Releases · uiua-lang/uiua
Latest Build
This release contains binaries for the latest main branch.
0.18.0-dev.3
You can find the working changelog here.
0.18.0-dev.2
You can find the working changelog here.
0.18.0-dev.1
You can find the working changelog here.
0.17.3
0.17.2
0.17.1
0.17.0
0.17.0 - 2025-09-23
Language
- Breaking Change - Numeric subscripted
join ⊂now joins that many arrays - Breaking Change - Remove combining
enumber literals- It was confusing when combined with
escientific number notation
- It was confusing when combined with
- Breaking Change -
under ⍜shape △now tiles the original array to match the new shape instead ofreshape ↯ing - Breaking Change -
dip ⊙andon ⟜function packs no longer apply their modifier to the leftmost function- This change makes most usecases of these function packs cleaner, as
A⊙(B|C)changes to⊙(A|B|C)and likewise foron ⟜
- This change makes most usecases of these function packs cleaner, as
- Breaking Change -
reverse ⇌,transpose ⍉, androtate ↻no longer work through boxes- This caused consistency issues and was rarely used anyway
- Breaking Change - The FFI function API has been changed considerably, read more in the documentation for
&ffi,&memcpy, and&memset - Add
parse ⋕subscripts to parse strings in different bases - Allow for private modules, imports, and data definitions
- Modules containing data definition variants now contains a
Variantsbinding that lists their names - Add array pack syntactic sugar. This lets you write code like
[⊃(+|×)]as⊃[+|×]. - Subscripts can now be typed with
,instead of__s - Binding names can now end with prime characters
′,″, and‴- These will format from
'at the end of a binding name
- These will format from
- Add numeric subscripts for
keep ▽to keep along a number of dimensions - Add
under ⍜capability tofork ⊃s of monadic functions - Add
^shorthand for^0in index macros - Stabilize
self ˙- Add experimental sided subscripts for
self ˙
- Add experimental sided subscripts for
- Stabilize
occurrences ⧆ - Add experimental sided subscripts for
backward ˜ - Add numeric subscripts for
occurrences ⧆ - Add
indexin ⨂function, which is a flipped version ofindexof ⊗- This makes its calling convention match
memberof ∊ - It also matches the argument order of the more common case
indexof ⊗has been deprecated- The formatter will automatically convert existing code
- This makes its calling convention match
- Deprecate experimental
progressive indexof ⊘in favor ofoccurrences ⧆ - Add the
exponential ₑfunction, which computes the exponential function - Deprecate
logarithm ₙin favor ofexponential ₑ - Deprecate
unique ◰in favor of subscriptedoccurrences ⧆◰will automatically format to⧆₁
- Remove experimental
lnin favor ofexponential ₑ - Add
&seekfunction for working with large files - Calling
&tcpaon a TLS listener created with&tlslnow automatically tries conducting a TSL handshake - Make subscripted
stack ?merge adjacent non-subscriptedstack ?chains - Implement
under ⍜regexfor replacing using regex (calledgsubin some other languages) - Add functions to work with UDP:
- Rename
◿ modulustomodulo ◿- "Modulo" is the correct term for the operation this function conducts
- Add
un °andunder ⍜capability to&cd - Add experimental
reciprocal ⨪function, which computes the multiplicative inverse AKA reciprocal of a number - Add experimental
recurmodifier, which generalizes recursive algorithms- This would replace existing recursive functions
- Add experimental data functions with optional arguments
@\_and@\Wnow roundtrip throughprettyandrepr(previously they would be formatted as@\x¯01and@�respectively)- Remove previously deprecated
signatureandstringifymodifiers
Interpreter
- Many bug and crash fixes
- Emit a diagnostic when most modifiers are not provided enough arguments
- Emit a diagnostic for redundant subscripts
below ◡now accepts noadic and dyadic functions- An advice/style diagnostic will be emitted
- Speed up the implementation of
or ∨ - The fomatter no longer truncates trailing decimal
0s from number literals - Implement filled adjacent
stencil ⧈ - Optimize
=1⧻◴ - Remove
rkokalias and changekorkto format to▽₂ - Add
eachalias for≡₀ - Add
elemalias for∊ - Add
logalias forun °exponential ₑ - Add
setalias forun °by ⊸ - Improve "Array would be too large" error messages
- Change short form of the
--experimentalflag foruiua evalto use-xinstead of-e- This is consistent with the corresponding flag for
uiua repl
- This is consistent with the corresponding flag for
- Remove the
ⁿ÷:1("root" pattern) optimization
Pad
- Add
primitives.jsonto the pre-included files in the pad
0.17.0-rc.2
You can find the working changelog here.
0.17.0-rc.1
You can find the working changelog here.