gilch / hissp

It's Python with a Lissp.
https://gitter.im/hissp-lang/community
Apache License 2.0
369 stars 9 forks source link

0.4 release #172

Closed gilch closed 1 year ago

gilch commented 1 year ago

Feels like it's about time again. Improvements since last time #144 are significant enough to warrant a new release.

Hissp has mostly stabilized. I rarely need to touch the .py files in the Hissp package proper. The bundled macros have had some recent volatility, but #154 and the associated wiki page has helped me to select and implement a set balanced between minimalism and utility.

Most of the recent volatility has been in the docs. Rather than adding anything new right now, I want what's already there to be as accurate as possible before the release, which means a lot of proofreading. That gets to be tedious, so it's taking time.

I'm not totally satisfied with how reader macros handle extras, but don't have a better idea right now. The release will have to happen before any deeper changes there. I might want to address some of the parsing quirks #149 though, at least where I have a clear idea of how it should work.

I don't think the next release can be the 1.0, although it feels like that's getting close now. Maybe the one after that. I may need to write some bigger applications in Hissp 0.4 to see where the pain points are. This would, of course, take time. More examples from the community would also be helpful here.

gilch commented 1 year ago

Diataxis has influenced my thinking about writing docs. I'm renaming some things. The tutorial is now the primer. I'm moving a lot of the Whirlwind Tour examples to the API docs where possible. Should be the last quarter or so. That means putting them in the source docstrings, which will have to get longer. The end of the Tour will then refer to those, perhaps using Python's help() builtin. Changing context like that isn't trivial. Parts may have to be rewritten/reformatted. It will take time.

I think at least some of the macro tutorial should be in a "cookbook" section (with the remainder perhaps renamed "macro primer"), along with some ideas from the old FAQ and the wiki, although I wonder if some of that wouldn't be a better fit for the discussions here on GitHub. Discussions are easier to get started, but harder to maintain as the language evolves. Probably outdated entries there will be marked outdated and abandoned rather than fixed. Maybe short ones start out in discussions, and important longer ones get moved to the cookbook.

gilch commented 1 year ago

I feel like I should have released months ago, but the docs were not ready. I think I'm at the feature-freeze point and won't add anything besides fixing bugs before the release. This goes for docs as well, which (hopefully) is about all that's left. I'll scan for and correct errors, but I'm not going to add things or do any major rewrites. I might be able to get it done this weekend, but surprises happen.

gilch commented 1 year ago

Didn't happen, but made good progress on docs. Easily another day or two there, and another one (at least) for final release checks, assuming no surprises.

gilch commented 1 year ago

Oh, we're getting close now. One more parsing quirk popped up. Once I fix that, I should be ready to start on the release branch. That will mainly correct version references, which will not remain on master, although I will cherry-pick any permanent changes if needed. I also remember that deploying to PyPI was a pain. There's just no forgiveness for any missteps, so I have to check everything very, very carefully. Hopefully I took detailed enough notes last time.

gilch commented 1 year ago

OK, I've hit all the milestone tasks but this one, i.e., the release branch and the release itself. Maybe I can get 0.4.0 out tonight.

gilch commented 1 year ago

Released for realsies on PyPI, no takebacks no refunds. Based on directions from #144. No obvious problems. Did test PyPI first and found a broken link in the README.

gilch commented 1 year ago

Also released on GitHub. And I kept the fixes from the RC branch: #235 .

It is done.