Vyxal

Latest version: v2.22.4

Safety actively analyzes 682244 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 19 of 26

1.4.0

What's New?

- The compressed integer list in `utilities.py` had the compression lookup table a bit off. Now it's fixed.
- Transliteration now works properly when dealing with generators. Also, it now treats numbers as strings instead of a list of characters.
- You can now get the permutations of a generator.
- You can now use execute as Vyxal.
- The order of transliteration arguments now makes more sense: `string to transliterate, mapping strings`
- `ſ` now pushes 69 to the stack. That's because it's old function was absolutely useless
- There were two characters in the codepage that look identical but had different code points. The replaced character is now `ΐ`. This shouldn't impact string compression too much, but recompress your strings just in case.

1.3.0

What's New?

- `⧢ ` had a typo
- Function reference now makes sure that it uses the arity of the built-in
- Uninterleave now returns items in expected order
- Interleave & uninterleave return strings if both arguments are strings.
- Added more constants
- Added the [multi-command](https://github.com/Lyxal/Vyxal/blob/master/commands/Multi_Command.md)
- Base-255 string compression only allows for lowercase letters and spaces now
- Fixed the codepage
- Two-byte commands can now be vectorised
- Implemented `^`
- `~` now performs the next operator without destroying stack items (peeks)
- Fixed vectorisation over two generators
- Fixed a parsing issue with `ª` where two-byte commands were confused as a single byte.
- Also, `ª` now adds 101 to the value being pushed (much like 05AB1E)
- Infinite generators now print properly when printed using `,` or implicit output.
- Two char strings no longer have to be SCCs
- `⋯` joins on spaces if the value passed isn't a Number
- [Added several new string commands relating to case](https://github.com/Lyxal/Vyxal/commit/111eedb4a319161091dbc685fe072c9a503d0055)
- `ƈ` now has more overloads ([check here](https://github.com/Lyxal/Vyxal/blob/master/commands/N_Choose_R.md))
- Implemented `G` and `g`
- `ß` now pops a value off the stack and performs the next command if said value is truthy.
- [Other commands have more overloads too](https://github.com/Lyxal/Vyxal/commit/39f58d4483fd06be90bf20419186b3c76559b62e)
- Fixed some problems had with vectorising
- `=` now vectorises
- `≕` does NOT vectorise
- A lot more commands have more overloads added, but I was unable to recall which ones. Check the commands folder to see the cohesion of each command.

1.2.0

_If this release had a subtitle, it'd be "The first of many mass bug fixes"_

What's New?
(SPOILER: A lot)

- `øo` takes two parameters (`a`, `b`) and removes `b` from `a` until `a` doesn't change (think infinite removement)
- `øV` takes three parameters (`a`, `b`, `c`) and replaces occurrences of `b` in `a` with `c` until `a` doesn't change (think infinite replacement)
- There was an issue where filtering didn't work properly with Generators (ranges, zips, etc) (e.g. `1 10r λ3<; F` returned `[1, 2, 3, 4, 5]` where it should have been `[1, 2]`). That issue doesn't happen anymore.
- If you tried to escape a two-byte command or a backtick, the correct character wasn't pushed (two-byte commands had the whole two bytes pushed and backticks just pushed an empty string). But now you can backslash as much as you want.
- Debugging was accidentally left when doing addition (sorry about that).
- The operators of `j` were in the wrong order (`1 2 3 4 W \bj` returned `b` not `1b2b3b4`). They are now swapped into the right position and are staying right were they are.
- `*` no longer performs interleaving when both arguments are strings: the letters of the first string are now distributed over to the entirety of the second...[see here for explanation](https://chat.stackexchange.com/transcript/message/56852126#56852126). (Alternatively, check _Multiplication.md_)
- `e` now has a meaning when passed two strings: `regex.compile(a).match(b).span()` (Note: uses full PCRE)
- `r` now also has a meaning when both arguments passed aren't numbers: `bool(regex.compile(str(a)).match(str(b)))` (those end brackets are probably unbalanced. Idk, the markdown editor for github releases doesn't do syntax highlighting).
- 64 commands now have documentation
- And probably some other changes I forgot.

So enjoy this new release and expect more stuff to be fixed soon. ;)

1.1.0

What's New

- `l` now groups a list into n-length groups. E.g. `1 2 3 4 5 6W2l` -> `[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]]`
- `u` now pushes negative 1 to the stack (very helpful for when you need to get something like `vector[1:-1]`)
- Two byte commands (i.e. the extended two-byte built-ins) can now be vectorised, have their function reference pushes, and be applied parallel.
- Other bug fixes such as getting the average of a generator and function arities
- New constants pertaining to brackets have been added.
- Updated the reference document

1.0.1

What's New

- Documentation for `Œ` changed

- `fractionify` and `decimalify` implemented

1.0.0

What's New

- This is the first major version, so enjoy the built-ins that have been added.

- There's a completely new codepage...so make sure to recompress all your strings.

- There was a bug where strings without a closing backtick weren't parsed as strings, consequently meaning they weren't recognised by the interpreter. Now there isn't.

- I somehow managed to make a typo regarding cumulative sums: `appned` has been changed to `append`

- Also in `sums`, there was an accidentally unrenamed variable

- `œ` now uses `vectorising_equals` like it used to

- Instances of `iterable` have been replaced with `vector` where something doesn't need casting to an iterable.

Page 19 of 26

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.