Smalltalk has at that time no equivalent to mathematical libraries like NumPy, SciPy (Python) or SciRuby (Ruby). The goal of the SciSmalltalk project is to develop an open-source library of mathematical for the Smalltalk programming language (MIT Licence).
The development of this project is to be done in Pharo Smalltalk, but the code should be portable to other Smalltalk flavors. Numerous Smalltalk projects provide already some basic functionalities (complex and quaternions extensions, random number generator, fuzzy algorithms, LAPACK linear algebra package, Didier Besset's numerical methods, ...). A first task will be to do an audit of all the existing projects that provide some mathematical stuff and build a Pharo Configuration to load them in a fresh Pharo Smalltalk image. After that, the student help by his/her mentors will decide what are the numeric algorithms to develop in priority.
The student will need to know some basic numeric algorithms usually found in such libraries. Units tests should also be provided.
Benefits to the Student
- The student will help the Smalltalk community in a very concrete way.
- The student will learn to design well-designed code with tests.
Benefits to the Community
Having a package providing more elaborate numeric libraries is really important to develop the use Smalltalk in new domains (robotics, high performance computing, computer vision, bio-computing, ...). The lack of numeric librairies hamper the use of the Smalltalk in a scientific context at the moment. An another goal of this project is to develop a community of people interested by these topic.