I haven't written any code for Kittyscript last weekend or this weekend yet.
Last weekend I was doing parsing research that involved starting to reimplement the parser system from Proto-Kittyscript and a similar parser I wrote at my wage job, but I ended up finishing that in the wage job codebase. The reimplementation in my personal codebase didn't even get far enough to replicate the previously existing code. I wanted to see if my parser system is fundamentally capable of handling left recursion with some tweaks. It does work but is slower in performance.
This weekend I was thinking about the Kittyscript compiler's flow, and whether to use a mutable or immutable structure for the compilation context. Advantage of immutable: could be interleaved with the parser for context sensitive parsing, because backtracked parse parts don't destroy the context. Advantage of mutable: Easier to understand how to use callbacks to respond to context changes after the location of the expression (Example: A variable or function is used before its declaration, so it can place a callback that will be invoked once a variable or function with that name is declared further down).
There's a nonzero but small chance I will write some code today still.
#Kittyscript #LangDev
Last weekend I was doing parsing research that involved starting to reimplement the parser system from Proto-Kittyscript and a similar parser I wrote at my wage job, but I ended up finishing that in the wage job codebase. The reimplementation in my personal codebase didn't even get far enough to replicate the previously existing code. I wanted to see if my parser system is fundamentally capable of handling left recursion with some tweaks. It does work but is slower in performance.
This weekend I was thinking about the Kittyscript compiler's flow, and whether to use a mutable or immutable structure for the compilation context. Advantage of immutable: could be interleaved with the parser for context sensitive parsing, because backtracked parse parts don't destroy the context. Advantage of mutable: Easier to understand how to use callbacks to respond to context changes after the location of the expression (Example: A variable or function is used before its declaration, so it can place a callback that will be invoked once a variable or function with that name is declared further down).
There's a nonzero but small chance I will write some code today still.
#Kittyscript #LangDev
