On 7/2/2021 4:38 PM, Sean Anderson wrote:
I have not. I'm not sure what changes I've made are compatible with the
vision he has for LIL. He's CC'd on this series, so perhaps he can
comment.

Yeah, sadly several of the changes i've seen in the code are not backwards compatible and backwards compatibility is very important for me (this is also why the callback setup is done through a lil_callback function instead of exposing a struct: adding new callbacks in the future wont break any existing code or application that links to the library dynamically). I might break it before a properly versioned release is made at some point in the (not close) future, but that is usually unavoidable changes to fix big issues (all cases where that happened are mentioned in the site).

In terms of future changes, i do not plan making any *big* changes - and certainly anything i'll make it'll be backwards compatible (especially after a versioned release) but one thing that i need to do is to improve the interpreter's performance, which will affect its internals - two areas i might need to change are how values are represented (everything is a string -and things must always behave like that- but i may need to cache already parsed non-string values) and how the code itself -e.g. in functions- is represented.

Also i'll most likely add more functions to the library to expose and alter internal state (the Free Pascal version of LIL already has some of that), but that shouldn't affect much internally.

Beyond that it will be mainly bugfixes - like a use-after-free case with "reflect this" i just fixed and uploaded :-P

Kostas

Reply via email to