Vyxal

Latest version: v2.22.4.3

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

Scan your dependencies

Page 15 of 26

2.7.2

_Alternative title: The release were some things behind the scenes were made a little nicer_

What's Changed

- `ṡ` now works for numeric inputs where the second number is less than the first.
- Typos have been fixed in the knowledge documentation (thank you cgccuser for being my spell checker lol).
- The flag info that displays when using the `h` flag was made a little nicer (thank you pxeger for that).
- `•` is now a little nicer, as it doesn't wrap singletons when molding.
- Fix the order of the deadfish command set
- The `P` flag now actually does good on complex lists
- `Þ↑` is now good
- The JS/HTML flags no longer activate when the `h` flag is used.
- `T` now sets the arity of functions to 3.
- `O` now makes it so that if its inputs are `scalar, list` it swaps them before counting.
- Added documentation for undocumented features like the string overload of `∆Ṗ`
- Numpy is no longer used. Who even uses numpy anyway amiright? /s (not /s on the removal of numpy /s on the second statement)
- The Vyxal logo was added to the project files (thanks razetime for the logo and for adding it lol)
- Friendship with setuptools ended. Poetry is where all the cool kids are these days.

What's New

- `∆K` returns the x co-ordinates of the stationary points of an equation if given a string
- `∆ṫ` is the totient function if given a number or the local minima of an equation if given a string
- `∆Ċ` constructs a sympy-like equation representation a polynomial with coefficients given in a list.
- `∆¢` is the Carmichael function if given a number or the local maxima of an equation if given a string
- `Þ*` returns the cartesian product of two lists like Jelly does. The method used is like a string going along the diagonals of an infinitely long spreadsheet and then being pulled into a single line. (there's a video on Hilbert's hotel that shows this kind of concept)
- `¨^` and `¨□` were added to make challenges with directional arrows ever so easier. (thanks pxeger for implementing that btw).
- `Þs` returns all slices of a list to a certain step limit.
- `Þ¾` is now an alias of `¾(¼_)`

I've probably missed a bit, but what's listed here is the most important stuff.

438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509

2.7.1

_Alternative title: AI autofixes and more bug fixes_

What's Changed?

- `ẋ` now works with numbers.
- Textboxes on the vyxal online interpreter now resize properly.
- `m` no longer errors if given `0` as an argument.
- Hopefully made variable scoping a little nicer with a little fix to the main call to `exec`.
- Updated documentation for `İ`, and enhanced its functionality.
- Also enhanced the function overload for `ẋ`.
- Code cleanups were done by deepsourcebot. But it won't be used for trivial stuff anymore.
- `Þc` is now implemented properly.
- Fix an issue with mapping and numbers.
- `W` should now work inside functions.
- Clarified some documentation for some of the symbolic math digraphs.


What's New?

- `∆ċ` - Turn a number into words (e.g. `459∆ċ` -> `four hundred and fifty-nine`)
- `∆o` - Turn a number into it's ordinal place form (e.g. `23∆o` -> `twenty-third`)
- `∆M` - Return the most common item in a list
- `∆ṁ` - Return the middle item(s) of a list
- `ÞM` - Return the indices of maximal items in a list
- `¨ẇ` - Pop n, and then pop n items into a single list
- `Þṁ` - `•`, but items aren't repeated.
- Two new flags: `Ḣ` for render output as HTML and `E` for eval output as Javascript (thanks to pxeger for the implementation)

As usual, I've probably missed some stuff, but that's okay, right?

369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437

2.7.0

_Alternative Title: Advent of Bugs amiright?_

What's Changed

- `H` now converts ints to hexadecimal instead of uselessly converting to base 10 _from_ hexadecimal.
- Variables prefixed with `_` are now global variables (the ghost variable is also now global): `→_like_this`
- The traceback outputs for the online interpreter have been made better.
- Finish implementing `∆Ż`.
- Removed a single `ctx` somewhere.
- Negative numbers now are absolute valued before factorialing.
- Added a constant for `[1, 1]`
- Made sympy handling just a little nicer.
- Set operations no longer error.
- Also, integer division now allows you to divide by 0.
- You can now actually reverse the stack.
- And you can now actually make an empty list using list syntax.
- Made `\` a little better too.
- Made function scoping a little better too.
- Just in case you wanted to, you can sort integers.
- Molding was made better.
- `Þṁ` is list molding but it doesn't repeat items.
- `e` has new string-number overloads that were inspired by pyth. (append head until certain length)
- `Ḟ` has a metric truckload (okay fine maybe not that many) of overloads. It's cool now.
- `k⟇` no longer errors.
- More words were added to the short dictionary.
- `Ẏ` now does the same to strings what it does to lazylists and lists.
- Also, complex numbers were made a little better too.
- And probably a few other things I missed.

344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372

2.6.1

_Alternative title: the most PRs in a single week I've ever seen_

What's Changed?

- So turns out the `c` flag wasn't implemented properly for the online interpreter. Well now it turns out it is.
- Made CLI flags such as `W`, `ṡ` and `J` no longer janky.
- Fixed an ACE.
- Made recursion a little better (it can vectorise too).
- The `a` flag no longer casts every input to strings (293)
- The ghost variable now works as intended (292).
- `?` now actually cycles through _all_ the inputs (289).
- The `h` flag is now implemented (287).
- There may have been a tiny issue with the CLI where it didn't actually pass a file name...
- And I may have forgotten to make `vy_print` append its `end` argument to online output.
- `ctx=ctx` has been added in several places inside calls to `safe_apply`.
- The documentation for `E` was corrected (307) (thanks a-stone-arachnid for the correction).
- Short dictionary compression no longer errors if you give it a character that doesn't correspond to a dictionary string.
- Made function calling a little better too.
- Added support for complex number literals with `°`.
- Changed some instances of `type(whatever) is sympy.Rational` to `is_sympy(whatever)`.
- `ctx=ctx` has also been added in several places inside calls to `iterable`.
- While loops can now be used.
- As can filter.
- `i` can now be vectorised with `v`.
- `≈` is now good.
- `…` is also now good (338) (thanks pxeger for the bug fix).
- Comparison operators (like `<` and `>`) no longer error on two numbers.
- Fix an issue with `ṡ` (it was to do with `ctx=ctx` stuff).
- Implemented the `&` modifier.
- Removed the GEORGE banner from the vyxal.pa site because it's only for lyxal.pa.
- The site now uses gitcdn for cdn purposes.
- And probably a few other things I missed.

Relevant issues and PRs: 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340

2.6.0

_Best read while listening to [His Theme](https://www.youtube.com/watch?v=IkOK8tdEsFY) from Undertale_

Well gosh diddly darn frick and heck...we finally done did it. After one-hundred and thirty-three days of planning, programming, PRs, feature requests and memeing, the rewrite is **finally finished**.

I remember way back in July when we first attempted a code clean-up - our original plan was just to do a little formatting and to split some functions into separate files...nothing _too_ hard. Realistically, it should have been easy, but boy oh boy was it far from easy.

There were bugs with vectorising, parsing, stacks being passed between contexts, Generators not working properly and a whole lot more. I remember spending several nights trying to fix things but to no avail to the point where, as I put it in one commit, [I was so tired of everything being on fire.](https://github.com/Vyxal/Vyxal/commit/6273e8365e77d209350d53fb44014c2c4fd937d0) Just for the record, this isn't anyone's fault; if anything, it's on me for not creating ways of clearly and effectively communicating when things should be done and how they should be done.

The rewrite was a chance to make that right. It was a chance to establish protocols, channels of communication and create a solid foundation for future changes to be made and it was a chance to do things _properly_; before the rewrite, we did everything in a somewhat unorganised, haphazard manner before, we now utilise things like [discussions](https://github.com/Vyxal/Vyxal/discussions) to collate feedback on things we want to do. There will no longer be the issue of "too many cooks spoil[ing] the broth" as hyper-neutrino put it, because we now know what we're doing - we're working together to make an excellent golfing language and to have _fun_ while doing so.

The rewrite could never have gotten done without the efforts of all the people who helped out along the way - I could only imagine that it would take a whole lot longer than 5 months if I was doing this on my own!

- Thank you AMiller42 for coming up with helpful element overloads, for finding ACE exploits and for being a person who always manages to boost morale - you're just as much of a sh*tposter as I am, and that's a good thing IMO lol.
- Thank you cgccuser for helping me to implement elements and to deal with getting the test cases working - you made that part go much faster.
- And thank you to chunkybanana (emanresuA) as well for making the element implementation go brrr - you made a daunting task way less daunting.
- Thank you hyper-neutrino for being the moderator figure who helped keep us focused and who initially helped lead discussions and lexer/parser/transpiler writing - honestly idk how you manage to put up with us when we do stupid things like accidentally break vyxal bot because we can't regex ;p
- Massive thanks to pxeger for being our "professional development guru" if I'm allowed to call you that. I appreciate you guiding us through the process of things like branch management, clean code style and good project practices.
- Thanks to PyGamer0 for being around for the crazy ride that was the rewrite - I know you didn't contribute much code, but it's wonderful seeing you around in the Vyxal chat, and I appreciate that you're always willing to go along with the nonsense we carry on with.
- Thanks to razetime for having stuck around since the origins of Vyxal (circa July 2020) even before Vyxal was cool - I remember you helping me out with creating the first version of the online interpreter back when I had no clue on what I was doing and I appreciate that you showed genuine interest in Vyxal even though it was a small little language with a horribly/ugly codepage and a cringe af built-in set.
- And thanks to UnrelatedString for being someone willing to give feedback on potential ideas and language design features - you may not know it but I always am happy to see your identicon in the sidebar of the user list in Vyxal chat.

And of course, thank you to everyone who took the time to participate in things like PR reviews, element implementation, github management and more. I couldn't have done anything without you guys!

---

With all that said, and absolutely nothing mentioning the small overload changes that have been made, enjoy the fruits of our labour. Here's to the completion of the rewrite!

~lyxal

2.6.0rc2

We've been working on the rewrite for several months now, with little chance to actually use the features that we've developed for Code Golf answers. This release provides a legitimate way to use what's been implemented without actually making a 2.6 release. Therefore, this won't be very detailed in way of release note, and this is not signifying that the rewrite is done.

In order to consider the rewrite finished, all modifiers and digraphs need to be implemented and the YAML for the elements needs to be processed into tests and text files for quick reference.

But for now, enjoy the pre-release, and make sure to include the version in any answer headings.

Page 15 of 26

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.