You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: changelog.md
+10-9Lines changed: 10 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,10 @@
1
1
# Uiua Changelog
2
2
3
3
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. -->
4
5
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).
7
8
### Language
8
9
-**Breaking Change** - [`minimum ↧`](https://uiua.org/docs/minimum) and [`maximum ↥`](https://uiua.org/docs/maximum) now compare boxes lexicographically
9
10
- 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
23
24
- Stabilize [`orient ⤸`](https://uiua.org/docs/orient)
24
25
- Change its glyph to something with broader font support
25
26
-`⮌` will continue to work and will be formatted as `⤸`
26
-
- Stabilize [`below ◡`](https://uiua.org/docs/below)
27
27
- 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)
28
29
- Add [`obverse ⌅`](https://uiua.org/docs/obverse) modifier, which unifies the specification of inverses
29
30
- This unifies, replaces, and extends [`setinv`](https://uiua.org/docs/setinv) and [`setund`](https://uiua.org/docs/setund)
30
31
- 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)
31
34
- Rename `⤙ but` and `⤚ with` to [`with ⤙`](https://uiua.org/docs/with) and [`off ⤚`](https://uiua.org/docs/off)
32
35
-[`with ⤙`](https://uiua.org/docs/with) has been stabilized
33
36
- "Stack macros" are now called "index macros"
34
37
- Stabilize existing placeholder indexing syntax (`^0`, `^1`, etc.)
-[`assert ⍤`](https://uiua.org/docs/assert) at the beginning of a line is now interpreted as a test in some contexts
37
40
- 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
40
41
-[`parse ⋕`](https://uiua.org/docs/parse) now parses complex values from both `arbi`and `a+bi` formats
41
42
-[`un °`](https://uiua.org/docs/un)[`parse ⋕`](https://uiua.org/docs/parse)'s return value uses the `arbi` format
42
43
-[`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)
43
44
- This is analogous to the behavior of [`un °`](https://uiua.org/docs/un)[`select ⊏`](https://uiua.org/docs/select)
44
45
- Add a feature to some [`under ⍜`](https://uiua.org/docs/under) functions that makes them more permissive of changes in rank
Copy file name to clipboardExpand all lines: site/blog/uiua-0.12.0-text.md
+19-18Lines changed: 19 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -57,15 +57,15 @@ Foo!(G F ×A) [1 2 3]
57
57
58
58
## [`switch ⨬`]()
59
59
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.
61
61
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).
63
63
64
64
```uiua
65
65
⨬(∘|+1|×2) [0 1 2] 5
66
66
```
67
67
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.
69
69
70
70
## Subscript digits in identifiers
71
71
@@ -84,13 +84,13 @@ Sha₂₅₆ ← "todo" # Formats to this
84
84
85
85
Several primitive functions have new functionality
86
86
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.
88
88
89
89
```uiua
90
90
°△ 2_3_4
91
91
```
92
92
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.
94
94
95
95
```uiua
96
96
⊟ 1_2_3 4
@@ -99,30 +99,30 @@ Several primitive functions have new functionality
99
99
⊂ [1_2_3 4_5_6] 7
100
100
```
101
101
102
-
[`keep ▽`]() will now cycle the counts array.
102
+
[`keep ▽`](https://uiua.org/docs/keep) will now cycle the counts array.
103
103
104
104
```uiua
105
105
▽ 0_1_2 [1 2 3 4 5 6]
106
106
```
107
107
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.
109
109
110
110
```uiua
111
111
▽ 0.5 [1 2 3 4 5 6]
112
112
▽ 1.5 [1 2 3 4 5 6]
113
113
```
114
-
## [`memberof ∈`]()
114
+
## [`memberof ∈`](https://uiua.org/docs/memberof)
115
115
116
116
[`member ∊`]() is now deprecated. It was almost always used along with [`flip :`]().
117
117
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.
119
119
120
120
```uiua
121
121
F ← ∈"abc"
122
122
F "beefcake"
123
123
```
124
124
125
-
This makes it work nicely with [`by ⊸`]()!
125
+
This makes it work nicely with [`by ⊸`](https://uiua.org/docs/by)!
126
126
127
127
```uiua
128
128
⊜□¬⊸∈ " ," "To be, or not"
@@ -138,35 +138,35 @@ You can view to full list of experimental features [here](https://uiua.org/docs/
138
138
139
139
### More Stack Modifiers
140
140
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).
142
142
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.
144
144
145
145
```uiua
146
146
# Experimental!
147
147
[⤙+ 2 5]
148
148
[⤚+ 2 5]
149
149
```
150
150
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.
152
152
153
153
```uiua
154
154
# Experimental!
155
155
[◠(++) 1 2 3]
156
156
[◡(++) 1 2 3]
157
157
```
158
158
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.
160
160
161
-
```uiua
161
+
```old-uiua
162
162
# Experimental!
163
163
⑄ 2_3 °△ 4_9
164
164
≡≡□
165
165
```
166
166
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).
168
168
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.
170
170
171
171
```uiua
172
172
# Experimental!
@@ -192,7 +192,8 @@ A few built-in image and audio constants have been added. These are useful for t
Copy file name to clipboardExpand all lines: site/blog/uiua-0.13.0-text.md
+47-12Lines changed: 47 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
# Announcing Uiua 0.13.0
2
2
3
-
2024-10-??
3
+
2024-10-21
4
4
5
5
---
6
6
7
7
Uiua 0.13.0 is now available!
8
8
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).
10
10
11
11
Uiua is a general purpose, stack-based, array-oriented programming language with a focus on tacit code.
12
12
@@ -36,6 +36,20 @@ It allows you set multiple kinds of inverses at once.
36
36
37
37
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).
38
38
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
+
39
53
## New Stack Manipulation Modifiers
40
54
41
55
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/
63
77
64
78
```uiua
65
79
°△3_3_2
66
-
{⊙∘} ⤸1 .
80
+
{⊙∘} ⤙⤸1
67
81
```
68
82
69
83
[`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
101
115
---
102
116
```
103
117
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
+
104
132
## New CLI Commands
105
133
106
134
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
131
159
```
132
160
133
161
```uiua
162
+
# Experimental!
134
163
⁅₃ π
135
164
```
136
165
@@ -182,21 +211,27 @@ Foo~Qux
182
211
183
212
You can read about everything data definitions can do [here](https://uiua.org/docs/experimental#data-definitions).
184
213
185
-
# Contributors
214
+
##Contributors
186
215
187
-
No previous Uiua release has had so many direct code contributions.
216
+
No previous Uiua release has had so many direct code contributions!
188
217
189
218
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
193
222
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!
195
224
196
-
# 💟
225
+
##💟
197
226
198
227
Thanks as always to everyone in the Uiua community, and to Uiua's generous [GitHub Sponsors](https://github.com/sponsors/uiua-lang)!
199
228
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!
201
232
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!
0 commit comments