Lever 0.8.0 retrospective
It is nearly a year from the last release. During this time...
- Lever got improved JSON encoding/decoding.
- LibUV eventloop integrated to Lever's runtime.
- There are rendering tools that build upon Vulkan, and the C foreign function interface of Lever is improved to support this usecase.
- Online-readable-documentation was created.
- Translator framework was started.
- Oculus+Vulkan integration on Lever is nearly finished.
- Lever received homebrew PNG and TTF decoding libraries.
- It also got a rendering engine for rasterizing text in Vulkan.
- Runtime performance of Lever interpreter bottlenecked for the first few times, and the intepreter was successfully optimized.
During this time it has cleared out what I want Lever to be. It is going to be the dynamically typed language that can become statically typed on-demand.
It will start with GPU shaders that will be translated from Lever's function objects.
With Lever, I am going towards VR programming in a VR environment. There's a challenge that it is not an affordable development strategy to stop a restart a program, because it is simply too jarring to take off the headset for programming. For the same reason the programming tools are integrated into the program that is under the development.
This kind of workflow requires that we think about our programs more as if they were extensions into the operating system itself. Small operating systems themselves. This leads to some design choices that wouldn't possibly happen otherwise. We will need reliable ways to debug, stop and restart the tasks that are currently evaluting within a program.
There is incredible potential for synergy between various pieces of the Lever runtime and libraries. Unfortunately that also means that very many pieces of the language interact with each other in a subtle manner.
It is the time to continue with the VR mode. My plans are to provide a VR-capable, syntax-coloring text-editor and a REPL for Lever. Within the next 14 days.