First public update of #wile #scheme #compiler in a long time. I kept dorking around with what felt like small peripheral changes that didn’t merit an update, but over time it added up… there’s a pile of new stuff there, although not so much in the core of the compiler. Get wile 1.2.10 at https://github.com/uhollerbach/wile
GitHub - uhollerbach/wile: A small simple scheme compiler

A small simple scheme compiler. Contribute to uhollerbach/wile development by creating an account on GitHub.

GitHub
@sigue That’s kinda what I’m aiming at here! #wile is still in a more embryonic state, and also my first compiler project, so it’s probably not as clean as it could be… baby steps!
Now, these are all captive strings, all the same length and all generated inside the library, so the sanity checks are really not crucial; if I can use string-ref-unsafe instead, I can gain, I dunno, 30% performance improvement. Well, I think now I can write string-ref-unsafe in a way that #wile can handle it, instead of having to dive down into pure C and doing it myself. Cool! 🤓
Dang… it’s been a couple of good evenings hacking on #wile #scheme #compiler. The latest bit was adding a way to add little snippets of C directly into what the compiler produces; very much a “here’s plenty of rope to hang yourself with, if you want to… enjoy!”. The reason for this was that in a fairly large regexp I was trying to process with the library I wrote, i found that string-ref was taking an inordinately large fraction of the time, in particular the bounds check.
A most excellent evening of hacking #wile #scheme #compiler! I haven’t posted too much about this for a while, progress has been rocky and slow for a lot of reasons, but I found a bug that had been in there for about forever. Now quines can work, w00t! 😎
Ugh <sob> #wile #scheme #compiler has been quietly dying for a while… life unfortunately has got in the way. Sadly, a divorce has captured most all of my attention and soul energy for a few months. Hopefully I can start returning to scheming relatively soon… gonna try.

I’m semi-pleased to announce that #wile #scheme #compiler 1.2.9 has landed at https://github.com/uhollerbach/wile… unfortunately life got in the way a bit this month. But here it is. This version changes the generated C a little bit to avoid some compilation failures due to incorrect scoping issues in said C code.

Also, because I could, I wrote a small quaternions module, for that slight air of 19th-century decay 😜

I’m pleased to announce #wile #scheme #compiler version 1.2.8 is available at https://github.com/uhollerbach/wile. This version handles (cond-expand) with embedded (defines), has further improvements in error messages, plus other small odds and ends. Still working on further improvements to new sequence handler aka “begin-new”, but the parts that work seem pretty solid.
GitHub - uhollerbach/wile: A small simple scheme compiler

A small simple scheme compiler. Contribute to uhollerbach/wile development by creating an account on GitHub.

GitHub

Wasn’t quite the hacking session I wanted, I was trying to implement a bit of namespace management in #wile #scheme #compiler, and/but it is still generating some errors that I don’t fully understand. But… I was able to improve a number of error messages, and that’s never a bad thing.

Also sharpened some sanity checking, which promptly found a (fortunately trivial) bug in one spot in the runtime library 😱

Another fine hacking evening! A net loss of ten lines of code, plus one small tweak to another line, lets #wile pass all but one test; that one is a long-standing issue which I understand but don’t know how to fix well yet. #wile can’t quite recompile itself with this new code, but it’s getting very close…