Thoughts and feedback #7
Replies: 2 comments
-
@AzizAlqasem I genuinely appreciate the feedback, most of what you have asked about has been on my mind (both for the original Mojo-Arrays and for NuMojo after I refocused on supporting the built-in tensor) at the moment I am trying to hammer out some basic functionality, and waiting for Modular to opensource tensor and math so that we can see what can be upstreamed into the standard library and see what modular wants to be there (depending on what they are willing to do with tensor we may fork it and bring our own version over). The things that I am almost certain won't get upstreamed are the linear algebra, optimizers, calculus, and statistics libraries (all of which are notional at the moment). I am a little attached to NuMojo if only for the parity with NumPy (which I hope will eventually replace its C and FORTRAN backend with Mojo), but I am willing to put it up for a community vote on Discord after we gather a list of name suggestions. For anyone interested, we do have our own discord for development numojo though activity had died down during my hiatus. However, I do think that it is worth it to do pretty much everything on that list while we wait. I am open to accepting pull requests and will look into moving to a GitHub organization over the next week or so. |
Beta Was this translation helpful? Give feedback.
-
@MadAlex1997 Sounds good! Milestone 1 for this project is probably making it easy for the average contributor to send small patches and find everything set up for them, such as guidelines, testing framework, and documentation. Milestone 2 is having the basic functionality of any numerical library, such as basic math and statistical functions. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Alex,
I am excited to share some thoughts on the NuMojo Library and start a discussion about it! I put together the following comments to reference how we can improve things to make Mojo coding even more fun and efficient. For now, this is going to be about three Areas:
Code Readability
Documentation within source code and files header needs to be completed: We could start by explaining each function's purpose, parameters, and return values. So far, most of the functions are well known, but documenting all functions is a good practice.
Following Formatting Conventions: Consistent formatting conventions, such as those outlined in PEP 8, are helpful for code readability and consistency across the project.
Code Organization
A well-organized file structure is crucial for maintaining a scalable and maintainable codebase. Ensuring logical separation of modules simplifies navigating and working on different parts of the project since the library is meant to be NumPy and SciPy. Maybe we could have this set up in advance.
Clear API Design [Plan for the project's future]: a clear and intuitive API with consistent naming conventions that simplifies integration and enhances user experience. This could be outlined without implementation. We could follow the best APIs from NumPy and SciPy.
Robust testing: Implementing comprehensive test suites. And connect that to continuous integration and deployment pipeline.
Project Status
Versioning the library to keep track of changes and updates over time.
Moving the project to GitHub Organization: Fore better collaboration, version control, and community engagement.
Checking for an alternative project name chosen by the community (or keeping the current one) through a poll: I saw that you asked for suggestions in Discord, but maybe this can be done formally again. An alternative name might be the Mojo Numerical Analysis (MoNA) Library.
Including Code of Conduct.
Finally, for everyone reading this, please feel free to add and comment on what could advance this project!
Beta Was this translation helpful? Give feedback.
All reactions