This is a Wikimedia global user page.
If you find this page on any site other than a Wikimedia one, you are viewing a mirror site. Be aware that the page may be outdated, and that the user whom this page is about may have no personal affiliation with the site. The original page is located at https://meta.wikimedia.org/wiki/User:Virinas-code.
Welcome to my user page! I mainly use it to complain about various random things. This page is available both in French and in English btw ;)
If you need help or want to contact me, visit my user talk page! I regularly check Wikipedia, so I should answer in a few days max :) I'm still a beginner with most subjects, any tip is welcome!
I mostly work on projects linked to computer science, like copying works on this subject on Wikisource, or creating functions on Wikifunctions. I hope that I'll be able to contribute to Abstract Wikipedia once the project is more mature.
The latest issue I've run into is that, while my Python stuff is (I believe) quite fast, the conversion into ZObjects isn't. An example is f:Z39299: testing it on a Python shell makes it output the required list instantly, but Wikifunctions complains about recursion limits.
On Wikifunctions, every function has one or more implementation, and those implementations can use different languages, technologies, algorithms, etc.[A 1] It allows abstraction between the function and the code backing, which is quite awesome! When calling a function, the implementation used is automatically determined by the software based on the performance of each implementation and on their connected status.[A 2] This allows minimization of function call times and server loads.
A key aspect of Wikifunctions is purity (term I shamelessly stole from the w:NixOS community[A 3]). This means a function's result will always be the same given the same inputs.[A 4]
Notice that this applies to function, not implementations: all implementations should have the exact same behavior, which is ensured by tests. Otherwise, the same function call could return different results based on which implementation is currently in use. Adding a function implementation should never break other functions!