Releases: uiua-lang/uiua
Releases · uiua-lang/uiua
0.14.0-dev.6
You can find the working changelog here.
0.14.0-dev.5
You can find the working changelog here.
0.14.0-dev.4
You can find the working changelog here.
0.14.0-dev.3
You can find the working changelog here.
0.14.0-dev.2
You can find the working changelog here.
0.14.0-dev.1
You can find the working changelog here.
0.13.0
0.13.0 - 2024-10-21
You can find the release announcement here.
Language
- Breaking Change -
minimum ↧andmaximum ↥now compare boxes lexicographically- This makes them consistent with comparison functions like
less than <
- This makes them consistent with comparison functions like
- Breaking Change -
gennow takes a shape argument and no longer outputs a new seed - Breaking Change -
&clipnow unifies&clgetand&clset - Breaking Change -
typenumbers are now:0for normal numbers1for characters2for boxes3for complex numbers- This orders the types more or less as you're likely to need to handle them
- In the future, if another number type is added, it can go at the end next to complex numbers
- The experimental
chunks ⑄function's behavior has been moved to an extension onwindows ◫- This also allows the specification of "stride"
- This is inspired by APL's
stencil ⌺behavior chunks ⑄has been deprecated
- Stabilize
orient ⤸- Change its glyph to something with broader font support
⮌will continue to work and will be formatted as⤸
- Add
anti ⌝modifier, which simplifies choosing certain inverses - Add
obverse ⌅modifier, which unifies the specification of inverses un °by ⊸can now be used to access the "undo" part of a function'sunder ⍜functionality- Stabilize
below ◡ - Rename
⤙ butand⤚ withtowith ⤙andoff ⤚with ⤙has been stabilized
- "Stack macros" are now called "index macros"
- Stabilize existing placeholder indexing syntax (
^0,^1, etc.) - Deprecate existing stack-based macro placeholders (
^!,^., etc.)
- Stabilize existing placeholder indexing syntax (
assert ⍤at the beginning of a line is now interpreted as a test in some contexts- See the updated Testing Tutorial for more information
parse ⋕now parses complex values from botharbianda+biformatsun °orient ⤸is now equivalent torange ⇡length ⧻shape △duplicate .- Add a feature to some
under ⍜functions that makes them more permissive of changes in rank under ⍜un °bits ⋯now preserves a minimum bit lengthunder ⍜reverse ⇌,transpose ⍉, androtate ↻are now smarter with respect to the signature ofunder ⍜'s second function- For example
⍜⇌°⊂behaves in a more useful way
- For example
under ⍜length ⧻now reshapes an array to have the transformed lengthNaNand∞indices forpick ⊡andselect ⊏now get thefill ⬚valuescan \\now accepts functions that take more than 2 arguments- The behavior is similar to the analogous behavior for
reduce /
- The behavior is similar to the analogous behavior for
- Allow
on ⟜to use function packs - Allow
under ⍜of scalarkeep ▽ - Add the
graphemesfunction, which splits a string into unicode grapheme clusters - Add the
&fmdsystem function, which creates a directory - Very large arrays are now displayed more concisely in output
- Change and enhance the behavior of
;and;;- You can read about the new behavior here
- Add unicode escape sequences for entering arbitrary characters
- A double backslash followed by a unicode hex number will format to the corresponding glyph
- Add the
timezonefunction, which gets the local timezone offset in hours - Scoped modules are now delimited by
┌─╴and└─╴- These both format from the existing
---delimiters
- These both format from the existing
- Add a
Loremconstant, which contains the Lorem Ipsum text - Add several color constants
- Add pride flag constants
- Add
Catsimage constant - Allow
&rawto be inverted, acting as a getter for the raw state of the terminal - Experimentally allow
fold ∧to work with any signature- Excess values are collected into arrays
- Add the experimental
around ’function, which duplicates the top value on the stack to the third-to-top position - Add experimental
tuples ⧅modifier- This unifies and extends the behavior of the
chooseandpermutefunctions, which are now deprecated - This also replaces and deprecates the
trianglemodifier
- This unifies and extends the behavior of the
- Add experimental
basefunction- This converts to and from base-N digits
- Add an experimental
sort ⍆function - Add an experimental
last ⊣function- Getting the last row of an array is very common
- Add experimental subscript modifiers
- They modify the behavior of some functions and modifiers
- You can read more about them here
- Add experimental data definitions
- These allow for structured data similar to
structs andenums in other languages - They also allow a limited form of namable function arguments
- The experimental
structmodifier/macro has been deprecated in favor of data definitions
- These allow for structured data similar to
- Add the experimental
layoutfunction, which renders text into an image array astarno longer errors if no paths are found- Remove previously deprecated function strands
Interpreter
- Add the
uiua findcommand, which finds Uiua code that matches the given unformatted text - Add the
uiua doccommand, which shows the documentation for a function or modifier - Add checking for end-of-line signature comments
- These are documented in the Documenting Code tutorial
- Add
webpsupport toimg - Some optimizations
- Pervasive function machinery has been totally rewritten
- Observed performance improvements of up to 12x
fill ⬚ed array creation has been totally rewritten- Observed performance improvements:
- ~1.2x in the best case
- ~5x in the average case
- ~450x in the worst case
- Observed performance improvements:
rows ≡on ⟜/by ⊸random ⚂/constantmemberof ∈range ⇡for scalar inputs torange ⇡memberof ∈rerank ☇1range ⇡for rank 1 inputs torange ⇡first ⊢un °sort ⍆to just pick an element
- Pervasive function machinery has been totally rewritten
- Tweak the formatter to reduce excess vertical space
- The formatter now aligns consecutive single-line bindings
uiua replnow has a-s/--stackflag to disable clearing the stack after each line- Clearing the stack is now the default
- The
-c/--clearhas been removed
- After programs finish executing, the terminal raw mode will be automatically disabled if it was left on.
Website
- Add [Ranges](https://uiua.org...
0.13.0-rc.6
You can find the working changelog here.
0.13.0-rc.5
You can find the working changelog here.
0.13.0-rc.4
You can find the working changelog here.