Skip to content

Releases: uiua-lang/uiua

0.0.22

22 Oct 05:02
Compare
Choose a tag to compare
0.0.22 Pre-release
Pre-release

0.0.22 - 2023-10-21

Language

  • Custom modifier placeholders (^) must now be immediately followed by a signature. This reduces the number of signatures that have to be declared everywhere else.

0.0.21

22 Oct 01:10
Compare
Choose a tag to compare
0.0.21 Pre-release
Pre-release

0.0.21 - 2023-10-21

Language

  • Massive Change - Functions are no longer first-class values. This has many implications:
    • Functions can no longer be put in arrays or manipulated as stack values
    • Inline functions can now only appear as modifier arguments or bindings
    • call ! has been removed, as there is nothing on the stack to call
    • Modules have been reworked. &i now handles both loading a module from a file and importing items from that module.
    • --- scopes are now test scopes. ~~~ scopes have been removed.
    • Remove use, as it is no longer necessary
    • Boxes still work as normal, but are now their own type distinct from functions
    • Remove sig, as everything that can be on the stack now has the same signature
  • Add new syntax for defining custom modifiers
  • Add new syntax for calling a function from a list of functions
  • Add the pack modifier, which calls its function and implicitly boxes/unboxes values
  • Add the combinate modifier, which is a rank-generic version of table
  • fold is now rank-generic and requires a rank list
  • Add the tribute modifier, which is a flipped version of distribute
  • Change level 's glyph to reflect its relationship with each , rows , distribute , and tribute . Code using will continue to work and will be formatted as .
  • Add rock , surface ~, deep , abyss , and seabed , which build rank lists to be used with level and the new rank-generic modifiers
  • Change trace 's glyph to let surface ~ use ~.
  • Change match 's glyph to avoid confusion with the new ocean functions' glyphs. Code using will continue to work and will be formatted as .
  • Stack signatures found to be incorrect at runtime produce an error
  • Dyadic math operations now work with under even if both arguments are outside under 's function
  • Some mathematical functions that previously did not work with invert and under when accompanied by flip now do

Website

0.0.20

16 Oct 19:42
Compare
Choose a tag to compare
0.0.20 Pre-release
Pre-release

0.0.20 - 2023-10-16

Language

  • Add regex function for matching regular expressions
  • Add utf function for UTF-8 encoding and decoding
  • Add &invk system function for invoking a path to be opened with the system's default program
  • fill can now be used with first
  • Most functions that expect strings as arguments will now dig arbitrarily deep into boxes
  • Make if ? signature checking more permissive
  • The presence of break in a repeat always requires a stack signature
  • The &runi and &runc functions now return exit codes
  • Multiline string now only insert \n at the end of each line instead of \r\n

Interpreter

  • Bugfixes and performance improvements

Website

0.0.19

14 Oct 00:33
Compare
Choose a tag to compare
0.0.19 Pre-release
Pre-release

0.0.19 - 2023-10-13

Language

  • Add under both
  • Remove restack ⇵ for good
  • Remove roll ↷ and unroll ↶ for good
  • @\s can now be used in addition to @ to get a space character

Interpreter

  • Many performance improvements and memory usage reductions
  • Many bug and crash fixes
  • Add some additional style diagnostics
  • Add more semantic token types to the language server
  • Stop using deprecated MarkedString in the language server

Website

  • The editor's font size can now be changed
  • Improve brackets/quotes behavior in the editor
  • HTML is now properly escaped in the editor
  • Formatting can now put the cursor to the left of the current token (toggleable in the settings)

0.0.18

10 Oct 19:32
Compare
Choose a tag to compare
0.0.18 Pre-release
Pre-release

0.0.18 - 2023-10-10

Language

  • Major Change distribute now takes the array being distributed as its last argument, rather than its first
  • Add where function, which returns the indices of an array that have non-zero values
  • if ?'s branches can now have a different number of arguments (but not outputs)
  • if ?'s condition can now be a list of conditions, and the branch will be chosen for each row in the argument(s)
  • The reducing versions of group and partition now take accumulators. Aggregating versions are unchanged.
  • spawn and wait no longer have glyphs. Code using and will continue to work and will be formatted as spawn and wait.
  • &n is no longer a system function and is now called now
  • under now can be used to time things
  • call ! can now call functions that return any number of values, not just one
  • Add hex character escape sequences for string and character literals.
    • \xNN for short ASCII codes
    • \uNNNN for full Unicode sequences

Interpreter

  • The formatter now aligns consecutive end-of-line comments
  • NaNs no longer propogate in min and max
  • Fix a bug that prevented under multidimensional take and drop from working
  • Fix a bug in how fold ordered multiple accumulators
  • Fix a bug that allowed incorrect signatures to be declared for functions
  • Fix a bunch of other bugs and crashes

Website

  • Add the Uiua386 font as an option in the editor

0.0.17

08 Oct 00:48
Compare
Choose a tag to compare
0.0.17 Pre-release
Pre-release

0.0.17 - 2023-10-07

Language

  • Add GIF encoding with &gife
  • Rename constant to box .
  • Add unbox , which unboxes a boxed array
  • Major Change: Some uses of call ! will no longer compile without declaring a stack signature. When unboxing box ed arrays, you can use unbox instead, which has a well-defined signature.
  • Add fall function, which gives the indices of the array if it were sorted descending
  • Change grade name and glyph to rise to reflect its relationship with fall . Code using will continue to work and will be formatted as .
  • try now puts arguments to its first function above the error value when calling the error handler
  • fold can now use multiple accumulators
  • Improve dump output formatting
  • dump is now a monadic modifier. Its function preprocesses each value before dumping it.
  • Add the sig function, which returns the stack signature of a value
  • A negative dimensions in the shape passed to reshape can now be in any position, not just the first or last
  • Functions with ASCII glyphs now also format from their names
  • Add a advice diagnostic about the captialization of binding names

Interpreter

Website

  • Add GIF output
  • Execution time limit is now 2 seconds by default but can be customized