Maybe this is too “fringe”, but, I would like to see some level of control over the garbage collector where I can either change dynamically change the bar for when gc happens or disable/enable it explicitly.
What would be the use case? I sometimes need to do “semi-hard” real time stuff (e.g. millisecond level granularity) with GPIO (read and write with protocol dictated time constraints) and a full gc would throw that timing off. Most of the time, impressively, the actual uLisp code isn’t the bottle-neck, but as my code base grows, gc rears its head at inopportune times.
I did a rather clumsy hack in my fork https://github.com/tcoram/ulisp-arm to accomplish this.
Is this request too fringe? (I actually use uLisp for real deploy-able embedded devices and find it more than adequate!)