A number of things have changed with regards to the internals. A great deal of time has been spent trying to optimize the engine, resulting in some interesting discoveries.
To increase speed of the engine, I decided to test what would happen if I made certain numbers built-in. Most people don’t need anything more than integer or double. The other types are only for tasks like saving memory (e.g. making bit-flags) or importing data (which will be handled by a different class in Copper anyways). If you want to save memory, generally you don’t use an interpreted language.
That said, what were the results?
Continue reading “Number^Power”
Finally, enough of the engine has been reimplemented such that I was able to perform benchmarking again. The results don’t look good.
Functions are essential to any high level language. Without them, it’s very tedious (and error prone) to do anything. They may be disguised in various ways, being referred to as “sub-routines” or initiated using peculiar keywords like “def” and “defn”, but it’s all the same idea. The difference is often power.