Skip to content

Commit ab8b368

Browse files
committed
prepare 0.13.0 release
1 parent cf2bb66 commit ab8b368

File tree

8 files changed

+81
-43
lines changed

8 files changed

+81
-43
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ name = "uiua"
99
readme = "readme.md"
1010
repository = "https://github.com/uiua-lang/uiua"
1111
rust-version = "1.78"
12-
version = "0.13.0-rc.6"
12+
version = "0.13.0"
1313

1414
[dependencies]
1515
# Core dependencies

changelog.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Uiua Changelog
22

33
Uiua is not yet stable.
4+
<!-- This version is not yet released. If you are reading this on the website, then these changes are live here. -->
45

5-
## 0.13.0 - 2024-10-??
6-
This version is not yet released. If you are reading this on the website, then these changes are live here.
6+
## 0.13.0 - 2024-10-21
7+
You can find the release announcement [here](https://uiua.org/blog/uiua-0.13.0).
78
### Language
89
- **Breaking Change** - [`minimum ↧`](https://uiua.org/docs/minimum) and [`maximum ↥`](https://uiua.org/docs/maximum) now compare boxes lexicographically
910
- This makes them consistent with comparison functions like [`less than <`](https://uiua.org/docs/less%20than)
@@ -23,27 +24,27 @@ This version is not yet released. If you are reading this on the website, then t
2324
- Stabilize [`orient ⤸`](https://uiua.org/docs/orient)
2425
- Change its glyph to something with broader font support
2526
- `` will continue to work and will be formatted as ``
26-
- Stabilize [`below ◡`](https://uiua.org/docs/below)
2727
- Add [`anti ⌝`](https://uiua.org/docs/anti) modifier, which simplifies choosing certain inverses
28+
- Add related new [`anti ⌝`](https://uiua.org/docs/anti) inverses for [`drop ↘`](https://uiua.org/docs/drop), [`select ⊏`](https://uiua.org/docs/select), and [`pick ⊡`](https://uiua.org/docs/pick) (though many more already existed)
2829
- Add [`obverse ⌅`](https://uiua.org/docs/obverse) modifier, which unifies the specification of inverses
2930
- This unifies, replaces, and extends [`setinv`](https://uiua.org/docs/setinv) and [`setund`](https://uiua.org/docs/setund)
3031
- Deprecate [`setinv`](https://uiua.org/docs/setinv) and [`setund`](https://uiua.org/docs/setund)
32+
- [`un °`](https://uiua.org/docs/un) [`by ⊸`](https://uiua.org/docs/by) can now be used to access the "undo" part of a function's [`under ⍜`](https://uiua.org/docs/under) functionality
33+
- Stabilize [`below ◡`](https://uiua.org/docs/below)
3134
- Rename `⤙ but` and `⤚ with` to [`with ⤙`](https://uiua.org/docs/with) and [`off ⤚`](https://uiua.org/docs/off)
3235
- [`with ⤙`](https://uiua.org/docs/with) has been stabilized
3336
- "Stack macros" are now called "index macros"
3437
- Stabilize existing placeholder indexing syntax (`^0`, `^1`, etc.)
3538
- Deprecate existing stack-based macro placeholders (`^!`, `^.`, etc.)
3639
- [`assert ⍤`](https://uiua.org/docs/assert) at the beginning of a line is now interpreted as a test in some contexts
3740
- See the updated [Testing Tutorial](https://uiua.org/tutorial/testing) for more information
38-
- [`fold ∧`](https://uiua.org/docs/fold) now works with any signature
39-
- Excess values are collected into arrays
4041
- [`parse ⋕`](https://uiua.org/docs/parse) now parses complex values from both `arbi`and `a+bi` formats
4142
- [`un °`](https://uiua.org/docs/un)[`parse ⋕`](https://uiua.org/docs/parse)'s return value uses the `arbi` format
4243
- [`un °`](https://uiua.org/docs/un) [`orient ⤸`](https://uiua.org/docs/orient) is now equivalent to [`range ⇡`](https://uiua.org/docs/range) [`length ⧻`](https://uiua.org/docs/length) [`shape △`](https://uiua.org/docs/shape) [`duplicate .`](https://uiua.org/docs/duplicate)
4344
- This is analogous to the behavior of [`un °`](https://uiua.org/docs/un) [`select ⊏`](https://uiua.org/docs/select)
4445
- Add a feature to some [`under ⍜`](https://uiua.org/docs/under) functions that makes them more permissive of changes in rank
4546
- Applies to [`select ⊏`](https://uiua.org/docs/select), [`keep ▽`](https://uiua.org/docs/keep), [`first ⊢`](https://uiua.org/docs/first), [`first ⊢`](https://uiua.org/docs/first)[`reverse ⇌`](https://uiua.org/docs/reverse)
46-
- If the value that is "put back" can have its rank changes
47+
- The value that is "put back" can have its rank changed
4748
- Lower rank arrays get repeated to match the original shape
4849
- Higher rank arrays extend the length of the array
4950
- [`under ⍜`](https://uiua.org/docs/under) [`un °`](https://uiua.org/docs/un) [`bits ⋯`](https://uiua.org/docs/bits) now preserves a minimum bit length
@@ -55,8 +56,6 @@ This version is not yet released. If you are reading this on the website, then t
5556
- The behavior is similar to the analogous behavior for [`reduce /`](https://uiua.org/docs/reduce)
5657
- Allow [`on ⟜`](https://uiua.org/docs/on) to use function packs
5758
- Allow [`under ⍜`](https://uiua.org/docs/under) of scalar [`keep ▽`](https://uiua.org/docs/keep)
58-
- Add [`un °`](https://uiua.org/docs/un) [`on ⟜`](https://uiua.org/docs/on) [`drop ↘`](https://uiua.org/docs/drop), which pads an array
59-
- Add [`un °`](https://uiua.org/docs/un) [`on ⟜`](https://uiua.org/docs/on) [`select ⊏`](https://uiua.org/docs/select) and [`un °`](https://uiua.org/docs/un) [`on ⟜`](https://uiua.org/docs/on) [`pick ⊡`](https://uiua.org/docs/pick)
6059
- Add the [`graphemes`](https://uiua.org/docs/graphemes) function, which splits a string into unicode grapheme clusters
6160
- Add the [`&fmd`](https://uiua.org/docs/&fmd) system function, which creates a directory
6261
- Very large arrays are now displayed more concisely in output
@@ -73,6 +72,8 @@ This version is not yet released. If you are reading this on the website, then t
7372
- Add `Cats` image constant
7473
- Allow [`&raw`](https://uiua.org/docs/&raw) to be inverted, acting as a getter for the raw state of the terminal
7574
- [`under ⍜`](https://uiua.org/docs/under)[`&raw`](https://uiua.org/docs/&raw) sets raw mode, and then returns it to the previous state
75+
- Experimentally allow [`fold ∧`](https://uiua.org/docs/fold) to work with any signature
76+
- Excess values are collected into arrays
7677
- Add the experimental [`around ’`](https://uiua.org/docs/around) function, which duplicates the top value on the stack to the third-to-top position
7778
- Add experimental [`tuples ⧅`](https://uiua.org/docs/tuples) modifier
7879
- This unifies and extends the behavior of the `choose` and `permute` functions, which are now deprecated
@@ -92,7 +93,7 @@ This version is not yet released. If you are reading this on the website, then t
9293
- They also allow a limited form of namable function arguments
9394
- The experimental [`struct`](https://uiua.org/docs/struct) modifier/macro has been deprecated in favor of data definitions
9495
- Add the experimental [`layout`](https://uiua.org/docs/layout) function, which renders text into an image array
95-
- [`astar`](https://uiua.org/docs/astar) no longer errors in no paths are found
96+
- [`astar`](https://uiua.org/docs/astar) no longer errors if no paths are found
9697
- Remove previously deprecated function strands
9798
### Interpreter
9899
- Add the `uiua find` command, which finds Uiua code that matches the given unformatted text

site/blog/list.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
uiua-0.13.0(666c3590-e42d-4e75-a7bf-1552a098ccd2): 2024-10-21 - Announcing Uiua 0.13.0
12
uiua-0.12.0(95d63645-10e4-4312-bbe3-f0a6254c0144): 2024-08-16 - Announcing Uiua 0.12.0
23
uiua-0.11.0(32cba0cb-2378-4cf9-894c-ea65e2a3ffda): 2024-06-02 - Announcing Uiua 0.11.0
34
uiua-0.10.0(6841da9d-9b35-4992-92b3-0c6820606733): 2024-04-04 - Announcing Uiua 0.10.0

site/blog/uiua-0.12.0-text.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,15 @@ Foo!(G F ×A) [1 2 3]
5757

5858
## [`switch ⨬`]()
5959

60-
Dedicated switch function syntax has been replaced with the [`switch ⨬`]() modifier.
60+
Dedicated switch function syntax has been replaced with the [`switch ⨬`](https://uiua.org/docs/switch) modifier.
6161

62-
In addition, it has been expanded to do an implicit [`rows ≡`]().
62+
In addition, it has been expanded to do an implicit [`rows ≡`](https://uiua.org/docs/rows).
6363

6464
```uiua
6565
⨬(∘|+1|×2) [0 1 2] 5
6666
```
6767

68-
Existing `⟨⟩`s will continue to parse and will format to [`switch ⨬`]() with a function pack.
68+
Existing `⟨⟩`s will continue to parse and will format to [`switch ⨬`](https://uiua.org/docs/switch) with a function pack.
6969

7070
## Subscript digits in identifiers
7171

@@ -84,13 +84,13 @@ Sha₂₅₆ ← "todo" # Formats to this
8484

8585
Several primitive functions have new functionality
8686

87-
[`un °`]() [`shape △`]() now generates a [`range ⇡`]() array with the given shape.
87+
[`un °`](https://uiua.org/docs/un) [`shape △`](https://uiua.org/docs/shape) now generates a [`range ⇡`](https://uiua.org/docs/range) array with the given shape.
8888

8989
```uiua
9090
°△ 2_3_4
9191
```
9292

93-
[`couple ⊟`]() and [`join ⊂`]() are now more permissive of arguments with different ranks. The array with a smaller rank will be repeated.
93+
[`couple ⊟`](https://uiua.org/docs/couple) and [`join ⊂`](https://uiua.org/docs/join) are now more permissive of arguments with different ranks. The array with a smaller rank will be repeated.
9494

9595
```uiua
9696
⊟ 1_2_3 4
@@ -99,30 +99,30 @@ Several primitive functions have new functionality
9999
⊂ [1_2_3 4_5_6] 7
100100
```
101101

102-
[`keep ▽`]() will now cycle the counts array.
102+
[`keep ▽`](https://uiua.org/docs/keep) will now cycle the counts array.
103103

104104
```uiua
105105
▽ 0_1_2 [1 2 3 4 5 6]
106106
```
107107

108-
[`keep ▽`]() also now allows a scalar non-integer to scale an array. This is useful for image and audio arrays.
108+
[`keep ▽`](https://uiua.org/docs/keep) also now allows a scalar non-integer to scale an array. This is useful for image and audio arrays.
109109

110110
```uiua
111111
▽ 0.5 [1 2 3 4 5 6]
112112
▽ 1.5 [1 2 3 4 5 6]
113113
```
114-
## [`memberof ∈`]()
114+
## [`memberof ∈`](https://uiua.org/docs/memberof)
115115

116116
[`member ∊`]() is now deprecated. It was almost always used along with [`flip :`]().
117117

118-
It has been replaced with [`memberof ∈`](), which has the exact same functionality, except its arguments are flipped.
118+
It has been replaced with [`memberof ∈`](https://uiua.org/docs/memberof), which has the exact same functionality, except its arguments are flipped.
119119

120120
```uiua
121121
F ← ∈"abc"
122122
F "beefcake"
123123
```
124124

125-
This makes it work nicely with [`by ⊸`]()!
125+
This makes it work nicely with [`by ⊸`](https://uiua.org/docs/by)!
126126

127127
```uiua
128128
⊜□¬⊸∈ " ," "To be, or not"
@@ -138,35 +138,35 @@ You can view to full list of experimental features [here](https://uiua.org/docs/
138138

139139
### More Stack Modifiers
140140

141-
The [`but`]() and [`with`]() modifiers are complements to [`on ⟜`]() and [`by ⊸`]().
141+
The [`with`](https://uiua.org/docs/with) and [`off`](https://uiua.org/docs/off) modifiers are complements to [`on ⟜`](https://uiua.org/docs/on) and [`by ⊸`](https://uiua.org/docs/by).
142142

143-
[`but`]() keeps its function's *last* argument on *top* of the stack while [`with`]() keeps its function's *first* argument *below* the outputs on the stack.
143+
[`with`](https://uiua.org/docs/with) keeps its function's *last* argument on *top* of the stack while [`off`](https://uiua.org/docs/off) keeps its function's *first* argument *below* the outputs on the stack.
144144

145145
```uiua
146146
# Experimental!
147147
[⤙+ 2 5]
148148
[⤚+ 2 5]
149149
```
150150

151-
The [`above ◠`]() and [`below ◡`]() modifiers keep *all* of a function's arguments above or below the outputs on the stack.
151+
The [`above ◠`](https://uiua.org/docs/above) and [`below ◡`](https://uiua.org/docs/below) modifiers keep *all* of a function's arguments above or below the outputs on the stack.
152152

153153
```uiua
154154
# Experimental!
155155
[◠(++) 1 2 3]
156156
[◡(++) 1 2 3]
157157
```
158158

159-
[`chunks ⑄`]() is similar to [`windows ◫`]() except the parts of the array do not overlap.
159+
`chunks ⑄` is similar to [`windows ◫`](https://uiua.org/docs/windows) except the parts of the array do not overlap.
160160

161-
```uiua
161+
```old-uiua
162162
# Experimental!
163163
⑄ 2_3 °△ 4_9
164164
≡≡□
165165
```
166166

167-
[`orient ⤸`]() transposes an array's axes by moving the axes at the given indices to the front of the [`shape △`]().
167+
[`orient ⤸`](https://uiua.org/docs/orient) transposes an array's axes by moving the axes at the given indices to the front of the [`shape △`](https://uiua.org/docs/shape).
168168

169-
This simplifies complex shape transformations that would otherwise be done with several [`transpose ⍉`]()s and [`rows ≡`]()s.
169+
This simplifies complex shape transformations that would otherwise be done with several [`transpose ⍉`](https://uiua.org/docs/transpose)s and [`rows ≡`](https://uiua.org/docs/rows)s.
170170

171171
```uiua
172172
# Experimental!
@@ -192,7 +192,8 @@ A few built-in image and audio constants have been added. These are useful for t
192192

193193
```uiua
194194
Logo
195-
Lena
196195
▽⟜≡▽ 0.5 # Scales the image down
196+
Lena
197+
▽⟜≡▽ 0.5
197198
Music
198199
```

site/blog/uiua-0.13.0-text.md

Lines changed: 47 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Announcing Uiua 0.13.0
22

3-
2024-10-??
3+
2024-10-21
44

55
---
66

77
Uiua 0.13.0 is now available!
88

9-
You can find the full changelog [here](https://uiua.org/docs/changelog#0.13.0---2024-10-??).
9+
You can find the full changelog [here](https://uiua.org/docs/changelog#0.13.0---2024-10-21).
1010

1111
Uiua is a general purpose, stack-based, array-oriented programming language with a focus on tacit code.
1212

@@ -36,6 +36,20 @@ It allows you set multiple kinds of inverses at once.
3636

3737
The [Inverses Tutorial](https://uiua.org/tutorial/inverses) has been updated to include [`anti ⌝`](https://uiua.org/docs/anti) and [`obverse ⌅`](https://uiua.org/docs/obverse).
3838

39+
[`un °`](https://uiua.org/docs/un) [`by ⊸`](https://uiua.org/docs/by) can now be used to access the "undo" part of a function's [`under ⍜`](https://uiua.org/docs/under) functionality.
40+
41+
This allows for "setter"-type behavior. For example, you can set the [`first ⊢`](https://uiua.org/docs/first) row of an array:
42+
43+
```uiua
44+
°⊸⊢ 5 [1 2 3 4]
45+
```
46+
47+
Or set the magnitude of a complex number:
48+
49+
```uiua
50+
°⊸⌵ 10 . ℂ3 4
51+
```
52+
3953
## New Stack Manipulation Modifiers
4054

4155
The [`with ⤙`](https://uiua.org/docs/with) and [`below ◡`](https://uiua.org/docs/below) modifiers have been stabilized.
@@ -63,7 +77,7 @@ The [`with ⤙`](https://uiua.org/docs/with) and [`below ◡`](https://uiua.org/
6377

6478
```uiua
6579
°△3_3_2
66-
{⊙∘} ⤸1 .
80+
{⊙∘} ⤙⤸1
6781
```
6882

6983
[`anti ⌝`](https://uiua.org/docs/anti)[`orient ⤸`](https://uiua.org/docs/orient) allows you to combine axes, which is equivalent to taking the diagonal along those axes.
@@ -101,6 +115,20 @@ Modules now use fancy delimiters. They format from the existing `---`s. Try it o
101115
---
102116
```
103117

118+
## Line Manipulation
119+
120+
The behavior of `;` and `;;` has been changed.
121+
122+
The main useful change is the formatter will reverse code that is separated by `;`s, so you don't have to press `` quite as much.
123+
124+
Try it out:
125+
126+
```uiua
127+
1 2;+; *10 # Format!
128+
```
129+
130+
You can read more about this functionality [here](https://uiua.org/tutorial/codetactility#line-manipulation).
131+
104132
## New CLI Commands
105133

106134
The native interpreter has two new commands: `uiua find` and `uiua doc`.
@@ -131,6 +159,7 @@ Subscript numbers may immediately follow a glyph. These can be typed with `__` f
131159
```
132160

133161
```uiua
162+
# Experimental!
134163
⁅₃ π
135164
```
136165

@@ -182,21 +211,27 @@ Foo~Qux
182211

183212
You can read about everything data definitions can do [here](https://uiua.org/docs/experimental#data-definitions).
184213

185-
# Contributors
214+
## Contributors
186215

187-
No previous Uiua release has had so many direct code contributions.
216+
No previous Uiua release has had so many direct code contributions!
188217

189218
In particular, I'd like to thank:
190-
- Omnikar for implementing [`un °`](https://uiua.org/docs/un)[`by ⊸`](https://uiua.org/docs/by)
191-
- amatgil for implementing the new behavior for [`gen`](https://uiua.org/docs/gen) and the experimental [`around ’`](https://uiua.org/docs/around) function
192-
- Marcos-cat for implementing [`fill ⬚`](https://uiua.org/docs/fill)ed [`csv`](https://uiua.org/docs/csv), [`memberof ∈`](https://uiua.org/docs/memberof)[`range ⇡`](https://uiua.org/docs/range) optimization, and a more persistent pad virtual filesystem
219+
- [Omnikar](https://github.com/omnikar/) for implementing [`un °`](https://uiua.org/docs/un)[`by ⊸`](https://uiua.org/docs/by)
220+
- [amatgil](https://github.com/amatgil) for implementing the new behavior for [`gen`](https://uiua.org/docs/gen) and the experimental [`around ’`](https://uiua.org/docs/around) function
221+
- [Marcos-cat](https://github.com/Marcos-cat/) for implementing [`fill ⬚`](https://uiua.org/docs/fill)ed [`csv`](https://uiua.org/docs/csv), [`memberof ∈`](https://uiua.org/docs/memberof)[`range ⇡`](https://uiua.org/docs/range) optimization, and a more persistent pad virtual filesystem
193222

194-
Also, check out Omnikar's awesome [`uiua-plot`](https://github.com/omnikar/uiua-plot) library for making plots and graphs in Uiua!
223+
Also, check out [Omnikar](https://github.com/omnikar/)'s awesome [`uiua-plot`](https://github.com/omnikar/uiua-plot) library for making plots and graphs in Uiua!
195224

196-
# 💟
225+
## 💟
197226

198227
Thanks as always to everyone in the Uiua community, and to Uiua's generous [GitHub Sponsors](https://github.com/sponsors/uiua-lang)!
199228

200-
Again, you can find the full changelog for this release [here](https://uiua.org/docs/changelog#0.12.0---2024-08-16).
229+
Again, you can find the full changelog for this release [here](https://uiua.org/docs/changelog#0.13.0---2024-10-21).
230+
231+
You can join the [Uiua Discord](https://discord.gg/3r9nrfYhCc) to chat about the language, ask questions, or get help. We also do code challenges and discuss language features!
201232

202-
You can join the [Uiua Discord](https://discord.gg/3r9nrfYhCc) to chat about the language, ask questions, or get help. We also do code challenges and brainstorm language features!
233+
## 🐈‍⬛🐈
234+
235+
```uiua
236+
▽⟜≡▽ 0.5 Cats
237+
```

site/src/markdown.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ fn node_view<'a>(node: &'a AstNode<'a>) -> View {
9898
NodeValue::Code(code) => {
9999
let mut inputs = Inputs::default();
100100
let (tokens, errors, _) = uiua::lex(&code.literal, (), &mut inputs);
101-
if errors.is_empty() {
101+
if errors.is_empty() && code.literal != "---" {
102102
let mut frags = Vec::new();
103103
for token in tokens {
104104
let text = token.span.as_str(&inputs, |s| s.to_string());

site/trunk.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ no_sri = true
44
public_url = "/"
55

66
[watch]
7-
watch = [".", "../src", "../pad/editor"]
7+
watch = [".", "../src", "../pad/editor", "../changelog.md"]
88

99
[serve]
1010
address = "0.0.0.0"

0 commit comments

Comments
 (0)