hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

commit 2cd92f12d91100d15c76622a69f57d6ca0c76419
parent 903cdba271c4d60632b3858be8df3d006483ef22
Author: Drew DeVault <sir@cmpwn.com>
Date:   Wed, 13 Mar 2024 10:49:29 +0100

docs: drop docs which are obsoleted by harelang.org

Diffstat:
Ddocs/bdfl.md | 58----------------------------------------------------------
Ddocs/maintainers.md | 103-------------------------------------------------------------------------------
Ddocs/release.md | 57---------------------------------------------------------
3 files changed, 0 insertions(+), 218 deletions(-)

diff --git a/docs/bdfl.md b/docs/bdfl.md @@ -1,58 +0,0 @@ -# A note from Hare's BDFL - -Hi! My name is Drew DeVault. I am the original author and designer of the Hare -programming language, and, with the mandate of the Hare community, I am the -project's benevolent dictator for life (BDFL). - -The Hare project has grown a lot since I started working on it, and today there -are many talented people who work on the project at all levels, including those -coding in the trenches, in leadership positions, setting cultural norms, and -maintaining various subsystems or co-maintaining the project as a whole. For the -most part, the project runs smoothly thanks to their efforts and does not -require me to tread on too many toes. - -In my role as the BDFL, I aim to offer the project a number of helpful -resources, such as: - -- Overseeing the fiduciary responsibilities of the project -- Setting (and clarifying) the broader vision and direction for the project -- Organizing participants and empowering them to roles for which they are suited -- Planning long-term priorities and design goals -- Mediating conflicts in the community -- Providing the last word when consensus cannot be reached - -I also have the burden of doing the nasty work when necessary: if required I may -exercise my power to remove difficult parties from the community, revoke -permissions of participants if necessary, or put my foot down on a proposal that -does not align with the project vision. - -I am endowed with the last word, but I aim not to use it when it can be avoided. -I am a very busy person, and the project's scope exceeds my ability to manage it -alone. As such, it delights me when the community steps up to take on -responsibilities at every level. I try not to impose my will on the project too -much -- it's better if my role as the BDFL is a tool that the community chooses -to use when necessary. - -If my resources are required to see something through, I have some specific -appeals regarding how community members can best utilize my attention. I cannot -keep up with most of the IRC discussions and a substantial fraction of the -mailing lists, but I will endeavour to participate when my presence is directly -requested. - -If you require simple admin tasks, that only I am able to perform (e.g. spending -money on something, updating harelang.org DNS, managing contributor permissions -on SourceHut, etc), send me an email directly (sir@cmpwn.com) and I'll try to -get it done within a day or two. - -Otherwise, you can get my attention on a discussion by Cc'ing me directly on an -email or mentioning my name (ddevault) on IRC.\* You can also reach out to me -privately via email or IRC if you have something specific to discuss or request. -The latency on such requests may be annoying, but please be patient and I will -strive to answer in the timeliest manner possible. - -\* If you mention me on IRC please include a small summary of what you need in -the same message as my handle, so that I can still grasp the situation if I am -away from IRC for a few hours and the backlog fills up. - -That's all! Thanks for participating in the Hare community, and thanks for your -trust. Have fun out there! diff --git a/docs/maintainers.md b/docs/maintainers.md @@ -1,103 +0,0 @@ -# Maintainer documentation - -Various details of note to maintainers. - -## Change policy - -**Push** - -- Small-to-medium patches within the scope of your maintainership -- Small patches outside the scope of your maintainership -- Patches of any size from third party contributors following code review -- Large patches of your own following code review - -## Caution! - -- API changes (breaking changes automatically make the patch "large") -- Sufficient/up-to-date documentation - -## Recommended mail configuration - -[aerc] is the recommended mail client for Hare maintainers. It has features to -ease the patch workflow and to help other maintainers keep up with your work, -and a suitable configuration makes for a comfy environment to do your code -reviews in. - -[aerc]: https://aerc-mail.org/ - -Specific recommendations follow: - -**~/.config/aerc/aerc.conf** - -``` -[ui] -# Enables the styleset provided in the next code block -styleset-name=hare -``` - -**~/.config/aerc/stylesets/hare** - -Adjust to taste. - -``` -# Highlights emails which modify the sourcehut patch status -msglist*.X-Sourcehut-Patchset-Update,APPLIED.fg = blue -msglist*.X-Sourcehut-Patchset-Update,APPLIED.selected.reverse = true -msglist*.X-Sourcehut-Patchset-Update,NEEDS_REVISION.fg = yellow -msglist*.X-Sourcehut-Patchset-Update,REJECTED.fg = red -``` - -**~/.config/aerc/binds.conf** - -Recommended additional keybindings: - -``` -[messages] -# Reply with standard "Thanks!" message, auto-setting patch status on sourcehut -rt = :unflag<Enter>:reply -a -Tthanks<Enter> -# Same but quotes the email so you can add comments -Rt = :unflag<Enter>:reply -qa -Tquoted_thanks<Enter> - -# Applies the selected patch -ga = :flag<Enter>:pipe -mb git am -3<Enter> - -[view] -# Ditto -ga = :flag<Enter>:pipe -mb git am -3<Enter> - -[compose::review] -# Extra key bindings when reviewing a reply to manually set sourcehut patch -# status headers -V = :header -f X-Sourcehut-Patchset-Update NEEDS_REVISION<Enter> -A = :header -f X-Sourcehut-Patchset-Update APPLIED<Enter> -R = :header -f X-Sourcehut-Patchset-Update REJECTED<Enter> -``` - -**~/.config/aerc/templates/thanks** - -Mail template for thanking contributors for their patch (bound to "rt" -keybinding). Includes details about your last git push and sets the appropriate -patch headers. - -``` -X-Sourcehut-Patchset-Update: APPLIED - -Thanks! - -{{exec "branch=$(git rev-parse --abbrev-ref HEAD); printf 'to %s\n %s..%s %s -> %s\n' $(git remote get-url --push origin) $(git reflog -2 origin/$branch --pretty=format:%h | tail -n1) $(git reflog -1 origin/$branch --pretty=format:%h) $branch $branch" ""}} -``` - -**~/.config/aerc/templates/quoted_thanks** - -Ditto but quotes the original email for comment: - -``` -X-Sourcehut-Patchset-Update: APPLIED - -Thanks! - -{{exec "branch=$(git rev-parse --abbrev-ref HEAD); printf 'to %s\n %s..%s %s -> %s\n' $(git remote get-url --push origin) $(git reflog -2 origin/$branch --pretty=format:%h | tail -n1) $(git reflog -1 origin/$branch --pretty=format:%h) $branch $branch" ""}} - -On {{dateFormat (.OriginalDate | toLocal) "Mon Jan 2, 2006 at 3:04 PM MST"}}, {{(index .OriginalFrom 0).Name}} wrote: -{{wrapText .OriginalText 72 | quote}} -``` diff --git a/docs/release.md b/docs/release.md @@ -1,57 +0,0 @@ -# Hare release policy - -Hare ships quarterly releases as we work towards Hare 1.0. Releases use the -versioning scheme 0.**YY**.**Q**, where YY is the two-digit release year and Q -is the quarter number (from zero); so the release in Q1 2024 is 0.24.0. - -The Hare toolchain's chief dependency is [qbe]. Each Hare version is pinned to a -specific qbe release, which is documented in the release notes corresponding to -that Hare version. - -[qbe]: https://c9x.me/compile/ - -The current release manager is Drew DeVault. - -## Breaking changes - -Breaking changes to the standard library which are included in each release are -documented in the release notes. Authors of such changes are encouraged to -include a detailed summary of the breaking change in their commit message, for -example: - -``` -strings: rename pad functions per convention - -The following functions in strings:: have been renamed: - -* strings::padstart renamed to strings::lpad -* strings::padend renamed to strings::rpad - -This is a breaking change. -``` - -The release manager will collect breaking changes and summarize them in -the release notes for affected versions, providing instructions for affected -users to update their code. If possible, an automated migration procedure will -be prepared on a best-effort basis. - -## Release process - -One or two weeks prior to the start of each financial quarter, the release -manager will prepare a release branch named "v0.**YY**.**Q**" cut from the -latest master branch, and tag 0.YY.Q-rc1 from this branch, notifying hare-dev -with a preliminary changelog. - -Each week following rc1, the release manager will make a judgement call on the -release's quality based on feedback from the community; if the release is not -ready then any additional bugfixes will be cherry-picked from master and rcN+1 -tagged. If the release is determiend to be ready, 0.YY.Q is tagged and the -release notes are posted to hare-announce. - -## Extended library - -The extended library will ship tagged releases which track Hare releases. -However, the extended library does not necessarily change often; in a given -quarter most extended libraries will not have received any patches. As such, new -releases for the extlib are only tagged upon request, or if necessity demands -(such as when updated to address a breaking change).