Releases: uiua-lang/uiua
Releases Β· uiua-lang/uiua
0.5.1
0.5.0
0.5.0 - 2023-12-2
Language
invert
β
andunder
β
now work with stack array notation.- Add the
stack
?
function, which debug-prints the entire stack dump
now works withinvert
β
andunder
β
fill
β¬
andpack
β
are now exclusive- Change how
regex
works to be more powerful - Add special syntax for splitting/joining lines of code
'
will split a line without changing semantics''
will combine two lines without changing semantics
- The way pervasive functions work with
box
β‘
ed arrays is now more consistent - Remove
reach
,distribute
,tribute
,level
,combinate
, and all ocean functions for good
Interpreter
- Add a style diagnostic about lines that are too long
- Add some other style diagnostics
- Replace
uiua check-update
withuiua update
, which will update the interpreter by installing a new version with Cargo - Bug and crash fixes
Website
- Multiline strings can now be toggled like comments with ctrl+4
0.4.1
0.4.0
0.4.0 - 2023-11-30
Language
windows
β«
can now take negative window sizes- Add an experimental distinction for some functions/modifiers
- Experimental features are opt-in and must be enabled by putting an
# Experimental!
comment at the top of a file
- Experimental features are opt-in and must be enabled by putting an
- Add the experimental
all
β
modifier, which is a variadic generalization ofboth
β©
- Add the experimental
rectify
β
function, which sets a function's inverse to itself - Add the experimental
setinv
modifier, which sets the inverse of a function - Add the experimental
setunder
modifier, which sets theunder
β
-compatible inverse of a function - Add the experimental
this
β¬
modifier, which sets a function to recur to - Add the experimental
recur
β«
modifier, which calls a function recursively - Allow custom modifiers to use switch function syntax
sign
Β±
now normalizes complex numbers- Change
type
mapping - Deprecate
reach
β
Interpreter
- Fix some bugs and crashes
- Improve some formatting with multiline functions and switch functions
identity
β
no longer formats from()
- Allow
uiua <file> [args]
as a shortcut foruiua run <file> [args]
Website
- Allow disabling autorun for pad links
0.3.1
0.3.0
0.3.0 - 2023-11-19
Language
- Big Change
- Deprecate all ocean functions
- Deprecate
level
β
andcombinate
β³
- Deprecate
tribute
β
anddistribute
βΊ
fold
β§
no longer takes a rank list
- Add the
rerank
β
function, which changes the rank of an array's rows- This fills the void left by
level
β
andcombinate
β³
- This fills the void left by
- Add the
fix
Β€
function, which adds a length 1 axis to an array rows
β‘
now repeats the rows of an arrays that have exactly 1 row- This in combination with
fix
Β€
fills the void left bytribute
β
anddistribute
βΊ
- This in combination with
cross
β
can now take more than 2 arguments- Switch functions are now less strict about branch signature compatibility and can take arrays as conditions
- A single switch function can now be used as a list of functions for dyadic modifiers
fork
β
andbracket
β
can take more than 2 functions without chaining this way
- Remove
if ?
, as all its use cases are now covered by switch functions. It will continue to parse, but?ab
will be formatted as(b|a)
flip
:
's glyph is now just a colon (it wasRATIO βΆ
)under
β
now works withabsolute value
β΅
- Remove
break β
for good
Interpreter
- Lots of bug and crash fixes
- Lots of performance improvements
Website
- Update the Advanced Array Manipulation Tutorial to reflect the changes in this version
0.2.0
0.2.0 - 2023-11-09
Language
under
β
withtake
β
anddrop
β
is now less strict about shape/rank changesrange
β‘
called on a list of 0 or 1 values is now more consistentfill
β¬
now works withrotate
β»
to give non-wrapping behaviorfill
β¬
now works withfind
β
if the searched-for array is longer than the array being searchedparse
now works withinvert
β
andunder
β
- The output of
find
β
is now the same shape as the array being searched
Interpreter
- Fix a bunch of bugs
- Several performance optimizations
transpose
β
is now much fasterdistribute
βΊ
andtribute
β
are now much faster if their function is a pervasive built-in- Some other functions are also a bit faster
Website
- Hold shift when copying a link to copy a Markdown link
0.1.0
0.1.0 - 2023-11-03
Language
- Add complex numbers, which can be created with the
complex
β
function - Add the
do
β’
modifier, which repeatedly calls a function as long as a condition holds - Deprecate
break
β
- Add multi-dimensional
where
β
join
β
to an empty list now always works regardless of rank of the other arrayeach
β΅
androws
β‘
now work withunder
β
- All ocean functions now work with
under
β
- Allow multiple values to be returned from
each
β΅
,rows
β‘
,distribute
βΊ
,tribute
β
,table
β
, andcross
β
invert
β
atangent
β
now produces the sine and cosine of an angle&i
now treats paths as relative to the file calling it rather than the current working directory- Rank list functions for the rank-generic modifiers can now take any number of arguments. For any number of aguments greater that 0, an empty numeric list will be pushed before the function is called.
- Add fraction literals with
/
- Parsing multiple formattable functions from words is now smarter
- Remove
bind '
. It made code hard to read. It will continue to parse, but will be formatted as(β¦)
Interpreter
- Add the
uiua stand
command, which creates a standalone executable
Website
- Add Optimizations page
- Add Images and GIFs tutorial
0.0.25
0.0.24
0.0.24 - 2023-10-24
Language
- Add the
reach
β
modifier, which removes the second value from the stack and calls its function. - Change how short spellings of
dip
β
,gap
β
, andidentity
β
work- Instead of allowing them to be spelled with 2 characters, they can now be spelled with 1 character as long as there are at least 2 in the sequence.
- If present,
'i'
may only come last. reach
β
is included.
- Add 2-letter spellings of
deep
β
,abyss
β
, andseabed
βΈ
to make them consistent withrock
β
.
Interpreter
- Fix a bunch of bugs and crashes
- The formatter now indents bindings that start with a bound function that starts with
&i
- The native interpreter no longer automatically checks for updates. You can still check manually with
uiua update?
.
Website
- Add challenges to the end of tutorial sections
- Make the introductory examples on the main page less esoteric
- Update the Advanced Stack Manipulation Tutorial to include
reach
β
Crate
- The Uiua Rust crate is now fully documented and has a decent API