Skip to content

alice-adventures/Alice

Repository files navigation

Alice

Alice : Adventures for Learning and Inspiring Coding Excellence

Presentation

Alice is an open source Ada programming language framework designed to help programmers implement and explore different solutions to problems from various sources, including Project Euler, Codingame and Advent of Code (currently, Alice only supports Project Euler). With Alice, you can flex your coding muscles and work on problems that challenge your creativity, logic, and problem-solving skills.

At the heart of Alice is a commitment to coding excellence, and Ada and SPARK are the perfect languages to bring this vision to life. As a high-level programming language designed for safety, reliability, and efficiency, Ada provides a powerful and flexible toolset for programmers to create robust and scalable software solutions. With Ada, you can write clean, concise, and elegant code that is easy to read and maintain, helping to ensure that your programs are error-free and performant. So whether you're a seasoned Ada programmer or new to the language, Alice is the perfect platform to hone your skills and push your limits.

See Alice wiki for more information.

Collaboration

With Alice, you can collaborate in a variety of ways.

Participate

  • Implement new solutions to challenging problems: there are +800 problems in Project Euler!

  • Improve existing algorithms or implement new ones.

  • Use parallelism to explore the search space using multiple tasks.

  • Share and export common functionality as new elements in the Euler Tools library.

  • Create awesome visualizations to problem solutions with a simple interface.

  • Explore algorithm behavior of problem solutions by adding new parameters.

Develop

  • Develop new graphical interfaces using your preferred GUI library: GTK, SDL, SFML or LVGL, to mention some of them.

  • Refactor and improve the Alice framework itself to inspire new concepts towards coding excellence.

  • Start the development and integration of other problem sources. take a look at what's planned for Codigame and Advent of Code.

  • Integrate new sources of problems or challenges, learning sites or references. For example, would make sense to have Rosetta Code somehow integrated in Alice?

Status

Alice is still in the early stages of development, and things are likely to change as we continue to refine and improve the framework. While Alice is still a work in progress, it is already starting to take shape as tool for exploring the challenges of the aforementioned problem sources.


License

MIT (c) 2023 Francesc Rocher